#ifndef _CPU_H #define _CPU_H #include #include #include #include typedef struct { uint64_t gdt[7]; ist_t ist; int lapicid; } cpu_t; static inline cpu_t *_cpu() { return (cpu_t *)rdmsr(MSR_GSBASE); } static inline void cpu_set(cpu_t *ptr) { wrmsr(MSR_GSBASE, (uint64_t)ptr); } #endif