diff options
author | dzwdz | 2022-03-26 21:06:07 +0100 |
---|---|---|
committer | dzwdz | 2022-03-26 21:06:07 +0100 |
commit | 38d1712e31e60de9f2afe85873b2174e002e3e99 (patch) | |
tree | 19c402747631d6df2dbd7c9222d7871b941e94ee /src/kernel/arch/i386/interrupts/isr.c | |
parent | 96f021e783f1e99a1ce7d34c0dfeaef524abc2d1 (diff) |
kernel: IRQs; PS/2 keyboard support
Diffstat (limited to 'src/kernel/arch/i386/interrupts/isr.c')
-rw-r--r-- | src/kernel/arch/i386/interrupts/isr.c | 8 |
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); |