Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/kernel/src/cpu/irq_stub.S b/kernel/src/cpu/irq_stub.S
- index f8a05b6..5127a72 100644
- --- a/kernel/src/cpu/irq_stub.S
- +++ b/kernel/src/cpu/irq_stub.S
- @@ -2,6 +2,7 @@
- .macro pushall
- push %rax
- + push %rbx
- push %rcx
- push %rdx
- push %rsi
- @@ -10,11 +11,23 @@
- push %r9
- push %r10
- push %r11
- - pushfq
- + push %r12
- + push %r13
- + push %r14
- + push %r15
- + mov %ds, %ax
- + push %rax
- + mov 0x80(%rsp), %rax
- .endm
- .macro popall
- - popfq
- + pop %rax
- + mov %ax, %ds
- + mov %ax, %es
- + pop %r15
- + pop %r14
- + pop %r13
- + pop %r12
- pop %r11
- pop %r10
- pop %r9
- @@ -23,6 +36,7 @@
- pop %rsi
- pop %rdx
- pop %rcx
- + pop %rbx
- pop %rax
- .endm
- @@ -41,7 +55,7 @@ isr\number:
- .global isr\number
- isr\number:
- pushall
- - mov 0x50(%rsp), %rdi
- + mov 0x78(%rsp), %rdi
- cld
- mov %rsp, panic_rsp
- call isr\number\()_handler
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement