mirror of
https://github.com/BoredDevNL/BoredOS.git
synced 2026-05-15 10:48:38 +00:00
fix(idt): print RIP, err_code, and CR2 to serial before kernel panic
This commit is contained in:
parent
67f27a908f
commit
3893276974
1 changed files with 8 additions and 0 deletions
|
|
@ -79,6 +79,14 @@ uint64_t exception_handler_c(registers_t *regs) {
|
|||
|
||||
// Kernel mode exception
|
||||
const char *name = (vector < 32) ? exception_messages[vector] : "Unknown Kernel Exception";
|
||||
serial_write("\nRIP: 0x"); k_itoa_hex(regs->rip, buf); serial_write(buf);
|
||||
serial_write("\nErr: 0x"); k_itoa_hex(regs->err_code, buf); serial_write(buf);
|
||||
if (vector == 14) {
|
||||
uint64_t cr2;
|
||||
asm volatile("mov %%cr2, %0" : "=r"(cr2));
|
||||
serial_write("\nCR2: 0x"); k_itoa_hex(cr2, buf); serial_write(buf);
|
||||
}
|
||||
serial_write("\n");
|
||||
kernel_panic(regs, name);
|
||||
|
||||
return (uint64_t)regs; // Unreachable
|
||||
|
|
|
|||
Loading…
Reference in a new issue