#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);