xous-core/loader/Cargo.toml

151 lines
4.7 KiB
TOML

[package]
name = "loader"
version = "0.1.0"
authors = [
"Sean Cross <sean@xobs.io>",
"Foundation Devices, Inc. <hello@foundationdevices.com>",
]
edition = "2018"
description = "Initial kernel loader for Xous"
[dependencies]
xous = "0.9.66"
ed25519-dalek-loader = { path = "ed25519-dalek-loader", default-features = false, optional = true }
curve25519-dalek-loader = { path = "curve25519-dalek-loader", default-features = false, features = [
"u32e_backend",
], optional = true }
utralib = { version = "0.1.25", optional = true, default-features = false }
armv7 = { git = "https://github.com/Foundation-Devices/armv7.git", branch = "update", optional = true }
atsama5d27 = { git = "https://github.com/Foundation-Devices/atsama5d27.git", branch = "master", optional = true }
sha2-loader = { path = "./sha2-loader", default-features = false, optional = true }
bao1x-hal = { path = "../libs/bao1x-hal", optional = true, default-features = false }
bao1x-api = { path = "../libs/bao1x-api", optional = true, default-features = false }
ux-api = { path = "../libs/ux-api", optional = true, default-features = false }
xous-pl230 = { path = "../libs/xous-pl230", optional = true, features = [
"tests",
"pio",
"bao1x",
"baremetal",
# "dma-mainram", # PL-230 option - this fails on MPW
] }
# xous-pio = { path = "../libs/xous-pio", optional = true, features = [
# "tests",
# "bao1x",
# "baremetal",
# ] }
aes-gcm-siv = { version = "0.11.1", default-features = false, features = [
"aes",
], optional = true }
aes = { path = "../services/aes", default-features = false, optional = true }
crc = { version = "1.8.1", default-features = false }
rand_chacha = { version = "0.3.1", optional = true, default-features = false }
pio-proc = { version = "0.2.2", optional = true }
pio = { version = "0.2.1", optional = true }
vexriscv = { version = "0.5.6", package = "xous-riscv" }
libm = { version = "0.2.8", optional = true }
nalgebra = { version = "0.33", default-features = false, features = [
"libm",
], optional = true }
simple-fatfs = { git = "https://github.com/betrusted-io/simple-fatfs.git", branch = "baosec", optional = true, default-features = false }
linked_list_allocator = { version = "0.10.5", optional = true }
sha2 = { version = "0.10.8", optional = true, default-features = false }
digest = { version = "0.10.7", optional = true }
critical-section = { version = "1.2.0", optional = true }
riscv = { version = "0.14.0", features = ["critical-section-single-hart"] }
[dependencies.ed25519-dalek]
version = "=2.1.0"
optional = true
default-features = false
features = ["rand_core", "digest"]
[dependencies.com_rs]
git = "https://github.com/betrusted-io/com_rs"
branch = "main"
[dev-dependencies]
lazy_static = "1.4.0"
[features]
precursor = [
"utralib/precursor",
"ed25519-dalek-loader/precursor",
"curve25519-dalek-loader/precursor",
"resume",
"secboot",
"sha2-loader",
]
renode = [
"utralib/renode",
"ed25519-dalek-loader/renode",
"curve25519-dalek-loader/renode",
"secboot",
"sha2-loader",
]
bao1x = [
"dep:aes",
"aes/bao1x",
"utralib/bao1x",
# "bao1x-hal/debug-print-usb",
"debug-print",
"bao1x-hal",
"bao1x-api",
"rand_chacha",
"sram-margin",
# "boot-delay",
]
board-baosec = [
"bao1x-hal/loader-baosec",
"updates",
"usb",
"simple-fatfs",
"linked_list_allocator",
"ed25519-dalek",
"sha2",
"digest",
"ux-api/loader-baosec",
]
board-baosor = ["bao1x-hal/loader-baosor"]
board-dabao = ["bao1x-hal/loader-dabao", "bao1x-hal/board-dabao", "linked_list_allocator",]
atsama5d27 = ["utralib/atsama5d27", "armv7", "dep:atsama5d27"]
# precursor flags
vexii-test = [] # integration test for vexii, not a production configuration
platform-tests = []
renode-bypass = []
secboot = []
#default = ["debug-print"]
# swap flag
swap = ["dep:aes-gcm-siv"]
# bao1x target flags
board-bringup = []
sh1107-bringup = [] # used to discover FB parameters
sram-margin = []
boot-delay = []
simulation-only = []
verilator-only = []
quantum-timer-test = ["pio", "pio-proc"]
spim-test = []
irq-test = []
usb-test = []
trng-test = []
dump-trng = []
fast-fclk = []
clock-tests = []
reset-debug = []
cam-test = ["nalgebra", "libm", "bao1x-hal/debug-print-usb"]
usb = ["critical-section"]
qr = ["nalgebra", "libm"]
updates = []
bao1x-mpw = ["bao1x-hal/mpw"]
userspace-swap-debug = [] # sets up app UART mapping.
always-update = [] # always go into update mode, for fast dev loops
# general flags
debug-print = []
early-printk = []
resume = [] # suspend/resume pathway code
default = ["usb"]