gdt.h (467B)
1 #ifndef GDT_H 2 #define GDT_H 3 4 #include <stdint.h> 5 6 #define GDT_ENTRIES 3 7 8 struct gdt_entry { 9 uint16_t limit_lower; 10 uint16_t base_lower; 11 uint8_t base_middle; 12 uint8_t access_rights; 13 uint8_t flags_limit_higher; 14 uint8_t base_higher; 15 } __attribute__((packed)); 16 17 struct gdt_description { 18 uint16_t limit; 19 uint32_t base; 20 } __attribute__((packed)); 21 22 struct gdt_entry gdt[GDT_ENTRIES]; 23 struct gdt_description gdt_desc; 24 25 void gdt_setup(); 26 27 #endif