summaryrefslogtreecommitdiffstats
path: root/src/uefi.rs
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-08-02 01:52:10 +0200
committersalmonik <salmonik@tuta.io>2026-08-02 01:52:10 +0200
commit045c9ddf71b62dff538cd3ae1963166ab5c145a0 (patch)
treefd99757329f7b770f067aa5f0204c87068fea681 /src/uefi.rs
parentgop: rustfmt collapse in init_shadow warning band (diff)
downloadrs-dos-045c9ddf71b62dff538cd3ae1963166ab5c145a0.tar.gz
rs-dos-045c9ddf71b62dff538cd3ae1963166ab5c145a0.zip
v0.5.5: visible boot progress + panic-on-screen for real hardware
Real hardware has no serial console: a pre-shell panic was a silent blank screen (the panic handler only wrote to serial, then cli;hlt). v0.5.4's shadow change made this window reachable — if the fb-aware page allocation or the heap fallback failed on hardware, the kernel halted before the shell banner with zero screen output. - gop::boot_marker(): every boot stage now draws straight to the framebuffer (row 0, white-on-black). The last marker visible before a hang identifies where the kernel died. - Panic handler: pre-shell panics now draw a white-on-red '*** PANIC *** <msg> at file:line' band via gop::dump_lines. - init_shadow(): heap fallback is panic-proof (try_reserve_exact + resize instead of vec![0; words] which aborts on OOM); page-alloc result defensively re-checked against the fb region; any failure degrades to no-shadow mode with a visible warning band. - Verified: full chain (rsboot -> kernel) boots with markers, shell banner renders, all 5 test suites pass.
Diffstat (limited to 'src/uefi.rs')
0 files changed, 0 insertions, 0 deletions