From 98f36a825da9a186d2f0ba399b0830eff9c8d258 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sun, 12 Sep 2021 16:42:59 +0200 Subject: log cr2 on page faults --- src/kernel/arch/i386/interrupts/isr.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/kernel/arch/i386/interrupts/isr.c') diff --git a/src/kernel/arch/i386/interrupts/isr.c b/src/kernel/arch/i386/interrupts/isr.c index 96d053e..86f697f 100644 --- a/src/kernel/arch/i386/interrupts/isr.c +++ b/src/kernel/arch/i386/interrupts/isr.c @@ -12,7 +12,13 @@ void isr_stage3(int interrupt) { switch (interrupt) { case 0x08: log_n_panic("#DF"); // double fault case 0x0D: log_n_panic("#GP"); // general protection fault - case 0x0E: log_n_panic("#PF"); // page fault + case 0x0E: { // page fault + int cr2; + tty_const("#PF at "); + asm ("mov %%cr2, %0;" : "=r"(cr2) ::); + _tty_var(cr2); + panic(); + } case 0x34: isr_test_interrupt_called = true; -- cgit v1.2.3