[package] name = "yggdrasil-kernel" version = "0.1.0" edition = "2021" build = "build.rs" authors = ["Mark Poliakov "] [dependencies] abi-lib.workspace = true abi-serde.workspace = true yggdrasil-abi.workspace = true kernel-arch-interface.workspace = true libk.workspace = true libk-util.workspace = true libk-mm.workspace = true elf.workspace = true chrono.workspace = true device-api = { workspace = true, features = ["derive"] } device-api-macros.workspace = true memtables.workspace = true vmalloc.workspace = true kernel-arch.workspace = true # Drivers ygg_driver_pci = { path = "driver/bus/pci" } ygg_driver_usb = { path = "driver/bus/usb" } ygg_driver_net_core = { path = "driver/net/core" } ygg_driver_net_loopback = { path = "driver/net/loopback" } ygg_driver_virtio_net = { path = "driver/virtio/net", features = ["pci"] } ygg_driver_virtio_gpu = { path = "driver/virtio/gpu", features = ["pci"] } ygg_driver_ahci = { path = "driver/block/ahci" } ygg_driver_usb_xhci = { path = "driver/usb/xhci" } ygg_driver_input = { path = "driver/input" } memfs = { path = "driver/fs/memfs" } ext2 = { path = "driver/fs/ext2" } log.workspace = true bitflags.workspace = true tock-registers.workspace = true static_assertions.workspace = true bytemuck.workspace = true futures-util.workspace = true crossbeam-queue.workspace = true async-trait.workspace = true git-version = "0.3.9" [target.'cfg(target_arch = "aarch64")'.dependencies] aarch64-cpu.workspace = true device-tree.workspace = true kernel-arch-aarch64.workspace = true [target.'cfg(target_arch = "riscv64")'.dependencies] device-tree.workspace = true kernel-arch-riscv64.workspace = true [target.'cfg(target_arch = "x86_64")'.dependencies] yboot-proto.workspace = true kernel-arch-x86_64.workspace = true kernel-arch-x86.workspace = true ygg_driver_nvme = { path = "driver/block/nvme" } acpi.workspace = true aml.workspace = true acpi-system.workspace = true [target.'cfg(target_arch = "x86")'.dependencies] kernel-arch-i686.workspace = true kernel-arch-x86.workspace = true [build-dependencies] abi-generator.workspace = true prettyplease = "0.2.15" # To make rust-analyzer recognize those [dev-dependencies] aarch64-cpu.workspace = true device-tree.workspace = true kernel-arch-x86_64.workspace = true kernel-arch-i686.workspace = true kernel-arch-x86.workspace = true kernel-arch-aarch64.workspace = true kernel-arch-riscv64.workspace = true [features] default = ["fb_console"] fb_console = [] # TODO replace this with a better configuration mechanism aarch64_board_virt = ["kernel-arch-aarch64/aarch64_board_virt"] aarch64_board_raspi4b = ["kernel-arch-aarch64/aarch64_board_raspi4b"] riscv64_board_virt = ["kernel-arch-riscv64/riscv64_board_virt"] riscv64_board_jh7110 = ["kernel-arch-riscv64/riscv64_board_jh7110"] [lints] workspace = true