summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-08-02 22:17:37 +0200
committersalmonik <salmonik@tuta.io>2026-08-02 22:17:37 +0200
commit063477cd6f6d80defe5a4d6e6320f7dd734d68c5 (patch)
tree45b2bf741c6534b77fe331066a0dd819ea6fffa8
parentdocs: CONTEXT.md versioning — 0.5.6 backtrace dumps + 0.5.7 allocator guard (diff)
downloadrs-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.rs6
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,