Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2019 12:10:56 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r344435 - stable/12/lib/libc/x86/sys
Message-ID:  <201902211210.x1LCAuV5080478@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Thu Feb 21 12:10:56 2019
New Revision: 344435
URL: https://svnweb.freebsd.org/changeset/base/344435

Log:
  MFC r344119:
  x86 __vdso_gettc(): use machine/cpufunc.h function for CPUID.

Modified:
  stable/12/lib/libc/x86/sys/__vdso_gettc.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/lib/libc/x86/sys/__vdso_gettc.c
==============================================================================
--- stable/12/lib/libc/x86/sys/__vdso_gettc.c	Thu Feb 21 12:09:04 2019	(r344434)
+++ stable/12/lib/libc/x86/sys/__vdso_gettc.c	Thu Feb 21 12:10:56 2019	(r344435)
@@ -54,31 +54,6 @@ __FBSDID("$FreeBSD$");
 #include "libc_private.h"
 
 static void
-cpuidp(u_int leaf, u_int p[4])
-{
-
-	__asm __volatile(
-#if defined(__i386__)
-	    "	pushl	%%ebx\n"
-#endif
-	    "	cpuid\n"
-#if defined(__i386__)
-	    "	movl	%%ebx,%1\n"
-	    "	popl	%%ebx"
-#endif
-	    : "=a" (p[0]),
-#if defined(__i386__)
-	    "=r" (p[1]),
-#elif defined(__amd64__)
-	    "=b" (p[1]),
-#else
-#error "Arch"
-#endif
-	    "=c" (p[2]), "=d" (p[3])
-	    :  "0" (leaf));
-}
-
-static void
 rdtsc_mb_lfence(void)
 {
 
@@ -100,12 +75,12 @@ rdtsc_mb_none(void)
 DEFINE_UIFUNC(static, void, rdtsc_mb, (void), static)
 {
 	u_int p[4];
-	/* Not a typo, string matches our cpuidp() registers use. */
+	/* Not a typo, string matches our do_cpuid() registers use. */
 	static const char intel_id[] = "GenuntelineI";
 
 	if ((cpu_feature & CPUID_SSE2) == 0)
 		return (rdtsc_mb_none);
-	cpuidp(0, p);
+	do_cpuid(0, p);
 	return (memcmp(p + 1, intel_id, sizeof(intel_id) - 1) == 0 ?
 	    rdtsc_mb_lfence : rdtsc_mb_mfence);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902211210.x1LCAuV5080478>