From 16b7b4c2c008c976ee5948c97a8337d6224c3be9 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Thu, 3 Apr 2025 21:32:00 -0400 Subject: add 64-bit idt/pic and fix paging --- kernel/cpu/pic.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 kernel/cpu/pic.h (limited to 'kernel/cpu/pic.h') diff --git a/kernel/cpu/pic.h b/kernel/cpu/pic.h new file mode 100644 index 0000000..0d1aa3a --- /dev/null +++ b/kernel/cpu/pic.h @@ -0,0 +1,42 @@ +/** + * @file pic.h + * + * @author Freya Murphy + * + * PIC functions + */ + +#ifndef PIC_H_ +#define PIC_H_ + +#define PIC_REMAP_OFFSET 0x20 + +/** + * Remaps the pie, i.e. initializes it + */ +void pic_remap(void); + +/** + * Masks an external irq to stop firing until un masked + * @param irq - the irq to mask + */ +void pic_mask(int irq); + +/** + * Unmasks an external irq to allow interrupts to continue for that irq + * @param irq - the irq to unmask + */ +void pic_unmask(int irq); + +/** + * Disabled the pick + */ +void pic_disable(void); + +/** + * Tells the pick that the interrupt has ended + * @param irq - the irq that has ended + */ +void pic_eoi(int irq); + +#endif /* pic.h */ -- cgit v1.2.3-freya