summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalInterruptAPI.asm')
-rw-r--r--dev/kernel/HALKit/AMD64/HalInterruptAPI.asm18
1 files changed, 12 insertions, 6 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm b/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
index a6c6bbb5..0634b0ea 100644
--- a/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
+++ b/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
@@ -138,7 +138,7 @@ __NE_INT_6:
out 0x20, al
push rcx
- call idt_handle_generic
+ call idt_handle_ud
pop rcx
std
@@ -235,17 +235,14 @@ IntNormal 31
__NE_INT_32:
cld
-
- mov al, 0x20
- out 0xA0, al
- out 0x20, al
push rax
mov rcx, rsp
call idt_handle_scheduler
pop rax
- std
+ mov al, 0x20
+ out 0x20, al
o64 iret
@@ -416,3 +413,12 @@ kInterruptVectorTable:
dq __NE_INT_%+i
%assign i i+1
%endrep
+
+section .text
+
+global sched_jump_to_task
+
+;; Jump to the task from its stack frame.
+sched_jump_to_task:
+ mov rsp, rcx
+ ret \ No newline at end of file