diff options
author | dzwdz | 2023-01-25 21:49:14 +0100 |
---|---|---|
committer | dzwdz | 2023-01-25 21:49:14 +0100 |
commit | f9ce893e143a7c2356a0f2204afac1f37d3e54d2 (patch) | |
tree | e93e569328ea61b71e785a52964238dc032aeefd /src/kernel/arch/amd64/driver/ps2.c | |
parent | c24a9376b4a048a3f9408df2d47eaad367459bd7 (diff) |
kernel/irq: use a lookup table for irqs
Diffstat (limited to 'src/kernel/arch/amd64/driver/ps2.c')
-rw-r--r-- | src/kernel/arch/amd64/driver/ps2.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/kernel/arch/amd64/driver/ps2.c b/src/kernel/arch/amd64/driver/ps2.c index 971d7d1..4aa17ff 100644 --- a/src/kernel/arch/amd64/driver/ps2.c +++ b/src/kernel/arch/amd64/driver/ps2.c @@ -1,7 +1,7 @@ #include <camellia/errno.h> #include <kernel/arch/amd64/driver/ps2.h> #include <kernel/arch/amd64/driver/util.h> -#include <kernel/arch/amd64/interrupts/irq.h> +#include <kernel/arch/amd64/interrupts.h> #include <kernel/arch/amd64/port_io.h> #include <kernel/panic.h> #include <kernel/proc.h> @@ -50,8 +50,12 @@ void ps2_init(void) { wait_out(); port_out8(PS2, 0xF4); /* packet streaming */ wait_in(); - if (port_in8(PS2) != 0xFA) /* check ACK */ + if (port_in8(PS2) != 0xFA) { /* check ACK */ panic_unimplemented(); + } + + irq_fn[IRQ_PS2KB] = ps2_irq; + irq_fn[IRQ_PS2MOUSE] = ps2_irq; vfs_root_register("/ps2", accept); } |