diff --git a/Cargo.lock b/Cargo.lock index c487725..509889e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,9 +72,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.13.0" +version = "2.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" +checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" [[package]] name = "bitstruct" @@ -101,7 +101,7 @@ name = "bldb" version = "0.1.0" dependencies = [ "bit_field", - "bitflags 2.13.0", + "bitflags 2.13.1", "bitstruct", "cpio_reader", "goblin", @@ -109,7 +109,7 @@ dependencies = [ "miniz_oxide", "seq-macro", "sha2", - "spin 0.12.0", + "spin 0.12.2", "static_assertions", "x86", "xmodem", @@ -139,9 +139,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "clap" -version = "4.6.1" +version = "4.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" +checksum = "dd059f9da4f5c36b3787f65d38ccaab1cc315f07b01f89abc8359ee6a8205011" dependencies = [ "clap_builder", "clap_derive", @@ -149,9 +149,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.6.0" +version = "4.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b" dependencies = [ "anstream", "anstyle", @@ -168,7 +168,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] @@ -195,7 +195,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5793d74f50cf1460a969f028d40963d8d6e01ebae049dea976e944335c7df492" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", ] [[package]] @@ -314,9 +314,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hybrid-array" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c" dependencies = [ "typenum", ] @@ -342,7 +342,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.9.8", + "spin 0.9.9", ] [[package]] @@ -353,9 +353,9 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "log" -version = "0.4.32" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" [[package]] name = "miniz_oxide" @@ -390,18 +390,18 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "proc-macro2" -version = "1.0.106" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.45" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] @@ -432,7 +432,7 @@ checksum = "ed76efe62313ab6610570951494bdaa81568026e0318eaa55f167de70eeea67d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] @@ -502,15 +502,15 @@ dependencies = [ [[package]] name = "spin" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e" [[package]] name = "spin" -version = "0.12.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1527984ca054dfca79333baec451042863f485fbee01b7bf6d911de915cac865" +checksum = "8abadc99fd9c7bbb7d0ca2b31d72a067d0c0dcd7aad25ab8cac71ba91417694b" [[package]] name = "stable_deref_trait" @@ -548,7 +548,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.119", ] [[package]] @@ -564,9 +564,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" dependencies = [ "proc-macro2", "quote", @@ -575,9 +575,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f" [[package]] name = "typenum" @@ -719,7 +719,7 @@ name = "zmodem2" version = "0.1.2" source = "git+https://github.com/oxidecomputer/zmodem2#f3c1d8422c6356f51131d8ced7502e44fc9153d4" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "crc", "heapless", "hex", diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 54ea4fa..bef1e8e 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2026-06-16" +channel = "nightly-2026-07-20" components = [ "rustfmt", "rust-src", "llvm-tools", "clippy", "miri", "rust-analyzer" ] diff --git a/src/allocator.rs b/src/allocator.rs index 00b25c7..c5a4176 100644 --- a/src/allocator.rs +++ b/src/allocator.rs @@ -87,14 +87,14 @@ impl BumpAlloc { /// and the second is the requested block itself. pub(crate) fn try_alloc( &self, - align: usize, size: usize, + align: usize, ) -> Option<(Block, Block)> { let base = self.arena.as_ptr(); let mut first = ptr::null_mut(); let mut adjust = 0; self.cursor - .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |current| { + .try_update(Ordering::Relaxed, Ordering::Relaxed, |current| { first = base.wrapping_add(current); adjust = first.align_offset(align); let offset = @@ -118,10 +118,10 @@ impl BumpAlloc { #[allow(clippy::mut_from_ref)] pub(crate) fn alloc_bytes( &self, - align: usize, size: usize, + align: usize, ) -> Option<&mut [u8]> { - let (_, block) = self.try_alloc(align, size)?; + let (_, block) = self.try_alloc(size, align)?; let ptr = block.as_ptr(); unsafe { ptr::write_bytes(ptr, 0, size); diff --git a/src/mmu.rs b/src/mmu.rs index 7cb8edd..f281853 100644 --- a/src/mmu.rs +++ b/src/mmu.rs @@ -1680,7 +1680,7 @@ mod arena { assert_eq!(align, PAGE_SIZE); assert_eq!(size, PAGE_SIZE); let page_allocator = unsafe { &*PAGE_ALLOCATOR.get() }; - let a = page_allocator.alloc_bytes(align, size); + let a = page_allocator.alloc_bytes(size, align); let p = a.ok_or(AllocError)?; Ok(p.into()) } diff --git a/x86_64-oxide-none-elf.json b/x86_64-oxide-none-elf.json index 20ab846..4fabbf3 100644 --- a/x86_64-oxide-none-elf.json +++ b/x86_64-oxide-none-elf.json @@ -14,7 +14,7 @@ "frame-pointer": "always", "disable-redzone": true, "features": "-avx,-avx2,-avx512bf16,-f16c,-fxsr,-mmx,-sse,-sse2,-sse3,-sse4.1,-sse4.2,-sse4a,-ssse3,-x87,+soft-float", - "rustc-abi": "x86-softfloat", + "rustc-abi": "softfloat", "linker-flavor": "ld", "linker": "ld.lld", "no-default-libraries": true,