diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2025-08-17 14:16:55 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2025-08-17 14:16:55 -0400 |
commit | 7ee9347560768641096df68c545ac085a20233e4 (patch) | |
tree | 5b567f2e98cd9e6aeee33eeecd7fbf6f2fafdeab /arch/x86_64/ivt.s | |
parent | f466364b8a3858e7b3f19258d142851cb4a7e6d6 (diff) | |
download | jove-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.s | 12 |
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 |