[package] authors = ["Sean Cross "] description = "Core kernel for Xous, including task switching and memory management" license = "MIT OR Apache-2.0" edition = "2018" name = "xous-kernel" version = "0.9.38" resolver = "2" # Dependency versions enforced by Cargo.lock. [dependencies] bitflags = "1.2.1" stats_alloc = { version = "0.1.8", optional = true } xous-kernel = { package = "xous", version = "0.9.64", features = [ "forget-memory-messages", ] } utralib = { version = "0.1.25", optional = true, default-features = false } rand_chacha = { version = "0.3.1", optional = true, default-features = false } cramium-hal = { path = "../libs/cramium-hal", optional = true, default-features = false } loader = { path = "../loader", optional = true, features = ["swap"] } [target.'cfg(any(windows,unix))'.dev-dependencies] xous-kernel = { package = "xous", version = "0.9.64", features = [ "forget-memory-messages", "processes-as-threads", ] } rand = "0.8.5" [target.'cfg(target_arch = "riscv32")'.dependencies] riscv = { version = "0.5.6", package = "xous-riscv" } # source is in "../imports/riscv-0.5.6" gdbstub = { version = "0.6.5", optional = true, default-features = false } gdbstub_arch = { version = "0.2.4", optional = true, default-features = false } [target.'cfg(target_arch = "arm")'.dependencies] armv7 = { git = "https://github.com/Foundation-Devices/armv7.git", branch = "update", features = [ "critical-section", ] } # FIXME: bring atsama5d27 target up to date so utralib dependency does not conflict # atsama5d27 = { git = "https://github.com/Foundation-Devices/atsama5d27.git", branch = "master" } xous-kernel = { package = "xous", version = "0.9.64", features = ["v2p"] } critical-section = "1.1.1" [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ci)', 'cfg(baremetal)'] } [features] cramium-soc = ["utralib/cramium-soc", "cramium-hal", "rand_chacha", "raw-trng"] verilator-only = ["cramium-hal/verilator-only"] cramium-fpga = ["utralib/cramium-fpga"] board-baosec = ["cramium-hal/board-baosec"] board-baosor = ["cramium-hal/board-baosor"] board-dabao = ["cramium-hal/board-dabao"] atsama5d27 = ["utralib/atsama5d27"] precursor = ["utralib/precursor"] hosted = ["utralib/hosted"] renode = ["utralib/renode"] debug-print = [] gdb-stub = ["gdbstub", "gdbstub_arch"] print-panics = [] dump-kernel-pages = [] # include kernel pages in panic dumps report-memory = ["stats_alloc"] wrap-print = [] big-heap = [] # Cause heaps to start at 12 MM instead of 512 kB v2p = ["xous-kernel/v2p"] swap = ["xous-kernel/swap", "loader/swap"] debug-swap = [] debug-swap-verbose = [] raw-trng = ["xous-kernel/raw-trng"] # patches for simulation targets ONLY. Applying these flags will result in totally broken security. hwsim = [] # default = ["print-panics", "debug-print", "wrap-print"] default = ["print-panics"] [target.'cfg(any(windows, unix))'.dependencies] crossbeam-channel = "0.5" hex = "0.4" lazy_static = "1.4" rand = "0.8.5" rand_chacha = "0.3.1"