summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-15 13:56:17 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-15 13:56:17 +0200
commit6a30f42d5dcd0f944262147b2806db6c14fe7ffc (patch)
tree86d86a66df2941e49d1d332aaa1671c11db594e5 /dev/kernel/HALKit/AMD64/HalInterruptAPI.asm
parentf8aaa274535b6541f376090958eedbbba3ba00ba (diff)
feat(kernel): Finalizing the first version of the user scheduler.
other: - Removed DmaPool into its own Kit. - ApplicationProcessor unit has been cleaned up. - Rename functions of MemoryMgr. - Use KIB instead of MIBs of stack. - Cleanup parts of the scheduler, and hw scheduler. - Use UD handler for INT 6. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
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