summaryrefslogtreecommitdiff
path: root/arch/i386/include/kernel/pic.h
diff options
context:
space:
mode:
authorDanny Holman <dholman@gymli.org>2024-02-16 12:59:43 -0600
committerDanny Holman <dholman@gymli.org>2024-02-16 12:59:43 -0600
commitbcb79aaff44f126064c4698ea74ffe2b68baeb0e (patch)
treeb176c8e6352b78342e622d3384f9b68242773f6b /arch/i386/include/kernel/pic.h
parent157bea025cf120be22efe6327e6dd6b390fc4ba1 (diff)
arch: i386: move IRQ functions to PIC driver
Move all the functions that control IRQ lines to the PIC driver. This allows the IDT controller to handle only raw interrupts no matter where they come from. Signed-off-by: Danny Holman <dholman@gymli.org>
Diffstat (limited to 'arch/i386/include/kernel/pic.h')
-rw-r--r--arch/i386/include/kernel/pic.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/i386/include/kernel/pic.h b/arch/i386/include/kernel/pic.h
index af7b5ba..ca3cc99 100644
--- a/arch/i386/include/kernel/pic.h
+++ b/arch/i386/include/kernel/pic.h
@@ -1,6 +1,7 @@
#ifndef I386_PIC_H
#define I386_PIC_H
+#include <kernel/isr.h>
#include <kernel/idt.h>
#include <stdint.h>
@@ -46,6 +47,7 @@ uint16_t pic_get_irr(void);
uint16_t pic_get_isr(void);
void register_irq_handler(uint8_t irq, void (*handler)(struct isr_frame *frame));
+void irq_dispatch(struct isr_frame *frame);
void irq_set_mask(uint8_t irq);
void irq_clear_mask(uint8_t irq);