summaryrefslogtreecommitdiff
path: root/kernel/src/cpu/irq_stub.S
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/cpu/irq_stub.S')
-rw-r--r--kernel/src/cpu/irq_stub.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/src/cpu/irq_stub.S b/kernel/src/cpu/irq_stub.S
index 5a8149c..f8a05b6 100644
--- a/kernel/src/cpu/irq_stub.S
+++ b/kernel/src/cpu/irq_stub.S
@@ -1,3 +1,5 @@
+.extern panic_rsp
+
.macro pushall
push %rax
push %rcx
@@ -29,6 +31,7 @@
isr\number:
pushall
cld
+ mov %rsp, panic_rsp
call isr\number\()_handler
popall
iretq
@@ -40,6 +43,7 @@ isr\number:
pushall
mov 0x50(%rsp), %rdi
cld
+ mov %rsp, panic_rsp
call isr\number\()_handler
popall
add $8, %rsp
@@ -84,6 +88,7 @@ isr_no_error 31
irq\number:
pushall
cld
+ mov %rsp, panic_rsp
call irq\number\()_handler
popall
iretq