summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/ivt.s
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-08-17 14:16:55 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-08-17 14:16:55 -0400
commit7ee9347560768641096df68c545ac085a20233e4 (patch)
tree5b567f2e98cd9e6aeee33eeecd7fbf6f2fafdeab /arch/x86_64/ivt.s
parentf466364b8a3858e7b3f19258d142851cb4a7e6d6 (diff)
downloadjove-kernel-7ee9347560768641096df68c545ac085a20233e4.tar.gz
jove-kernel-7ee9347560768641096df68c545ac085a20233e4.tar.bz2
jove-kernel-7ee9347560768641096df68c545ac085a20233e4.zip
working usermode pager. fix usermode interrupts
Diffstat (limited to 'arch/x86_64/ivt.s')
-rw-r--r--arch/x86_64/ivt.s12
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86_64/ivt.s b/arch/x86_64/ivt.s
index d2d504b..0005686 100644
--- a/arch/x86_64/ivt.s
+++ b/arch/x86_64/ivt.s
@@ -18,6 +18,8 @@ __isr_head:
call isr_handle
popall
+
+ addq $16, %rsp
iretq
.extern __isr_err
@@ -26,12 +28,7 @@ __isr_head:
.macro defn_isr_err num:req
.type __isr\num @function
__isr\num:
- pushq %rbx
- movq 8(%rsp), %rbx
- movq %rbx, __isr_err
- popq %rbx
- addq $8, %rsp
- movq $\num, __isr_num
+ pushq $\num
jmp __isr_head
.size __isr\num, . - __isr\num
.endm
@@ -39,7 +36,8 @@ __isr\num:
.macro defn_isr num:req
.type __isr\num @function
__isr\num:
- movq $\num, __isr_num
+ pushq $0
+ pushq $\num
jmp __isr_head
.size __isr\num, . - __isr\num
.endm