Changeset View
Changeset View
Standalone View
Standalone View
head/sys/i386/include/cpufunc.h
Show First 20 Lines • Show All 720 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
static __inline void | static __inline void | ||||
intr_restore(register_t eflags) | intr_restore(register_t eflags) | ||||
{ | { | ||||
write_eflags(eflags); | write_eflags(eflags); | ||||
} | } | ||||
static __inline uint32_t | |||||
rdpkru(void) | |||||
{ | |||||
uint32_t res; | |||||
__asm __volatile("rdpkru" : "=a" (res) : "c" (0) : "edx"); | |||||
return (res); | |||||
} | |||||
static __inline void | |||||
wrpkru(uint32_t mask) | |||||
{ | |||||
__asm __volatile("wrpkru" : : "a" (mask), "c" (0), "d" (0)); | |||||
} | |||||
#else /* !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */ | #else /* !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */ | ||||
int breakpoint(void); | int breakpoint(void); | ||||
u_int bsfl(u_int mask); | u_int bsfl(u_int mask); | ||||
u_int bsrl(u_int mask); | u_int bsrl(u_int mask); | ||||
void clflush(u_long addr); | void clflush(u_long addr); | ||||
void clts(void); | void clts(void); | ||||
void cpuid_count(u_int ax, u_int cx, u_int *p); | void cpuid_count(u_int ax, u_int cx, u_int *p); | ||||
▲ Show 20 Lines • Show All 72 Lines • Show Last 20 Lines |