[package] name = "mango-hal" version = "0.2.1" edition = "2021" license = "MIT" description = "Hardware Abstraction Layer for the mango operationg system." repository = "https://gitlab.com/cyloncore/mango" readme = "README.MD" keywords = ["runtime", "kernel", "hal"] categories = ["os"] exclude = ["data"] [features] default = [] x86_64 = ["dep:x86_64", "dep:pic8259", "dep:bootloader"] rpi4 = ["tock-registers"] rpi3 = ["tock-registers"] test_build = ["mango-test"] qemu = ["mango-core/qemu"] [dependencies] volatile = "0.3.0" lazy_static = { version = "1.0", features = ["spin_no_std"]} spin = "0.9.8" uart_16550 = "0.3.1" linked_list_allocator = "0.10.5" conquer-once = { version = "0.4.0", default-features = false } crossbeam-queue = { version = "0.3.11", default-features = false, features = ["alloc"] } futures-util = { version = "0.3.30", default-features = false, features = ["alloc"] } # x86 dependencies bootloader = { version = "0.9", features = ["map_physical_memory"], optional = true } pic8259 = { version = "0.11.0", optional = true } x86_64 = { version = "0.15.1", optional = true } mango-core = { path = "../mango_core", version = "0.2.1" } mango-test = { path = "../mango_test", version = "0.2.1", optional = true } tock-registers = { version = "0.8.x", default-features = false, features = [ "register_types", ], "optional" = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] aarch64-cpu = { version = "9.x.x" } mango_aarch64 = { path = "../mango_aarch64", version = "0.2.1" } [package.metadata.bootimage] test-args = [ "-device", "isa-debug-exit,iobase=0xf4,iosize=0x04", "-serial", "stdio", "-display", "none" ] test-success-exit-code = 33 test-timeout = 300 # (in seconds)