diff options
author | kib <kib@FreeBSD.org> | 2017-08-15 09:44:18 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2017-08-15 09:44:18 +0000 |
commit | 797a34a67431bac694ab2b48f635628a11632311 (patch) | |
tree | f6743cb19400676a3494ce9ee6cd4422e2cda79a /lib | |
parent | 3fa77f9038ed35c5ab08407553d5ffd07ccd6a5f (diff) | |
download | FreeBSD-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')
-rw-r--r-- | lib/libc/x86/sys/__vdso_gettc.c | 4 |
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 |