32 #ifndef CONTROL_REGISTER_H_
33 #define CONTROL_REGISTER_H_
59 static inline void ckAsmClearTS(
void)
61 __asm__ __volatile__ (
"clts" );
67 static inline uint32_t ckAsmGetCr0(
void)
70 __asm__ __volatile__ (
"mov %%cr0, %0" :
"=r"(ret) );
74 static inline void ckAsmSetCr0(uint32_t value)
76 __asm__ __volatile__ (
"mov %0, %%cr0" : :
"r"(value) );
80 static inline uint32_t ckAsmGetCr3(
void)
83 __asm__ __volatile__ (
"mov %%cr3, %0 " :
"=r"(ret) );
87 static inline void ckAsmSetCr3(uint32_t value)
90 __asm__ __volatile__ (
"mov %0, %%cr3" : :
"r"(value) :
"memory" );
94 static inline uint32_t ckAsmGetCr4(
void)
97 __asm__ __volatile__ (
"mov %%cr4, %0 " :
"=r"(ret) );
101 static inline void ckAsmSetCr4(uint32_t value)
103 __asm__ __volatile__ (
"mov %0, %%cr4" : :
"r"(value) );
Definition: control_register.h:50
Definition: control_register.h:38
Definition: control_register.h:49
Definition: control_register.h:39
Definition: control_register.h:42
tagCr3Flags
cr4 레지스터의 플래그입니다.
Definition: control_register.h:47
tagCr0Flags
cr0 레지스터의 플래그입니다.
Definition: control_register.h:36
Definition: control_register.h:43
Definition: control_register.h:40
Definition: control_register.h:41