[package] name = "libkernel" version = "0.1.0" edition = "2024" description = "Architecture-independent kernel building blocks for operating systems" license = "MIT" repository = "https://github.com/hexagonal-sun/moss-kernel/" readme = "README.md" keywords = ["kernel", "os", "no-std", "operating-system", "embedded"] categories = ["no-std", "os", "embedded"] [features] default = [] sync = [] alloc = ["sync", "dep:intrusive-collections"] paging = ["alloc", "dep:tock-registers", "dep:paste"] proc = [] fs = ["proc", "sync", "dep:async-trait", "dep:ext4plus"] proc_vm = ["paging", "fs", "dep:object"] kbuf = ["sync", "dep:ringbuf"] all = ["paging", "fs", "proc_vm", "kbuf"] [dependencies] # Always-on dependencies bitflags = { workspace = true } log = { workspace = true } thiserror = { version = "2.0.12", default-features = false } # alloc intrusive-collections = { version = "0.10.0", default-features = false, optional = true } # paging paste = { workspace = true, optional = true } tock-registers = { version = "0.10.1", optional = true } # fs async-trait = { workspace = true, optional = true } ext4plus = { version = "0.1.0-beta.1", optional = true } # proc_vm object = { version = "0.38.0", default-features = false, features = ["core", "elf", "read_core"], optional = true } # kbuf ringbuf = { version = "0.4.8", default-features = false, features = ["alloc"], optional = true } [dev-dependencies] rand = { workspace = true, features = ["default"] } tokio = { version = "1.47.1", features = ["full"] } [lints] workspace = true [package.metadata.docs.rs] all-features = true