// https://xarnze.com/posts/post/Tutorial:%20Entering%20User%20mode // http://wiki.osdev.org/TSS // http://wiki.osdev.org/Global_Descriptor_Table // http://wiki.osdev.org/GDT_Tutorial //https://wiki.osdev.org/Task_State_Segment #include /** Call this one on each CPU to get a fresh 6-entries GDT * * 0 * * ring0 code * * ring0 data * * ring3 code * * ring3 data * * tss */ void gdt_init(); /** update tss.esp0 for a given cpu */ void install_tss(uint32_t cpu,uint32_t esp0);