newly registered irq's

This commit is contained in:
shockrah 2019-11-07 03:41:20 -08:00
parent 41473c3832
commit b111e7815f
2 changed files with 49 additions and 0 deletions

View File

@ -19,6 +19,14 @@ load_idt:
lidt [idt_ptr]
ret
%macro irq_handler 2
global irq_handler_%1
irq_handler_%1:
push dword 0
push dword %2
jmp common_irq_handler
%endmacro
%macro no_err_handler 1
global no_err_handler_%1 ; defined in interrupts.h
no_err_handler_%1:
@ -109,3 +117,27 @@ no_err_handler 28
no_err_handler 29
no_err_handler 30
no_err_handler 31
common_irq_handler:
ret
; Remapped IRQ's for the APIC
# starting from irq 0 -> 15 but remapped to 32 -> 47
irq_handler 0, 32
irq_handler 1, 33
irq_handler 2, 34
irq_handler 3, 35
irq_handler 4, 36
irq_handler 5, 37
irq_handler 6, 38
irq_handler 7, 39
irq_handler 8, 40
irq_handler 9, 41
irq_handler 10, 42
irq_handler 11, 43
irq_handler 12, 44
irq_handler 13, 45
irq_handler 14, 46
irq_handler 15, 47

View File

@ -65,6 +65,23 @@ extern void no_err_handler_29();
extern void no_err_handler_30();
extern void no_err_handler_31();
// Remapped IRQ's
extern void irq_handler_0();
extern void irq_handler_1();
extern void irq_handler_2();
extern void irq_handler_3();
extern void irq_handler_4();
extern void irq_handler_5();
extern void irq_handler_6();
extern void irq_handler_7();
extern void irq_handler_8();
extern void irq_handler_9();
extern void irq_handler_10();
extern void irq_handler_11();
extern void irq_handler_12();
extern void irq_handler_13();
extern void irq_handler_14();
extern void irq_handler_15();
void setup_idt_entry(u32 t_idx, u32 base, u16 sel, u8 type_attrs) {
// Configuring a single given entry in the IDT table