X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/de334342a8a134a7c5b15e175d1c2ff87e6dbb2a..b91be0033265b5b6bd716bd39cb0971da41906c4:/lunaix-os/scripts/x86_idt_generator.py diff --git a/lunaix-os/scripts/x86_idt_generator.py b/lunaix-os/scripts/x86_idt_generator.py index a9af92c..38fab80 100644 --- a/lunaix-os/scripts/x86_idt_generator.py +++ b/lunaix-os/scripts/x86_idt_generator.py @@ -1,6 +1,6 @@ from pathlib import Path -intr_handler_h = "arch/x86/intrhnds.h" +intr_handler_h = "arch/i386/intrhnds.h" intr_handler_c = "kernel/asm/x86/intrhnds.c" intr_handler_s = "kernel/asm/x86/intrhnds.S" @@ -81,22 +81,22 @@ def export_c(src: Path): code = '\n'.join(expr_list) with cfile.open(mode='w+') as f: f.write(f''' -#include +#include #include #include <{intr_handler_h}> #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);