Diff
Not logged in

Differences From Artifact [33f9f06d49]:

To Artifact [93405833e8]:


987
988
989
990
991
992
993
994
995
996
997







998
999
1000
1001
1002
1003
1004
1005
1006
987
988
989
990
991
992
993




994
995
996
997
998
999
1000
1001

1002
1003
1004
1005
1006
1007
1008







-
-
-
-
+
+
+
+
+
+
+

-







TclWinCPUID(
    unsigned int index,		/* Which CPUID value to retrieve. */
    unsigned int *regsPtr)	/* Registers after the CPUID. */
{
    int status = TCL_ERROR;

#ifdef HAVE_CPUID
	/* disabled in emergency -- fails on linux */
# if 0
    __asm__ __volatile__ ("cpuid":\
    "=a" (regsPtr[0]), "=b" (regsPtr[1]), "=c" (regsPtr[2]), "=d" (regsPtr[3]) : "a" (index));
    __asm__ __volatile__("pushl %%ebx      \n\t" /* save %ebx */
                 "cpuid            \n\t"
                 "movl %%ebx, %1   \n\t" /* save what cpuid just put in %ebx */
                 "popl %%ebx       \n\t" /* restore the old %ebx */
                 : "=a"(regsPtr[0]), "=r"(regsPtr[1]), "=c"(regsPtr[2]), "=d"(regsPtr[3])
                 : "a"(index)
                 : "cc");
    status = TCL_OK;
# endif
#endif
    return status;
}

/*
 * Local Variables:
 * mode: c