4 #define CR4_PSE36 ( 1UL << 4 )
5 #define CR4_OSXMMEXCPT ( 1UL << 10 )
6 #define CR4_OSFXSR ( 1UL << 9 )
7 #define CR4_PCIDE ( 1UL << 17 )
8 #define CR4_PGE ( 1UL << 7 )
9 #define CR4_LA57 ( 1UL << 12 )
11 #define CR0_PG ( 1UL << 31 )
12 #define CR0_WP ( 1UL << 16 )
13 #define CR0_EM ( 1UL << 2 )
14 #define CR0_MP ( 1UL << 1 )
16 #define crx_addflag(crx, flag) \
18 "movl %%" #crx ", %%eax\n" \
20 "movl %%eax, %%" #crx "\n" \
25 #define crx_rmflag(crx, flag) \
27 "movl %%" #crx ", %%eax\n" \
29 "movl %%eax, %%" #crx "\n" \
35 cr4_setfeature(unsigned long feature)
37 crx_addflag(cr4, feature);
41 cr0_setfeature(unsigned long feature)
43 crx_addflag(cr0, feature);
47 cr0_unsetfeature(unsigned long feature)
49 crx_rmflag(cr0, feature);
52 #endif /* __LUNAIX_CR4_H */