summaryrefslogtreecommitdiff
path: root/kernel/traps.s
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/traps.s')
-rw-r--r--kernel/traps.s15
1 files changed, 12 insertions, 3 deletions
diff --git a/kernel/traps.s b/kernel/traps.s
index 15e2640..e084ac8 100644
--- a/kernel/traps.s
+++ b/kernel/traps.s
@@ -8,7 +8,7 @@ global traps_init
extern call_table
extern idt
extern panic
-extern printf
+extern printk
extern register_isr
%macro SAVE 0
@@ -190,7 +190,16 @@ exc_stackf:
exc_gprot:
SAVE_ERR
+
+ push ebx
+ push .fmt
+ call printk
+ add esp, 8
+ call panic
+
RESTORE_ERR
+.fmt:
+ db "General Protection Fault (0x%08x)", 10, 0
exc_pagef:
SAVE_ERR
@@ -199,8 +208,8 @@ exc_pagef:
mov ebx, cr2
push ebx
push .fmt
- call printf
- add esp, 8
+ call printk
+ add esp, 12
call panic
RESTORE_ERR