summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kernel/arch/i386/interrupts/isr.c8
1 files changed, 7 insertions, 1 deletions
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;