From f9ce893e143a7c2356a0f2204afac1f37d3e54d2 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Wed, 25 Jan 2023 21:49:14 +0100 Subject: kernel/irq: use a lookup table for irqs --- src/kernel/arch/amd64/interrupts.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/kernel/arch/amd64/interrupts.h (limited to 'src/kernel/arch/amd64/interrupts.h') diff --git a/src/kernel/arch/amd64/interrupts.h b/src/kernel/arch/amd64/interrupts.h new file mode 100644 index 0000000..262ea16 --- /dev/null +++ b/src/kernel/arch/amd64/interrupts.h @@ -0,0 +1,17 @@ +#pragma once +#include +#include + +#define IRQ_COM1 4 +#define IRQ_IBASE 0x20 +#define IRQ_PIT 0 +#define IRQ_PS2KB 1 +#define IRQ_PS2MOUSE 12 +#define IRQ_RTL8139 11 + +extern void (*irq_fn[16])(void); +extern const char _isr_stubs; + +void irq_init(void); +void irq_eoi(uint8_t line); +void isr_stage3(uint8_t interrupt, uint64_t *stackframe); -- cgit v1.2.3