dead simple printf/sprintf implementation.
[lunaix-os.git] / lunaix-os / arch / x86 / gdt.c
index a59f3d212cdbe9fa940f98cfa35345cd5747c6d4..c7eec3470a7be048ca41bc4c8f9838e9c2a07901 100644 (file)
@@ -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);