summaryrefslogtreecommitdiffstats
path: root/rsnix/src/lib.rs
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-07-31 16:01:46 +0200
committersalmonik <salmonik@tuta.io>2026-07-31 16:01:46 +0200
commitba667148af04963f5d70c647511ea1fad1add21d (patch)
tree06f8faf9128d4d1fc48bbe90b5f50cf65a2e9022 /rsnix/src/lib.rs
parentdocs: CONTEXT.md — paging adoption, heap growth, shell additions (diff)
downloadrs-dos-ba667148af04963f5d70c647511ea1fad1add21d.tar.gz
rs-dos-ba667148af04963f5d70c647511ea1fad1add21d.zip
power: proper shutdown via UEFI ResetSystem (ACPI S5)
- 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
Diffstat (limited to '')
-rw-r--r--rsnix/src/lib.rs1
1 files changed, 1 insertions, 0 deletions
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;
7pub mod interrupts; 7pub mod interrupts;
8pub mod memory; 8pub mod memory;
9pub mod paging; 9pub mod paging;
10pub mod power;
10pub mod ps2; 11pub mod ps2;
11pub mod serial; 12pub mod serial;
12pub mod uefi; 13pub mod uefi;