From ba667148af04963f5d70c647511ea1fad1add21d Mon Sep 17 00:00:00 2001 From: salmonik Date: Fri, 31 Jul 2026 16:01:46 +0200 Subject: power: proper shutdown via UEFI ResetSystem (ACPI S5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - uefi.rs: full EFI_RUNTIME_SERVICES layout with reset_system at index 10 (spec order); EfiResetSystem type + RESET_* constants - power.rs: stash the runtime-services table pre-EBS; poweroff() calls ResetSystem(EfiResetShutdown) — still callable after ExitBootServices because we never call SetVirtualAddressMap, so the pointers keep working with physical addresses; falls back to the hlt loop - shell: 'poweroff' and 'exit' shut the machine down (QEMU exits), 'halt' keeps the plain hlt loop --- rsnix/src/lib.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'rsnix/src/lib.rs') diff --git a/rsnix/src/lib.rs b/rsnix/src/lib.rs index d2dacf0..8c69b35 100644 --- a/rsnix/src/lib.rs +++ b/rsnix/src/lib.rs @@ -7,6 +7,7 @@ pub mod gop; pub mod interrupts; pub mod memory; pub mod paging; +pub mod power; pub mod ps2; pub mod serial; pub mod uefi; -- cgit v1.2.3