diff options
| author | salmonik <salmonik@tuta.io> | 2026-08-02 22:17:37 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-08-02 22:17:37 +0200 |
| commit | 063477cd6f6d80defe5a4d6e6320f7dd734d68c5 (patch) | |
| tree | 45b2bf741c6534b77fe331066a0dd819ea6fffa8 | |
| parent | docs: CONTEXT.md versioning — 0.5.6 backtrace dumps + 0.5.7 allocator guard (diff) | |
| download | rs-dos-063477cd6f6d80defe5a4d6e6320f7dd734d68c5.tar.gz rs-dos-063477cd6f6d80defe5a4d6e6320f7dd734d68c5.zip | |
v0.5.7: heap range on the boot screen — real-hardware geometry without a crash
The OptiPlex heap-corruption repro (guard report) came in hand-copied
and garbled; the exact heap start/end was the missing datum. The heap
self-test range was serial-only; now it is also a boot marker, so the
next boot shows 'rsnix: heap 0x..-0x.. (N MiB) ok' on the framebuffer.
| -rw-r--r-- | rsdos/src/main.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rsdos/src/main.rs b/rsdos/src/main.rs index 60acc4e..cbbf2ba 100644 --- a/rsdos/src/main.rs +++ b/rsdos/src/main.rs | |||
| @@ -245,6 +245,12 @@ pub unsafe extern "efiapi" fn efi_main(image_handle: Handle, system_table: *mut | |||
| 245 | 245 | ||
| 246 | if rsnix::memory::self_test() { | 246 | if rsnix::memory::self_test() { |
| 247 | let hs = rsnix::memory::heap_stats(); | 247 | let hs = rsnix::memory::heap_stats(); |
| 248 | rsnix::gop::boot_marker(&alloc::format!( | ||
| 249 | "rsnix: heap 0x{:x}-0x{:x} ({} MiB) ok", | ||
| 250 | hs.heap_start, | ||
| 251 | hs.heap_end, | ||
| 252 | hs.heap_size / 1024 / 1024 | ||
| 253 | )); | ||
| 248 | rsnix::serial_println!( | 254 | rsnix::serial_println!( |
| 249 | "heap: self-test OK (0x{:x}..0x{:x} {} KiB free={} KiB)", | 255 | "heap: self-test OK (0x{:x}..0x{:x} {} KiB free={} KiB)", |
| 250 | hs.heap_start, | 256 | hs.heap_start, |
