Files
SplenkOS/kernel/src/interrupts/interrupts.h

25 lines
750 B
C
Raw Normal View History

2026-01-29 08:36:04 +11:00
#pragma once
#include "../BasicRenderer.h"
2026-01-29 13:06:49 +11:00
#include "../userinput/mouse.h"
2026-01-29 08:36:04 +11:00
2026-01-29 10:34:50 +11:00
#define PIC1_COMMAND 0x20
#define PIC1_DATA 0x21
#define PIC2_COMMAND 0xA0
#define PIC2_DATA 0xA1
#define PIC_EOI 0x20
#define ICW1_INIT 0x10
#define ICW1_ICW4 0x01
#define ICW4_8086 0x01
2026-01-29 08:36:04 +11:00
2026-01-29 10:34:50 +11:00
struct interrupt_frame;
2026-01-29 13:06:49 +11:00
__attribute__((interrupt)) void PageFault_Handler(interrupt_frame* frame);
__attribute__((interrupt)) void DoubleFault_Handler(interrupt_frame* frame);
__attribute__((interrupt)) void GPFault_Handler(interrupt_frame* frame);
2026-01-29 10:34:50 +11:00
2026-01-29 13:06:49 +11:00
__attribute__((interrupt)) void KeyboardInterrupt_Handler(interrupt_frame* frame);
__attribute__((interrupt)) void MouseInterrupt_Handler(interrupt_frame* frame);
2026-01-29 10:34:50 +11:00
void RemapPIC();
void PIC_EndMaster();
void PIC_EndSlave();