#include #include int ml_cpu_block_init(ml_cpu_block *p) { p->c_this = p; gdt_init(&p->c_gdt, &p->c_gdt_ptr); idt_init(&p->c_idt_ptr); return 0; } int ml_cpu_block_use(ml_cpu_block *p) { gdt_load(&p->c_gdt_ptr); idt_load(&p->c_idt_ptr); wrmsr(MSR_GS_BASE, (uint64_t)p); return 0; }