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.asm242
1 files changed, 0 insertions, 242 deletions
diff --git a/dev/Kernel/HALKit/AMD64/HalInterruptAPI.asm b/dev/Kernel/HALKit/AMD64/HalInterruptAPI.asm
deleted file mode 100644
index 093da0db..00000000
--- a/dev/Kernel/HALKit/AMD64/HalInterruptAPI.asm
+++ /dev/null
@@ -1,242 +0,0 @@
-;; /*
-;; * ---------------------------------------------------
-;; *
-;; * Copyright ZKA Technologies., all rights reserved.
-;; *
-;; * File: HalInterruptAPI.asm
-;; * Purpose: Interrupt routing, redirect raw interrupts into their handlers.
-;; *
-;; * ---------------------------------------------------
-;; */
-
-[bits 64]
-
-%define kInterruptId 0x21
-
-%macro IntExp 1
-global __NEW_INT_%1
-__NEW_INT_%1:
- cld
-
- iretq
-%endmacro
-
-%macro IntNormal 1
-global __NEW_INT_%1
-__NEW_INT_%1:
- cld
-
- iretq
-%endmacro
-
-; This file handles the core interrupt table
-; Last edited 31/01/24
-
-global ke_handle_irq
-global kInterruptVectorTable
-
-extern _hal_handle_mouse
-extern idt_handle_gpf
-extern idt_handle_pf
-extern ke_io_write
-extern idt_handle_ud
-
-section .text
-
-IntNormal 0
-IntNormal 1
-
-IntNormal 2
-
-IntNormal 3
-IntNormal 4
-IntNormal 5
-
-;; Invalid opcode interrupt
-__NEW_INT_6:
- cli
-
- push rax
-
- mov rcx, rsp
- call idt_handle_ud
-
- pop rax
-
- sti
- iretq
-
-IntNormal 7
-IntExp 8
-IntNormal 9
-IntExp 10
-IntExp 11
-
-IntExp 12
-
-__NEW_INT_13:
- cli
-
- push rax
-
- mov rcx, rsp
- call idt_handle_gpf
-
- pop rax
-
- sti
- iretq
-
-__NEW_INT_14:
- cli
-
- push rax
-
- mov rcx, rsp
- call idt_handle_pf
-
- pop rax
-
- sti
- iretq
-
-IntNormal 15
-IntNormal 16
-IntExp 17
-IntNormal 18
-IntNormal 19
-IntNormal 20
-IntNormal 21
-IntNormal 22
-IntNormal 23
-IntNormal 24
-IntNormal 25
-IntNormal 26
-IntNormal 27
-IntNormal 28
-IntNormal 29
-IntExp 30
-
-IntNormal 31
-
-IntNormal 32
-IntNormal 34
-
-IntNormal 33
-IntNormal 35
-IntNormal 36
-IntNormal 37
-IntNormal 38
-IntNormal 39
-IntNormal 40
-IntNormal 41
-IntNormal 42
-IntNormal 43
-
-__NEW_INT_44:
- cli
-
- ;; TODO: CoreEvents dispatch routine.
-
- push rax
- call _hal_handle_mouse
- pop rax
-
- sti
- iretq
-
-IntNormal 45
-IntNormal 46
-IntNormal 47
-IntNormal 48
-IntNormal 49
-
-[extern hal_system_call_enter]
-[extern hal_kernel_call_enter]
-
-__NEW_INT_50:
- cli
-
- push rcx
- push rdx
- push rax
-
- call hal_system_call_enter
-
- pop rax
- pop rdx
- pop rcx
-
- sti
- iretq
-
-__NEW_INT_51:
- cli
-
- push rcx
- push rdx
- push r8
- push r9
- push rax
-
- call hal_kernel_call_enter
-
- pop rax
- pop r9
- pop r8
- pop rdx
- pop rcx
-
- sti
- iretq
-
-IntNormal 52
-IntNormal 53
-IntNormal 54
-IntNormal 55
-IntNormal 56
-IntNormal 57
-IntNormal 58
-IntNormal 59
-IntNormal 60
-
-%assign i 61
-%rep 195
- IntNormal i
-%assign i i+1
-%endrep
-
-section .text
-
-[global hal_load_gdt]
-
-hal_load_gdt:
- lgdt [rcx]
- push 0x08
- lea rax, [rel rt_reload_segments]
- push rax
- retfq
-rt_reload_segments:
- mov ax, 0x10
- mov ds, ax
- mov es, ax
- mov fs, ax
- mov gs, ax
- mov ss, ax
- ret
-
-global hal_load_idt
-
-hal_load_idt:
- lidt [rcx]
- sti
- ret
-
-section .data
-
-kInterruptVectorTable:
- %assign i 0
- %rep 256
- dq __NEW_INT_%+i
- %assign i i+1
- %endrep