diff --git a/src/kernel/interrupts.s b/src/kernel/interrupts.s index b2d1a1c..67eae7a 100644 --- a/src/kernel/interrupts.s +++ b/src/kernel/interrupts.s @@ -13,13 +13,6 @@ isr_handler_prelude: check_swap_gs 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 @@ -38,21 +31,12 @@ 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