summaryrefslogtreecommitdiff
path: root/kernel/traps.s
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/traps.s')
-rw-r--r--kernel/traps.s13
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/traps.s b/kernel/traps.s
index ba9814c..0381ee8 100644
--- a/kernel/traps.s
+++ b/kernel/traps.s
@@ -7,6 +7,8 @@ global syscall_init
global traps_init
extern call_table
extern idt
+extern panic
+extern printf
extern register_isr
%macro SAVE 0
@@ -179,7 +181,18 @@ exc_gprot:
exc_pagef:
SAVE_ERR
+
+ push ebx
+ mov ebx, cr2
+ push ebx
+ push .fmt
+ call printf
+ add esp, 8
+ call panic
+
RESTORE_ERR
+.fmt:
+ db "Page Fault (illegal memory access: 0x%08x:0x%02x)", 10, 0
exc_mathf:
SAVE