Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libc/x86/sys/__vdso_gettc.c
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | rdtsc_mb_mfence(void) | ||||
mfence(); | mfence(); | ||||
} | } | ||||
static void | static void | ||||
rdtsc_mb_none(void) | rdtsc_mb_none(void) | ||||
{ | { | ||||
} | } | ||||
DEFINE_UIFUNC(static, void, rdtsc_mb, (void), static) | DEFINE_UIFUNC(static, void, rdtsc_mb, (void)) | ||||
{ | { | ||||
u_int p[4]; | u_int p[4]; | ||||
/* Not a typo, string matches our do_cpuid() registers use. */ | /* Not a typo, string matches our do_cpuid() registers use. */ | ||||
static const char intel_id[] = "GenuntelineI"; | static const char intel_id[] = "GenuntelineI"; | ||||
if ((cpu_feature & CPUID_SSE2) == 0) | if ((cpu_feature & CPUID_SSE2) == 0) | ||||
return (rdtsc_mb_none); | return (rdtsc_mb_none); | ||||
do_cpuid(0, p); | do_cpuid(0, p); | ||||
▲ Show 20 Lines • Show All 187 Lines • Show Last 20 Lines |