From 0a817a5a74c328229f8a732fc3ec22d8fd7dc20d Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Tue, 29 Jul 2025 21:40:45 +0200 Subject: Some work on keeping track of memory, and providing more info in panics --- src/panic.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/panic.c') diff --git a/src/panic.c b/src/panic.c index 5b17b04..3b39aeb 100644 --- a/src/panic.c +++ b/src/panic.c @@ -3,6 +3,17 @@ void panic(void) { + struct cpu_regs r; + dump_regs(&r); + print(u8"--- PANIC ---\n"); + print(u8"rax: %p rbx: %p rcx: %p rdx: %p\n", r.rax, r.rbx, r.rcx, r.rdx); + print(u8"rsi: %p rdi: %p rsp: %p rbp: %p\n", r.rsi, r.rdi, r.rsp, r.rbp); + print(u8"r8: %p r9: %p r10: %p r11: %p\n", r.r9, r.r9, r.r10, r.r11); + print(u8"r12: %p r13: %p r14: %p r15: %p\n", r.r12, r.r13, r.r14, r.r15); + print(u8"rip: %p cr0: %p cr2: %p cr3: %p\n", r.rip, r.cr0, r.cr2, r.cr3); + print(u8"cr4: %p cr8: %p cs: %p ds: %p\n", r.cr4, r.cr8, r.cs, r.ds); + print(u8"ss: %p es: %p fs: %p gs: %p\n", r.ss, r.es, r.fs, r.gs); + print(u8"rflags: %p\n", r.rflags); halt(); } -- cgit v1.2.3