From a7542a641693f44d28bf38f3758af15debd4c4cc Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Sun, 31 May 2026 20:56:01 +0200 Subject: [PATCH] chore(deps): cargo bump deps --- Cargo.lock | 12 ++++++------ Cargo.toml | 1 + uefi-test-runner/Cargo.toml | 5 ++--- uefi-test-runner/src/main.rs | 3 ++- uefi/Cargo.toml | 2 +- uefi/src/helpers/panic_handler.rs | 3 ++- 6 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0838bc55..fef5cb7e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,9 +352,9 @@ checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "heapless" -version = "0.8.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +checksum = "b1edcd5a338e64688fbdcb7531a846cfd3476a54784dcb918a0844682bc7ada5" dependencies = [ "hash32", "stable_deref_trait", @@ -552,9 +552,9 @@ dependencies = [ [[package]] name = "qemu-exit" -version = "3.0.2" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb0fd6580eeed0103c054e3fba2c2618ff476943762f28a645b63b8692b21c9" +checksum = "8189cbf0422ac15d7d544ed5f331fbe4e5b9da88133568fd359083b186a547f3" [[package]] name = "quote" @@ -763,9 +763,9 @@ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" [[package]] name = "smoltcp" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad095989c1533c1c266d9b1e8d70a1329dd3723c3edac6d03bbd67e7bf6f4bb" +checksum = "5f73d40463bba65efc9adc6370b56df76d563cc46e2482bba58351b4afb7535e" dependencies = [ "bitflags 1.3.2", "byteorder", diff --git a/Cargo.toml b/Cargo.toml index 155fb93f..8b728b01 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ rust-version = "1.88" bitflags = "2.0.0" log = { version = "0.4.5", default-features = false } ptr_meta = { version = "0.3.0", default-features = false, features = ["derive"] } +qemu-exit = { version = "4.0.0" } uguid = "2.2.1" [patch.crates-io] diff --git a/uefi-test-runner/Cargo.toml b/uefi-test-runner/Cargo.toml index fe534ac9..749381b8 100644 --- a/uefi-test-runner/Cargo.toml +++ b/uefi-test-runner/Cargo.toml @@ -8,11 +8,10 @@ edition = "2024" [dependencies] uefi-raw = { path = "../uefi-raw" } uefi = { path = "../uefi", features = ["alloc", "global_allocator", "panic_handler", "logger", "qemu", "log-debugcon"] } -smoltcp = { version = "0.12.0", default-features = false, features = ["medium-ethernet", "proto-ipv4", "socket-udp"] } +smoltcp = { version = "0.13.1", default-features = false, features = ["medium-ethernet", "proto-ipv4", "socket-udp"] } log.workspace = true - -qemu-exit = "3.0.0" +qemu-exit = { workspace = true } [features] # Enable the debug support protocol test. diff --git a/uefi-test-runner/src/main.rs b/uefi-test-runner/src/main.rs index fd6c417d..6e3a5029 100644 --- a/uefi-test-runner/src/main.rs +++ b/uefi-test-runner/src/main.rs @@ -230,7 +230,8 @@ fn shutdown() -> ! { { use qemu_exit::QEMUExit; let custom_exit_success = 3; - let qemu_exit_handle = qemu_exit::X86::new(0xF4, custom_exit_success); + // SAFETY: the I/O port matches the one of the QEMU environment. + let qemu_exit_handle = unsafe { qemu_exit::X86::new(0xF4, custom_exit_success) }; qemu_exit_handle.exit_success(); } diff --git a/uefi/Cargo.toml b/uefi/Cargo.toml index d82f3e32..05fc2b75 100644 --- a/uefi/Cargo.toml +++ b/uefi/Cargo.toml @@ -39,12 +39,12 @@ log-debugcon = [] bitflags.workspace = true log.workspace = true ptr_meta.workspace = true +qemu-exit = { workspace = true, optional = true } uguid.workspace = true cfg-if = "1.0.0" ucs2 = "0.3.3" uefi-macros = "0.19.0" uefi-raw = "0.14.0" -qemu-exit = { version = "3.0.2", optional = true } [package.metadata.docs.rs] all-features = true diff --git a/uefi/src/helpers/panic_handler.rs b/uefi/src/helpers/panic_handler.rs index 36119518..dcc3017f 100644 --- a/uefi/src/helpers/panic_handler.rs +++ b/uefi/src/helpers/panic_handler.rs @@ -27,7 +27,8 @@ fn panic_handler(info: &core::panic::PanicInfo) -> ! { // If running in QEMU, use the f4 exit port to signal the error and exit use qemu_exit::QEMUExit; let custom_exit_success = 3; - let qemu_exit_handle = qemu_exit::X86::new(0xF4, custom_exit_success); + // SAFETY: the I/O port matches the one of the QEMU environment. + let qemu_exit_handle = unsafe { qemu_exit::X86::new(0xF4, custom_exit_success) }; qemu_exit_handle.exit_failure(); } else { // If the system table is available, use UEFI's standard shutdown mechanism