course 6 - interrupts
[lunaix-os.git] / lunaix-os / arch / x86 / gdt.c
index a59f3d212cdbe9fa940f98cfa35345cd5747c6d4..12bebba3693f6b7c20d8df8f1eed6572b1b8dbef 100644 (file)
@@ -4,7 +4,7 @@
 #define GDT_ENTRY 5
 
 uint64_t _gdt[GDT_ENTRY];
 #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);
 
 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);