summaryrefslogtreecommitdiff
path: root/kernel/interrupt.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/interrupt.c')
-rw-r--r--kernel/interrupt.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/kernel/interrupt.c b/kernel/interrupt.c
deleted file mode 100644
index 9639aea..0000000
--- a/kernel/interrupt.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <kernel/interrupt.h>
-#include <kernel/asm.h>
-
-static void (*isr_handlers[MAX_ISR])(struct isr_frame *frame);
-
-void register_isr_handler(unsigned int isr, void (*handler)(struct isr_frame *frame)) {
- if (isr > MAX_ISR)
- panic("Attempted to set non-existant interrupt vector");
- isr_handlers[isr] = handler;
-}
-
-void clear_isr_handler(unsigned int isr) {
- if (isr > MAX_ISR)
- panic("Attempted to clear non-existant interrupt vector");
- isr_handlers[isr] = NULL;
-}
-
-void isr_dispatch(struct isr_frame frame) {
- (*isr_handlers[frame.isr_vector])(&frame);
-}