[kernel] Move interrupt error handling to kassert

Remove all the console-printing code in the interrupt handling routine
and have it pass off to the panic handler.
This commit is contained in:
Justin C. Miller
2021-08-01 16:13:26 -07:00
parent 76beee62c3
commit 2b16b69afa
3 changed files with 56 additions and 118 deletions

View File

@@ -14,6 +14,13 @@ isr_handler_prelude:
mov rdi, rsp
mov rsi, rsp
mov rax, [rsp + REGS.rip]
push rax
push rbp
mov rbp, rsp
call isr_handler
jmp isr_handler_return
.end:
@@ -30,12 +37,22 @@ irq_handler_prelude:
mov rdi, rsp
mov rsi, rsp
mov rax, [rsp + REGS.rip]
push rax
push rbp
mov rbp, rsp
call irq_handler
; fall through to isr_handler_return
.end:
global isr_handler_return:function (isr_handler_return.end - isr_handler_return)
isr_handler_return:
pop rbp
pop rax ; get rid of the manufactured stack frame
check_swap_gs
pop_all