aboutsummaryrefslogtreecommitdiff
path: root/src/idt/interrupthandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/idt/interrupthandler.cc')
-rw-r--r--src/idt/interrupthandler.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/idt/interrupthandler.cc b/src/idt/interrupthandler.cc
new file mode 100644
index 0000000..7af830b
--- /dev/null
+++ b/src/idt/interrupthandler.cc
@@ -0,0 +1,14 @@
+#include <stdlib.h>
+#include "../idt.h"
+
+InterruptHandler::InterruptHandler(uint8_t irq) : m_irq(irq) {
+ IDT::install(m_irq, this);
+}
+
+InterruptHandler::~InterruptHandler() {
+ IDT::uninstall(m_irq, this);
+}
+
+void InterruptHandler::trigger() {
+ printk("Unhandled interrupt ", uhex{m_irq}, '\n');
+}