diff options
Diffstat (limited to 'kernel/traps.s')
| -rw-r--r-- | kernel/traps.s | 15 |
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 |
