xous-core/kernel/Cargo.toml
bunnie 1effeab858 add legacy_int handler to the kernel, handle vexii init case
The "main" product line is affected here in that the UART
init is hosted above the trng init. This should have no impact
on security or boot time, but allows us to more easily debug
TRNG init issues. This is necessary because in the vexii test
version the XADC interface is broken by the slower clocking
and I'm not taking the time to trace down that issue as it
does nothing to further the goal of testing the vex-ii core
in a non-production config.

legacy_int handler allows vex-ii to emulate/behave like the vex-i
in terms of interrupt handling.

eventually this will be replaced with/augmeted by a PLIC.
2025-07-21 17:11:23 +08:00

86 lines
3.2 KiB
TOML

[package]
authors = ["Sean Cross <sean@xobs.io>"]
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.66", 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.66", 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.66", features = ["v2p"] }
critical-section = "1.1.1"
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ci)', 'cfg(baremetal)'] }
[features]
vexii-test = [] # integration test for vexii, not a production configuration
cramium-soc = ["utralib/cramium-soc", "rand_chacha", "raw-trng"]
verilator-only = []
cramium-fpga = ["utralib/cramium-fpga", "rand_chacha"]
board-baosec = ["cramium-hal/kernel-baosec", "memmap-flash", "swap"]
board-baosor = ["cramium-hal/kernel-baosor"]
board-dabao = ["cramium-hal/kernel-dabao"]
hosted-baosec = []
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"]
memmap-flash = []
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"