X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/fedfd71f5492177a7c7d7fd2bd1529a832106395..84d85ea7b7bba78431600369cf1717166e156cd0:/lunaix-os/arch/x86/gdt.c diff --git a/lunaix-os/arch/x86/gdt.c b/lunaix-os/arch/x86/gdt.c index a59f3d2..c7eec34 100644 --- a/lunaix-os/arch/x86/gdt.c +++ b/lunaix-os/arch/x86/gdt.c @@ -4,14 +4,15 @@ #define GDT_ENTRY 5 uint64_t _gdt[GDT_ENTRY]; -uint16_t _gdt_limit = sizeof(_gdt); +uint16_t _gdt_limit = sizeof(_gdt) - 1; void _set_gdt_entry(uint32_t index, uint32_t base, uint32_t limit, uint32_t flags) { _gdt[index] = SEG_BASE_H(base) | flags | SEG_LIM_H(limit) | SEG_BASE_M(base); _gdt[index] <<= 32; _gdt[index] |= SEG_BASE_L(base) | SEG_LIM_L(limit); } -// + + void _init_gdt() { _set_gdt_entry(0, 0, 0, 0);