Nucleus
Barry Basic paging bc5e11e (3 years, 3 months ago)
diff --git a/kernel/idt.c b/kernel/idt.c
index 85f64c6..52076a8 100644
--- a/kernel/idt.c
+++ b/kernel/idt.c
@@ -367,3 +367,19 @@ cpu_load_idt(void)
};
asm volatile("lidt %0" :: "m" (ptr));
}
+
+/* Register an exception handler */
+void
+register_exception(int num, exc_handler_t addr)
+{
+ if (num >= 0 && num < 32)
+ exceptions[num] = addr;
+}
+
+/* Register an interrupt handler */
+void
+register_interrupt(int num, int_handler_t addr)
+{
+ if (num >= 0 && num < 224)
+ interrupts[num] = addr;
+}