summaryrefslogtreecommitdiff
path: root/src/kernel/arch/i386/interrupts/isr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/arch/i386/interrupts/isr.c')
-rw-r--r--src/kernel/arch/i386/interrupts/isr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/kernel/arch/i386/interrupts/isr.c b/src/kernel/arch/i386/interrupts/isr.c
index 9d8bb6c..1448f44 100644
--- a/src/kernel/arch/i386/interrupts/isr.c
+++ b/src/kernel/arch/i386/interrupts/isr.c
@@ -1,4 +1,7 @@
+#include <kernel/arch/i386/interrupts/irq.h>
#include <kernel/arch/i386/interrupts/isr.h>
+#include <kernel/arch/i386/port_io.h>
+#include <kernel/arch/i386/tty/keyboard.h>
#include <kernel/arch/io.h>
#include <kernel/panic.h>
#include <kernel/proc.h>
@@ -16,6 +19,11 @@ void isr_stage3(int interrupt) {
isr_test_interrupt_called = true;
return;
+ case 0x21:; // keyboard irq
+ keyboard_recv(port_in8(0x60));
+ irq_eoi(1);
+ return;
+
default:
// TODO check if the exception was in the kernel
process_kill(process_current, interrupt);