support for hot swapping IRQ handlers

This commit is contained in:
notsomeidiot123 2024-11-06 15:32:49 -05:00
parent 728e7884a3
commit 5ce439a615
2 changed files with 6 additions and 1 deletions

View File

@ -62,6 +62,10 @@ cpu_registers_t *syscall(cpu_registers_t *regs){
} }
void install_irq_handler(void (*handler)(), uint8_t irqno){
interrupt_handlers[irqno] = handler;
}
void init_idt(){ void init_idt(){
for(uint32_t i = 0; i < 32; i++){ for(uint32_t i = 0; i < 32; i++){
set_idt_entry(i, (_isr0 + ((_isr1 - _isr0) * i)), IDT_GATE_INT, 0x10); set_idt_entry(i, (_isr0 + ((_isr1 - _isr0) * i)), IDT_GATE_INT, 0x10);

View File

@ -28,4 +28,5 @@ inline void enable_interrupts(){
} }
inline void disable_interrupts(){ inline void disable_interrupts(){
asm volatile("cli"); asm volatile("cli");
} }
void install_irq_handler(void (*handler)(), uint8_t irqno);