X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/de334342a8a134a7c5b15e175d1c2ff87e6dbb2a..87067c7f16425837971f5c1b5fd0fc5338757377:/lunaix-os/kernel/asm/x86/intrhnds.c diff --git a/lunaix-os/kernel/asm/x86/intrhnds.c b/lunaix-os/kernel/asm/x86/intrhnds.c index 8aa0a72..70b597f 100644 --- a/lunaix-os/kernel/asm/x86/intrhnds.c +++ b/lunaix-os/kernel/asm/x86/intrhnds.c @@ -1,26 +1,28 @@ #include -#include #include +#include #define IDT_ENTRY 256 -uint64_t _idt[IDT_ENTRY]; -uint16_t _idt_limit = sizeof(_idt) - 1; +u64_t _idt[IDT_ENTRY]; +u16_t _idt_limit = sizeof(_idt) - 1; static inline void -_set_idt_entry(uint32_t vector, - uint16_t seg_selector, +_set_idt_entry(u32_t vector, + u16_t seg_selector, void (*isr)(), - uint8_t dpl, - uint8_t type) + u8_t dpl, + u8_t type) { - uintptr_t offset = (uintptr_t)isr; + ptr_t offset = (ptr_t)isr; _idt[vector] = (offset & 0xffff0000) | IDT_ATTR(dpl, type); _idt[vector] <<= 32; _idt[vector] |= (seg_selector << 16) | (offset & 0x0000ffff); } -void _init_idt() { +void +_init_idt() +{ _set_idt_entry(0, 8, _asm_isr0, 0, IDT_INTERRUPT); _set_idt_entry(1, 8, _asm_isr1, 0, IDT_INTERRUPT); _set_idt_entry(2, 8, _asm_isr2, 0, IDT_INTERRUPT);