mirror of
https://github.com/gbowne1/ClassicOS.git
synced 2025-11-22 08:35:27 -08:00
Multiple changes:
- Makefile: fix linker script path - irq.c: `irqN()` stubs - irq.h: fix missing header - isr.h/isr.c extern `interrupt_handlers` - utils.c: remove duplicate `memcmp`
This commit is contained in:
24
kernel/irq.c
24
kernel/irq.c
@@ -1,3 +1,4 @@
|
||||
#include "idt.h"
|
||||
#include "irq.h"
|
||||
#include "io.h"
|
||||
#include "isr.h"
|
||||
@@ -7,6 +8,25 @@
|
||||
#define PIC2_CMD 0xA0
|
||||
#define PIC2_DATA 0xA1
|
||||
|
||||
// FIXME: stubs
|
||||
void irq0() {}
|
||||
void irq1() {}
|
||||
void irq2() {}
|
||||
void irq3() {}
|
||||
void irq4() {}
|
||||
void irq5() {}
|
||||
void irq6() {}
|
||||
void irq7() {}
|
||||
void irq8() {}
|
||||
void irq9() {}
|
||||
void irq10() {}
|
||||
void irq11() {}
|
||||
void irq12() {}
|
||||
void irq13() {}
|
||||
void irq14() {}
|
||||
void irq15() {}
|
||||
// --- stubs end
|
||||
|
||||
void irq_remap(void)
|
||||
{
|
||||
outb(PIC1_CMD, 0x11); // ICW1 – edge triggered, cascade, need ICW4
|
||||
@@ -31,8 +51,8 @@ void irq_install(void)
|
||||
irq_remap();
|
||||
|
||||
/* Fill IRQ entries in the IDT (0x20 … 0x2F) */
|
||||
extern void irq0(), irq1(), irq2(), irq3(), irq4(), irq5(), irq6(), irq7();
|
||||
extern void irq8(), irq9(), irq10(), irq11(), irq12(), irq13(), irq14(), irq15();
|
||||
//extern void irq0(), irq1(), irq2(), irq3(), irq4(), irq5(), irq6(), irq7();
|
||||
//extern void irq8(), irq9(), irq10(), irq11(), irq12(), irq13(), irq14(), irq15();
|
||||
|
||||
idt_set_gate(0x20, (uint32_t)irq0);
|
||||
idt_set_gate(0x21, (uint32_t)irq1);
|
||||
|
||||
Reference in New Issue
Block a user