[package] name = "kernel" version = "0.3.4" build = "build.rs" edition = "2018" [lib] name = "kernel" path = "src/lib.rs" crate-type = ["staticlib"] [build-dependencies] cc = "1.0.3" rustc-cfg = "0.3.0" [dependencies] bitflags = "1.2.1" bitfield = "0.13.2" linked_list_allocator = "0.9.0" log = "0.4" memoffset = { version = "0.6", features = ["unstable_const"] } redox_syscall = { path = "syscall" } slab_allocator = { path = "slab_allocator", optional = true } # FIXME: There is some undefined behavior probably in the kernel, which forces us to use spin 0.9.0 and not 0.9.2. spin = "=0.9.0" rmm = { path = "rmm", default-features = false } [dependencies.goblin] version = "0.2.1" default-features = false features = ["elf32", "elf64"] [dependencies.rustc-demangle] version = "0.1.16" default-features = false [target.'cfg(target_arch = "aarch64")'.dependencies] byteorder = { version = "1", default-features = false } fdt = { git = "https://gitlab.redox-os.org/thomhuds/fdt.git", default-features = false } paste = "1.0.7" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] raw-cpuid = "10.2.0" x86 = { version = "0.47.0", default-features = false } [features] default = ["acpi", "multi_core", "graphical_debug", "serial_debug"] acpi = [] doc = [] graphical_debug = [] lpss_debug = [] multi_core = ["acpi"] #TODO: remove when threading issues are fixed pti = [] qemu_debug = [] serial_debug = [] system76_ec_debug = [] slab = ["slab_allocator"] # TODO: Either wait for LLVM 12 and use target_feature, or use another system for cpu features x86_fsgsbase = [] [profile.dev] # Kernel doesn't yet work great with debug mode :( opt-level = 3 [profile.release] lto = true