#include #include #include #include #include uint64_t gdt[5]; void kmain(void) { gdt[0] = create_descriptor(0, 0, 0); // null gdt[1] = create_descriptor(0, 0x000FFFFF, (GDT_CODE_PL0)); gdt[2] = create_descriptor(0, 0x000FFFFF, (GDT_DATA_PL0)); gdt[3] = create_descriptor(0, 0x000FFFFF, (GDT_CODE_PL3)); gdt[4] = create_descriptor(0, 0x000FFFFF, (GDT_DATA_PL3)); setGdt((sizeof(uint64_t) * 5) - 1, &(gdt[0])); reloadSegments(); terminal_initialize(); serial_initialize(); terminal_writestring("test"); serial_writestring("test!"); printf("test.."); }