summaryrefslogtreecommitdiff
path: root/kernel/irq_stub.S
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq_stub.S')
-rw-r--r--kernel/irq_stub.S108
1 files changed, 0 insertions, 108 deletions
diff --git a/kernel/irq_stub.S b/kernel/irq_stub.S
deleted file mode 100644
index ddd197a..0000000
--- a/kernel/irq_stub.S
+++ /dev/null
@@ -1,108 +0,0 @@
-.macro pushall
- push %rax
- push %rcx
- push %rdx
- push %rsi
- push %rdi
- push %r8
- push %r9
- push %r10
- push %r11
- pushfq
-.endm
-
-.macro popall
- popfq
- pop %r11
- pop %r10
- pop %r9
- pop %r8
- pop %rdi
- pop %rsi
- pop %rdx
- pop %rcx
- pop %rax
-.endm
-
-
-.macro isr_no_error number
-.global isr\number
-isr\number:
- pushall
- cld
- call isr\number\()_handler
- popall
- iretq
-.endm
-
-.macro isr_error number
-.global isr\number
-isr\number:
- # rdi not saved
- pop %rdi
- pushall
- cld
- call isr\number\()_handler
- popall
- iretq
-.endm
-
-isr_no_error 0
-isr_no_error 1
-isr_no_error 2
-isr_no_error 3
-isr_no_error 4
-isr_no_error 5
-isr_no_error 6
-isr_no_error 7
-isr_error 8
-isr_no_error 9
-isr_error 10
-isr_error 11
-isr_error 12
-isr_error 13
-isr_error 14
-isr_no_error 15
-isr_no_error 16
-isr_error 17
-isr_no_error 18
-isr_no_error 19
-isr_no_error 20
-isr_no_error 21
-isr_no_error 22
-isr_no_error 23
-isr_no_error 24
-isr_no_error 25
-isr_no_error 26
-isr_no_error 27
-isr_no_error 28
-isr_error 29
-isr_error 30
-isr_no_error 31
-
-.macro irq number
-.global irq\number
-irq\number:
- pushall
- cld
- call irq\number\()_handler
- popall
- iretq
-.endm
-
-irq 0
-irq 1
-irq 2
-irq 3
-irq 4
-irq 5
-irq 6
-irq 7
-irq 8
-irq 9
-irq 10
-irq 11
-irq 12
-irq 13
-irq 14
-irq 15