From 6864447b33d884c623923d92d092b1a141c93e07 Mon Sep 17 00:00:00 2001 From: Mark Poliakov Date: Sun, 28 Jul 2024 12:53:30 +0300 Subject: [PATCH] kernel: update kernel dependencies --- Cargo.lock | 67 ++++++++++------------ kernel/Cargo.toml | 19 +++--- kernel/arch/aarch64/Cargo.toml | 4 +- kernel/arch/interface/src/sync.rs | 30 +++++----- kernel/arch/x86_64/Cargo.toml | 2 +- kernel/driver/block/ahci/Cargo.toml | 6 +- kernel/driver/block/nvme/Cargo.toml | 6 +- kernel/driver/block/nvme/src/lib.rs | 4 +- kernel/driver/bus/pci/Cargo.toml | 4 +- kernel/driver/bus/usb/Cargo.toml | 6 +- kernel/driver/fs/kernel-fs/Cargo.toml | 2 +- kernel/driver/fs/memfs/Cargo.toml | 2 +- kernel/driver/net/core/Cargo.toml | 4 +- kernel/driver/net/loopback/Cargo.toml | 2 +- kernel/driver/usb/xhci/Cargo.toml | 10 ++-- kernel/driver/virtio/core/Cargo.toml | 4 +- kernel/driver/virtio/net/Cargo.toml | 6 +- kernel/lib/device-tree/Cargo.toml | 4 +- kernel/lib/memtables/Cargo.toml | 2 +- kernel/libk/Cargo.toml | 10 ++-- kernel/libk/libk-mm/Cargo.toml | 2 +- kernel/libk/libk-mm/interface/Cargo.toml | 4 +- kernel/libk/libk-util/Cargo.toml | 6 +- kernel/libk/libk-util/src/sync/mod.rs | 3 + kernel/libk/libk-util/src/sync/spinlock.rs | 0 kernel/modules/test_mod/Cargo.lock | 43 ++++++-------- kernel/src/arch/aarch64/gic/gicd.rs | 2 +- kernel/tools/gentables/Cargo.toml | 4 +- 28 files changed, 121 insertions(+), 137 deletions(-) delete mode 100644 kernel/libk/libk-util/src/sync/spinlock.rs diff --git a/Cargo.lock b/Cargo.lock index 88db8d9a..6d221a9b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "9.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac42a04a61c19fc8196dd728022a784baecc5d63d7e256c01ad1b3fbfab26287" dependencies = [ - "tock-registers 0.8.1", + "tock-registers", ] [[package]] @@ -156,13 +156,13 @@ dependencies = [ [[package]] name = "atomic_enum" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6227a8d6fdb862bcb100c4314d0d9579e5cd73fa6df31a2e6f6e1acd3c5f1207" +checksum = "99e1aca718ea7b89985790c94aad72d77533063fe00bc497bb79a7c2dae6a661" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", ] [[package]] @@ -200,9 +200,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bitvec" @@ -234,9 +234,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" dependencies = [ "bytemuck_derive", ] @@ -614,7 +614,7 @@ dependencies = [ name = "gentables" version = "0.1.0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "clap", "elf 0.7.4", @@ -659,7 +659,7 @@ version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", "libgit2-sys", "log", @@ -802,13 +802,13 @@ name = "kernel-arch-aarch64" version = "0.1.0" dependencies = [ "aarch64-cpu", - "bitflags 2.5.0", + "bitflags 2.6.0", "device-api", "kernel-arch-interface", "libk-mm-interface", "memtables", "static_assertions", - "tock-registers 0.8.1", + "tock-registers", "yggdrasil-abi", ] @@ -833,13 +833,13 @@ dependencies = [ name = "kernel-arch-x86_64" version = "0.1.0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "device-api", "kernel-arch-interface", "libk-mm-interface", "memtables", "static_assertions", - "tock-registers 0.8.1", + "tock-registers", "yggdrasil-abi", ] @@ -931,7 +931,7 @@ dependencies = [ name = "libk-mm-interface" version = "0.1.0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "kernel-arch-interface", "yggdrasil-abi", @@ -1018,9 +1018,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "memchr" @@ -1182,7 +1182,7 @@ checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.5.0", + "bitflags 2.6.0", "lazy_static", "num-traits", "rand", @@ -1331,7 +1331,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -1554,12 +1554,6 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "696941a0aee7e276a165a978b37918fd5d22c55c3d6bda197813070ca9c0f21c" -[[package]] -name = "tock-registers" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b9e2fdb3a1e862c0661768b7ed25390811df1947a8acbfbefe09b47078d93c4" - [[package]] name = "toml" version = "0.8.14" @@ -1937,7 +1931,7 @@ dependencies = [ "log", "memoffset 0.9.1", "static_assertions", - "tock-registers 0.8.1", + "tock-registers", "ygg_driver_pci", "yggdrasil-abi", ] @@ -1992,7 +1986,7 @@ dependencies = [ "libk-util", "log", "static_assertions", - "tock-registers 0.8.1", + "tock-registers", "ygg_driver_pci", "yggdrasil-abi", ] @@ -2002,13 +1996,13 @@ name = "ygg_driver_pci" version = "0.1.0" dependencies = [ "acpi", - "bitflags 2.5.0", + "bitflags 2.6.0", "device-api", "libk-device", "libk-mm", "libk-util", "log", - "tock-registers 0.8.1", + "tock-registers", "yggdrasil-abi", ] @@ -2039,7 +2033,7 @@ dependencies = [ "libk-mm", "libk-util", "log", - "tock-registers 0.9.0", + "tock-registers", "xhci", "ygg_driver_pci", "ygg_driver_usb", @@ -2050,11 +2044,11 @@ dependencies = [ name = "ygg_driver_virtio_core" version = "0.1.0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "device-api", "libk-mm", "log", - "tock-registers 0.8.1", + "tock-registers", "ygg_driver_pci", "yggdrasil-abi", ] @@ -2063,13 +2057,13 @@ dependencies = [ name = "ygg_driver_virtio_net" version = "0.1.0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "device-api", "libk-mm", "libk-util", "log", - "tock-registers 0.8.1", + "tock-registers", "ygg_driver_net_core", "ygg_driver_pci", "ygg_driver_virtio_core", @@ -2101,7 +2095,7 @@ dependencies = [ "acpi-system", "aml", "atomic_enum", - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "crossbeam-queue", "device-api", @@ -2122,9 +2116,8 @@ dependencies = [ "memfs", "memtables", "prettyplease", - "spinning_top", "static_assertions", - "tock-registers 0.8.1", + "tock-registers", "vmalloc", "yboot-proto", "ygg_driver_ahci", diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml index 410b64b0..2277479c 100644 --- a/kernel/Cargo.toml +++ b/kernel/Cargo.toml @@ -35,16 +35,15 @@ ygg_driver_input = { path = "driver/input" } kernel-fs = { path = "driver/fs/kernel-fs" } memfs = { path = "driver/fs/memfs" } -atomic_enum = "0.2.0" -bitflags = "2.3.3" -spinning_top = "0.2.5" +atomic_enum = "0.3.0" +bitflags = "2.6.0" static_assertions = "1.1.0" tock-registers = "0.8.1" -git-version = "0.3.5" -log = "0.4.20" -futures-util = { version = "0.3.28", default-features = false, features = ["alloc", "async-await"] } -crossbeam-queue = { version = "0.3.8", default-features = false, features = ["alloc"] } -bytemuck = { version = "1.14.0", features = ["derive"] } +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"] } [dependencies.elf] version = "0.7.2" @@ -53,7 +52,7 @@ default-features = false features = ["no_std_stream"] [target.'cfg(target_arch = "aarch64")'.dependencies] -aarch64-cpu = "9.3.1" +aarch64-cpu = "9.4.0" device-tree = { path = "lib/device-tree" } kernel-arch-aarch64 = { path = "arch/aarch64" } @@ -71,7 +70,7 @@ abi-generator = { path = "../tool/abi-generator" } # To make rust-analyzer recognize those [dev-dependencies] -aarch64-cpu = "9.3.1" +aarch64-cpu = "9.4.0" device-tree = { path = "lib/device-tree" } kernel-arch-aarch64 = { path = "arch/aarch64" } diff --git a/kernel/arch/aarch64/Cargo.toml b/kernel/arch/aarch64/Cargo.toml index 207413a8..afe3d595 100644 --- a/kernel/arch/aarch64/Cargo.toml +++ b/kernel/arch/aarch64/Cargo.toml @@ -10,7 +10,7 @@ libk-mm-interface = { path = "../../libk/libk-mm/interface" } memtables = { path = "../../lib/memtables" } device-api = { path = "../../lib/device-api", features = ["derive"] } -bitflags = "2.3.3" +bitflags = "2.6.0" static_assertions = "1.1.0" -aarch64-cpu = "9.3.1" +aarch64-cpu = "9.4.0" tock-registers = "0.8.1" diff --git a/kernel/arch/interface/src/sync.rs b/kernel/arch/interface/src/sync.rs index 940aa375..a1f6bbae 100644 --- a/kernel/arch/interface/src/sync.rs +++ b/kernel/arch/interface/src/sync.rs @@ -8,33 +8,33 @@ use core::{ use crate::{guard::IrqGuard, Architecture}; -struct SpinlockInner { +pub struct Spinlock { value: UnsafeCell, state: AtomicBool, _pd: PhantomData, } -struct SpinlockInnerGuard<'a, A: Architecture, T> { - lock: &'a SpinlockInner, +pub struct SpinlockGuard<'a, A: Architecture, T> { + lock: &'a Spinlock, } /// Spinlock implementation which prevents interrupts to avoid deadlocks when an interrupt handler /// tries to acquire a lock taken before the IRQ fired. pub struct IrqSafeSpinlock { - inner: SpinlockInner, + inner: Spinlock, } /// Token type allowing safe access to the underlying data of the [IrqSafeSpinlock]. Resumes normal /// IRQ operation (if enabled before acquiring) when the lifetime is over. pub struct IrqSafeSpinlockGuard<'a, A: Architecture, T> { // Must come first to ensure the lock is dropped first and only then IRQs are re-enabled - inner: SpinlockInnerGuard<'a, A, T>, + inner: SpinlockGuard<'a, A, T>, _irq: IrqGuard, } // Spinlock impls -impl SpinlockInner { - const fn new(value: T) -> Self { +impl Spinlock { + pub const fn new(value: T) -> Self { Self { value: UnsafeCell::new(value), state: AtomicBool::new(false), @@ -42,7 +42,7 @@ impl SpinlockInner { } } - fn lock(&self) -> SpinlockInnerGuard { + pub fn lock(&self) -> SpinlockGuard { // Loop until the lock can be acquired // if LOCK_HACK.load(Ordering::Acquire) { // return SpinlockInnerGuard { lock: self }; @@ -55,11 +55,11 @@ impl SpinlockInner { core::hint::spin_loop(); } - SpinlockInnerGuard { lock: self } + SpinlockGuard { lock: self } } } -impl<'a, A: Architecture, T> Deref for SpinlockInnerGuard<'a, A, T> { +impl<'a, A: Architecture, T> Deref for SpinlockGuard<'a, A, T> { type Target = T; fn deref(&self) -> &Self::Target { @@ -67,13 +67,13 @@ impl<'a, A: Architecture, T> Deref for SpinlockInnerGuard<'a, A, T> { } } -impl<'a, A: Architecture, T> DerefMut for SpinlockInnerGuard<'a, A, T> { +impl<'a, A: Architecture, T> DerefMut for SpinlockGuard<'a, A, T> { fn deref_mut(&mut self) -> &mut Self::Target { unsafe { &mut *self.lock.value.get() } } } -impl<'a, A: Architecture, T> Drop for SpinlockInnerGuard<'a, A, T> { +impl<'a, A: Architecture, T> Drop for SpinlockGuard<'a, A, T> { fn drop(&mut self) { // if !LOCK_HACK.load(Ordering::Acquire) { self.lock @@ -84,15 +84,15 @@ impl<'a, A: Architecture, T> Drop for SpinlockInnerGuard<'a, A, T> { } } -unsafe impl Sync for SpinlockInner {} -unsafe impl Send for SpinlockInner {} +unsafe impl Sync for Spinlock {} +unsafe impl Send for Spinlock {} // IrqSafeSpinlock impls impl IrqSafeSpinlock { /// Wraps the value in a spinlock primitive pub const fn new(value: T) -> Self { Self { - inner: SpinlockInner::new(value), + inner: Spinlock::new(value), } } diff --git a/kernel/arch/x86_64/Cargo.toml b/kernel/arch/x86_64/Cargo.toml index 725a8a5c..e5ec355a 100644 --- a/kernel/arch/x86_64/Cargo.toml +++ b/kernel/arch/x86_64/Cargo.toml @@ -10,6 +10,6 @@ libk-mm-interface = { path = "../../libk/libk-mm/interface" } memtables = { path = "../../lib/memtables" } device-api = { path = "../../lib/device-api", features = ["derive"] } -bitflags = "2.3.3" +bitflags = "2.6.0" static_assertions = "1.1.0" tock-registers = "0.8.1" diff --git a/kernel/driver/block/ahci/Cargo.toml b/kernel/driver/block/ahci/Cargo.toml index 282653a8..5022c6b1 100644 --- a/kernel/driver/block/ahci/Cargo.toml +++ b/kernel/driver/block/ahci/Cargo.toml @@ -14,9 +14,9 @@ device-api = { path = "../../../lib/device-api", features = ["derive"] } ygg_driver_pci = { path = "../../bus/pci" } kernel-fs = { path = "../../fs/kernel-fs" } -log = "0.4.20" -futures-util = { version = "0.3.28", default-features = false, features = ["alloc", "async-await"] } +log = "0.4.22" +futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await"] } static_assertions = "1.1.0" tock-registers = "0.8.1" -bytemuck = { version = "1.14.0", features = ["derive"] } +bytemuck = { version = "1.16.1", features = ["derive"] } memoffset = "0.9.0" diff --git a/kernel/driver/block/nvme/Cargo.toml b/kernel/driver/block/nvme/Cargo.toml index 49a7b968..4b8d533b 100644 --- a/kernel/driver/block/nvme/Cargo.toml +++ b/kernel/driver/block/nvme/Cargo.toml @@ -14,8 +14,8 @@ device-api = { path = "../../../lib/device-api", features = ["derive"] } ygg_driver_pci = { path = "../../bus/pci" } kernel-fs = { path = "../../fs/kernel-fs" } -log = "0.4.20" -futures-util = { version = "0.3.28", default-features = false, features = ["alloc", "async-await"] } +log = "0.4.22" +futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await"] } static_assertions = "1.1.0" tock-registers = "0.8.1" -bytemuck = { version = "1.14.0", features = ["derive"] } +bytemuck = { version = "1.16.1", features = ["derive"] } diff --git a/kernel/driver/block/nvme/src/lib.rs b/kernel/driver/block/nvme/src/lib.rs index c9f004a1..58f55029 100644 --- a/kernel/driver/block/nvme/src/lib.rs +++ b/kernel/driver/block/nvme/src/lib.rs @@ -338,7 +338,7 @@ impl Device for NvmeController { let timeout = Duration::from_millis(regs.CAP.read(CAP::TO) * 500); log::debug!("Worst-case timeout: {:?}", timeout); - while regs.CSTS.matches_any(CSTS::RDY::SET) { + while regs.CSTS.matches_all(CSTS::RDY::SET) { core::hint::spin_loop(); } @@ -389,7 +389,7 @@ impl Device for NvmeController { core::hint::spin_loop(); } - if regs.CSTS.matches_any(CSTS::CFS::SET) { + if regs.CSTS.matches_all(CSTS::CFS::SET) { todo!("CFS set after reset!"); } diff --git a/kernel/driver/bus/pci/Cargo.toml b/kernel/driver/bus/pci/Cargo.toml index 06860848..db142185 100644 --- a/kernel/driver/bus/pci/Cargo.toml +++ b/kernel/driver/bus/pci/Cargo.toml @@ -11,8 +11,8 @@ libk-mm = { path = "../../../libk/libk-mm" } libk-device = { path = "../../../libk/libk-device" } libk-util = { path = "../../../libk/libk-util" } -log = "0.4.20" -bitflags = "2.3.3" +log = "0.4.22" +bitflags = "2.6.0" tock-registers = "0.8.1" [target.'cfg(target_arch = "x86_64")'.dependencies] diff --git a/kernel/driver/bus/usb/Cargo.toml b/kernel/driver/bus/usb/Cargo.toml index b3f27592..47adad82 100644 --- a/kernel/driver/bus/usb/Cargo.toml +++ b/kernel/driver/bus/usb/Cargo.toml @@ -13,6 +13,6 @@ libk-util = { path = "../../../libk/libk-util" } libk-mm = { path = "../../../libk/libk-mm" } libk = { path = "../../../libk" } -log = "0.4.20" -bytemuck = { version = "1.14.0", features = ["derive"] } -futures-util = { version = "0.3.28", default-features = false, features = ["alloc", "async-await"] } +log = "0.4.22" +bytemuck = { version = "1.16.1", features = ["derive"] } +futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await"] } diff --git a/kernel/driver/fs/kernel-fs/Cargo.toml b/kernel/driver/fs/kernel-fs/Cargo.toml index 9f2bd131..5764309e 100644 --- a/kernel/driver/fs/kernel-fs/Cargo.toml +++ b/kernel/driver/fs/kernel-fs/Cargo.toml @@ -9,4 +9,4 @@ yggdrasil-abi = { path = "../../../../lib/abi" } libk-util = { path = "../../../libk/libk-util" } libk = { path = "../../../libk" } -log = "0.4.20" +log = "0.4.22" diff --git a/kernel/driver/fs/memfs/Cargo.toml b/kernel/driver/fs/memfs/Cargo.toml index 138e1fe3..ebfec781 100644 --- a/kernel/driver/fs/memfs/Cargo.toml +++ b/kernel/driver/fs/memfs/Cargo.toml @@ -10,7 +10,7 @@ libk-util = { path = "../../../libk/libk-util" } libk = { path = "../../../libk" } static_assertions = "1.1.0" -log = "0.4.20" +log = "0.4.22" [features] default = [] diff --git a/kernel/driver/net/core/Cargo.toml b/kernel/driver/net/core/Cargo.toml index 2a66175a..88bb811c 100644 --- a/kernel/driver/net/core/Cargo.toml +++ b/kernel/driver/net/core/Cargo.toml @@ -12,7 +12,7 @@ libk = { path = "../../../libk" } kernel-fs = { path = "../../fs/kernel-fs" } -log = "0.4.20" -bytemuck = { version = "1.14.0", features = ["derive"] } +log = "0.4.22" +bytemuck = { version = "1.16.1", features = ["derive"] } serde_json = { version = "1.0.111", default-features = false, features = ["alloc"] } serde = { version = "1.0.193", features = ["derive"], default-features = false } diff --git a/kernel/driver/net/loopback/Cargo.toml b/kernel/driver/net/loopback/Cargo.toml index eeb5d4f7..57a1c927 100644 --- a/kernel/driver/net/loopback/Cargo.toml +++ b/kernel/driver/net/loopback/Cargo.toml @@ -10,4 +10,4 @@ libk-mm = { path = "../../../libk/libk-mm" } ygg_driver_net_core = { path = "../../net/core" } -bytemuck = { version = "1.14.0", features = ["derive"] } +bytemuck = { version = "1.16.1", features = ["derive"] } diff --git a/kernel/driver/usb/xhci/Cargo.toml b/kernel/driver/usb/xhci/Cargo.toml index 73174b86..9dd43ebb 100644 --- a/kernel/driver/usb/xhci/Cargo.toml +++ b/kernel/driver/usb/xhci/Cargo.toml @@ -16,8 +16,8 @@ libk = { path = "../../../libk" } xhci_lib = { git = "https://github.com/rust-osdev/xhci.git", package = "xhci" } -atomic_enum = "0.2.0" -log = "0.4.20" -tock-registers = "0.9.0" -bytemuck = { version = "1.14.0", features = ["derive"] } -futures-util = { version = "0.3.28", default-features = false, features = ["alloc", "async-await"] } +atomic_enum = "0.3.0" +log = "0.4.22" +tock-registers = "0.8.1" +bytemuck = { version = "1.16.1", features = ["derive"] } +futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await"] } diff --git a/kernel/driver/virtio/core/Cargo.toml b/kernel/driver/virtio/core/Cargo.toml index bcc26ef0..8812a5f2 100644 --- a/kernel/driver/virtio/core/Cargo.toml +++ b/kernel/driver/virtio/core/Cargo.toml @@ -10,8 +10,8 @@ device-api = { path = "../../../lib/device-api", features = ["derive"] } ygg_driver_pci = { path = "../../bus/pci", optional = true } -log = "0.4.20" -bitflags = "2.4.2" +log = "0.4.22" +bitflags = "2.6.0" tock-registers = "0.8.1" [features] diff --git a/kernel/driver/virtio/net/Cargo.toml b/kernel/driver/virtio/net/Cargo.toml index a6ef8a38..f1253dba 100644 --- a/kernel/driver/virtio/net/Cargo.toml +++ b/kernel/driver/virtio/net/Cargo.toml @@ -13,10 +13,10 @@ ygg_driver_virtio_core = { path = "../core" } ygg_driver_net_core = { path = "../../net/core" } ygg_driver_pci = { path = "../../bus/pci", optional = true } -log = "0.4.20" -bitflags = "2.4.2" +log = "0.4.22" +bitflags = "2.6.0" tock-registers = "0.8.1" -bytemuck = { version = "1.14.0", features = ["derive"] } +bytemuck = { version = "1.16.1", features = ["derive"] } [features] default = [] diff --git a/kernel/lib/device-tree/Cargo.toml b/kernel/lib/device-tree/Cargo.toml index d94e37d0..f62c1576 100644 --- a/kernel/lib/device-tree/Cargo.toml +++ b/kernel/lib/device-tree/Cargo.toml @@ -10,5 +10,5 @@ yggdrasil-abi = { path = "../../../lib/abi" } device-api = { path = "../device-api", features = ["derive"] } libk-mm = { path = "../../libk/libk-mm" } -fdt-rs = { version = "0.4.3", default-features = false } -log = "0.4.20" +fdt-rs = { version = "0.4.5", default-features = false } +log = "0.4.22" diff --git a/kernel/lib/memtables/Cargo.toml b/kernel/lib/memtables/Cargo.toml index 061db54a..d577e89d 100644 --- a/kernel/lib/memtables/Cargo.toml +++ b/kernel/lib/memtables/Cargo.toml @@ -7,7 +7,7 @@ authors = ["Mark Poliakov "] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bytemuck = { version = "1.14.0", features = ["derive"] } +bytemuck = { version = "1.16.1", features = ["derive"] } [features] default = [] diff --git a/kernel/libk/Cargo.toml b/kernel/libk/Cargo.toml index b9488156..2ac4cde3 100644 --- a/kernel/libk/Cargo.toml +++ b/kernel/libk/Cargo.toml @@ -20,14 +20,14 @@ yggdrasil-abi = { path = "../../lib/abi", features = ["alloc", "serde"] } device-api = { path = "../lib/device-api", features = ["derive"] } cfg-if = "1.0.0" -log = "0.4.20" -atomic_enum = "0.2.0" -futures-util = { version = "0.3.28", default-features = false, features = ["alloc", "async-await"] } -crossbeam-queue = { version = "0.3.8", default-features = false, features = ["alloc"] } +log = "0.4.22" +atomic_enum = "0.3.0" +futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await"] } +crossbeam-queue = { version = "0.3.11", default-features = false, features = ["alloc"] } serde_json = { version = "1.0.111", default-features = false, features = ["alloc"] } serde = { version = "1.0.193", features = ["derive"], default-features = false } -bytemuck = { version = "1.14.0", features = ["derive"] } +bytemuck = { version = "1.16.1", features = ["derive"] } [dependencies.elf] version = "0.7.2" diff --git a/kernel/libk/libk-mm/Cargo.toml b/kernel/libk/libk-mm/Cargo.toml index f390b0ba..0fe12ae9 100644 --- a/kernel/libk/libk-mm/Cargo.toml +++ b/kernel/libk/libk-mm/Cargo.toml @@ -14,4 +14,4 @@ vmalloc = { path = "../../lib/vmalloc" } libyalloc = { path = "../../../lib/libyalloc", default-features = false, features = ["dep-of-kernel"] } -log = "0.4.20" +log = "0.4.22" diff --git a/kernel/libk/libk-mm/interface/Cargo.toml b/kernel/libk/libk-mm/interface/Cargo.toml index 04b52bc2..a39795b8 100644 --- a/kernel/libk/libk-mm/interface/Cargo.toml +++ b/kernel/libk/libk-mm/interface/Cargo.toml @@ -10,5 +10,5 @@ yggdrasil-abi = { path = "../../../../lib/abi" } kernel-arch-interface = { path = "../../../arch/interface" } -bitflags = "2.3.3" -bytemuck = { version = "1.14.0", features = ["derive"] } +bitflags = "2.6.0" +bytemuck = { version = "1.16.1", features = ["derive"] } diff --git a/kernel/libk/libk-util/Cargo.toml b/kernel/libk/libk-util/Cargo.toml index 53a4049c..32eced9c 100644 --- a/kernel/libk/libk-util/Cargo.toml +++ b/kernel/libk/libk-util/Cargo.toml @@ -9,7 +9,7 @@ edition = "2021" yggdrasil-abi = { path = "../../../lib/abi" } kernel-arch = { path = "../../arch" } -log = "0.4.20" -crossbeam-queue = { version = "0.3.8", default-features = false, features = ["alloc"] } -futures-util = { version = "0.3.28", default-features = false, features = ["alloc", "async-await"] } +log = "0.4.22" +crossbeam-queue = { version = "0.3.11", default-features = false, features = ["alloc"] } +futures-util = { version = "0.3.30", default-features = false, features = ["alloc", "async-await"] } ahash = { version = "0.8.11", default-features = false, features = ["no-rng"] } diff --git a/kernel/libk/libk-util/src/sync/mod.rs b/kernel/libk/libk-util/src/sync/mod.rs index 830dbe62..5068aa51 100644 --- a/kernel/libk/libk-util/src/sync/mod.rs +++ b/kernel/libk/libk-util/src/sync/mod.rs @@ -12,6 +12,9 @@ pub type IrqSafeSpinlockGuard<'a, T> = kernel_arch::sync::IrqSafeSpinlockGuard<'a, ArchitectureImpl, T>; pub type IrqGuard = kernel_arch::guard::IrqGuard; +pub type Spinlock = kernel_arch::sync::Spinlock; +pub type SpinlockGuard<'a, T> = kernel_arch::sync::SpinlockGuard<'a, ArchitectureImpl, T>; + static LOCK_HACK: AtomicBool = AtomicBool::new(false); pub trait LockMethod<'q>: Sync { diff --git a/kernel/libk/libk-util/src/sync/spinlock.rs b/kernel/libk/libk-util/src/sync/spinlock.rs deleted file mode 100644 index e69de29b..00000000 diff --git a/kernel/modules/test_mod/Cargo.lock b/kernel/modules/test_mod/Cargo.lock index 365772e7..00d183c6 100644 --- a/kernel/modules/test_mod/Cargo.lock +++ b/kernel/modules/test_mod/Cargo.lock @@ -17,7 +17,7 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn", "thiserror", ] @@ -39,20 +39,20 @@ dependencies = [ [[package]] name = "atomic_enum" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6227a8d6fdb862bcb100c4314d0d9579e5cd73fa6df31a2e6f6e1acd3c5f1207" +checksum = "99e1aca718ea7b89985790c94aad72d77533063fe00bc497bb79a7c2dae6a661" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "btree_monstrousity" @@ -66,9 +66,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" dependencies = [ "bytemuck_derive", ] @@ -81,7 +81,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn", ] [[package]] @@ -125,7 +125,7 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn", ] [[package]] @@ -338,9 +338,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "memtables" @@ -378,7 +378,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 2.0.53", + "syn", ] [[package]] @@ -428,7 +428,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn", ] [[package]] @@ -448,17 +448,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.53" @@ -495,7 +484,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn", ] [[package]] @@ -562,5 +551,5 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn", ] diff --git a/kernel/src/arch/aarch64/gic/gicd.rs b/kernel/src/arch/aarch64/gic/gicd.rs index 94d20246..1eb9dcb1 100644 --- a/kernel/src/arch/aarch64/gic/gicd.rs +++ b/kernel/src/arch/aarch64/gic/gicd.rs @@ -1,7 +1,7 @@ //! ARM GICv2 Distributor registers use device_api::interrupt::{IpiDeliveryTarget, IrqLevel, IrqOptions, IrqTrigger}; use libk_mm::device::DeviceMemoryIo; -use spinning_top::Spinlock; +use libk_util::sync::Spinlock; use tock_registers::{ interfaces::{ReadWriteable, Readable, Writeable}, register_bitfields, register_structs, diff --git a/kernel/tools/gentables/Cargo.toml b/kernel/tools/gentables/Cargo.toml index 6598260b..8238d9b9 100644 --- a/kernel/tools/gentables/Cargo.toml +++ b/kernel/tools/gentables/Cargo.toml @@ -9,8 +9,8 @@ authors = ["Mark Poliakov "] [dependencies] memtables = { path = "../../lib/memtables", features = ["all"] } -bytemuck = "1.14.0" +bytemuck = "1.16.1" elf = "0.7.2" thiserror = "1.0.48" clap = { version = "4.4.2", features = ["derive"] } -bitflags = "2.4.0" +bitflags = "2.6.0"