summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2017-08-15 09:44:18 +0000
committerkib <kib@FreeBSD.org>2017-08-15 09:44:18 +0000
commit797a34a67431bac694ab2b48f635628a11632311 (patch)
treef6743cb19400676a3494ce9ee6cd4422e2cda79a /lib/libc
parent3fa77f9038ed35c5ab08407553d5ffd07ccd6a5f (diff)
downloadFreeBSD-src-797a34a67431bac694ab2b48f635628a11632311.zip
FreeBSD-src-797a34a67431bac694ab2b48f635628a11632311.tar.gz
MFC r322456:
On i386 with CPUID but without SSE2, set lfence_works to LMB_NONE instead of looping.
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/x86/sys/__vdso_gettc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/x86/sys/__vdso_gettc.c b/lib/libc/x86/sys/__vdso_gettc.c
index 4ada5e7..ef2ca69 100644
--- a/lib/libc/x86/sys/__vdso_gettc.c
+++ b/lib/libc/x86/sys/__vdso_gettc.c
@@ -101,6 +101,7 @@ init_fence(void)
#if defined(__i386__)
u_int cpuid_supported, p[4];
+ lfence_works = LMB_NONE;
__asm __volatile(
" pushfl\n"
" popl %%eax\n"
@@ -121,8 +122,7 @@ init_fence(void)
cpuidp(0x1, p);
if ((p[3] & CPUID_SSE2) != 0)
lfence_works = select_lmb();
- } else
- lfence_works = LMB_NONE;
+ }
#elif defined(__amd64__)
lfence_works = select_lmb();
#else
OpenPOWER on IntegriCloud