mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
[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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user