diff options
| author | salmonik <salmonik@tuta.io> | 2026-07-31 16:01:46 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-07-31 16:01:46 +0200 |
| commit | 19e22c84da154dad18517d19a1bfd9e72084408c (patch) | |
| tree | 9e09d12b7c4afeca0bfda124583d839b3a705831 | |
| parent | power: proper shutdown via UEFI ResetSystem (ACPI S5) (diff) | |
| download | rs-dos-19e22c84da154dad18517d19a1bfd9e72084408c.tar.gz rs-dos-19e22c84da154dad18517d19a1bfd9e72084408c.zip | |
docs: CONTEXT.md — poweroff milestone, power.rs layout entry
| -rw-r--r-- | CONTEXT.md | 5 |
1 files changed, 4 insertions, 1 deletions
| @@ -95,6 +95,7 @@ Single Rust crate (`x86_64-unknown-uefi` target). Module breakdown: | |||
| 95 | - `memory.rs` — UEFI memory map, free-list heap allocator (grows from page | 95 | - `memory.rs` — UEFI memory map, free-list heap allocator (grows from page |
| 96 | allocator), bitmap page allocator | 96 | allocator), bitmap page allocator |
| 97 | - `paging.rs` — identity page-table helpers (map/unmap/query, large-page split) | 97 | - `paging.rs` — identity page-table helpers (map/unmap/query, large-page split) |
| 98 | - `power.rs` — `ResetSystem`-based shutdown, hlt loop fallback | ||
| 98 | - `gop.rs` — framebuffer access and text rendering | 99 | - `gop.rs` — framebuffer access and text rendering |
| 99 | - `font.rs` — 8×16 bitmap font data | 100 | - `font.rs` — 8×16 bitmap font data |
| 100 | - `ps2.rs` — PS/2 keyboard driver (polling) | 101 | - `ps2.rs` — PS/2 keyboard driver (polling) |
| @@ -108,7 +109,7 @@ Single Rust crate (`x86_64-unknown-uefi` target). Module breakdown: | |||
| 108 | ✅ **Serial** — UART 16550 at COM1, 115200 8N1 | 109 | ✅ **Serial** — UART 16550 at COM1, 115200 8N1 |
| 109 | ✅ **Framebuffer** — GOP located, 8×16 bitmap font renders text | 110 | ✅ **Framebuffer** — GOP located, 8×16 bitmap font renders text |
| 110 | ✅ **Keyboard** — PS/2 polling, scancode set 1, US QWERTY | 111 | ✅ **Keyboard** — PS/2 polling, scancode set 1, US QWERTY |
| 111 | ✅ **Shell** — commands: `help`, `echo`, `clear`, `hello`, `info`, `mem`, `halt` | 112 | ✅ **Shell** — commands: `help`, `echo`, `clear`, `hello`, `info`, `mem`, `halt`, `poweroff` |
| 112 | ✅ **Heap allocator** — first-fit free-list with splitting + coalescing, `alloc`/`free` | 113 | ✅ **Heap allocator** — first-fit free-list with splitting + coalescing, `alloc`/`free` |
| 113 | (boot-time self-test verifies alignment, reuse, and full coalescing) | 114 | (boot-time self-test verifies alignment, reuse, and full coalescing) |
| 114 | ✅ **Physical pages** — bitmap allocator over conventional regions, contiguous | 115 | ✅ **Physical pages** — bitmap allocator over conventional regions, contiguous |
| @@ -117,6 +118,8 @@ Single Rust crate (`x86_64-unknown-uefi` target). Module breakdown: | |||
| 117 | own tables adopted at boot (boot-time self-test included) | 118 | own tables adopted at boot (boot-time self-test included) |
| 118 | ✅ **Heap growth** — heap expands into the page allocator when exhausted | 119 | ✅ **Heap growth** — heap expands into the page allocator when exhausted |
| 119 | ✅ **Shell** — `mmap` dumps the UEFI map, `stress` exercises alloc/free + growth | 120 | ✅ **Shell** — `mmap` dumps the UEFI map, `stress` exercises alloc/free + growth |
| 121 | ✅ **Poweroff** — `poweroff`/`exit` shut down via UEFI `ResetSystem` | ||
| 122 | (ACPI S5; `halt` keeps the plain hlt loop) | ||
| 120 | 123 | ||
| 121 | ## Target audience | 124 | ## Target audience |
| 122 | 125 | ||
