[package] name = "yggdrasil-kernel" version = "0.1.0" edition = "2021" build = "build.rs" authors = ["Mark Poliakov "] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] abi-lib = { path = "../lib/abi-lib" } yggdrasil-abi = { path = "../lib/abi" } device-api = { path = "lib/device-api", features = ["derive"] } libk = { path = "libk" } libk-util = { path = "libk/libk-util" } libk-mm = { path = "libk/libk-mm" } libk-device = { path = "libk/libk-device" } memtables = { path = "lib/memtables" } vmalloc = { path = "lib/vmalloc" } device-api-macros = { path = "lib/device-api/macros" } kernel-arch = { path = "arch" } # 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_ahci = { path = "driver/block/ahci" } ygg_driver_usb_xhci = { path = "driver/usb/xhci" } ygg_driver_input = { path = "driver/input" } kernel-fs = { path = "driver/fs/kernel-fs" } memfs = { path = "driver/fs/memfs" } ext2 = { path = "driver/fs/ext2" } atomic_enum = "0.3.0" bitflags = "2.6.0" static_assertions = "1.1.0" tock-registers = "0.8.1" git-version = "0.3.9" log = "0.4.22" futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await"] } crossbeam-queue = { version = "0.3.11", default-features = false, features = ["alloc"] } bytemuck = { version = "1.16.1", features = ["derive"] } async-trait = "0.1.81" [dependencies.elf] version = "0.7.2" git = "https://git.alnyan.me/yggdrasil/yggdrasil-elf.git" default-features = false features = ["no_std_stream"] [target.'cfg(target_arch = "aarch64")'.dependencies] aarch64-cpu = "9.4.0" device-tree = { path = "lib/device-tree" } kernel-arch-aarch64 = { path = "arch/aarch64" } [target.'cfg(target_arch = "x86_64")'.dependencies] yboot-proto = { path = "../boot/yboot-proto" } aml = { git = "https://github.com/alnyan/acpi.git", branch = "acpi-system" } acpi_lib = { git = "https://github.com/alnyan/acpi.git", package = "acpi", branch = "acpi-system" } acpi-system = { git = "https://github.com/alnyan/acpi-system.git" } ygg_driver_nvme = { path = "driver/block/nvme" } kernel-arch-x86_64 = { path = "arch/x86_64" } [target.'cfg(target_arch = "x86")'.dependencies] kernel-arch-i686 = { path = "arch/i686" } [build-dependencies] prettyplease = "0.2.15" abi-generator = { path = "../tool/abi-generator" } # To make rust-analyzer recognize those [dev-dependencies] aarch64-cpu = "9.4.0" device-tree = { path = "lib/device-tree" } kernel-arch-aarch64 = { path = "arch/aarch64" } kernel-arch-i686 = { path = "arch/i686" } [features] default = ["fb_console"] fb_console = [] [lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(rust_analyzer)'] }