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/interrupts.h | |
parent | c24a9376b4a048a3f9408df2d47eaad367459bd7 (diff) |
kernel/irq: use a lookup table for irqs
Diffstat (limited to 'src/kernel/arch/amd64/interrupts.h')
-rw-r--r-- | src/kernel/arch/amd64/interrupts.h | 17 |
1 files changed, 17 insertions, 0 deletions
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 <stdbool.h> +#include <stdint.h> + +#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); |