1 #ifndef __LUNAIX_CPU_X86_H
2 #define __LUNAIX_CPU_X86_H
7 #ifdef CONFIG_ARCH_X86_64
16 * @brief Load current processor state
24 asm volatile("pushf\n"
31 * @brief Load current processor config
39 asm volatile(_MOV "%%cr0,%0" : "=r"(val));
44 * @brief Change current processor state
49 cpu_chconfig(reg_t val)
51 asm(_MOV "%0, %%cr0" ::"r"(val));
55 * @brief Change current virtual memory space
60 cpu_chvmspace(reg_t val)
62 asm(_MOV "%0, %%cr3" ::"r"(val));
66 * @brief Read exeception address
74 asm volatile(_MOV "%%cr2,%0" : "=r"(val));
78 #endif /* __LUNAIX_CPU_X86_H */