aboutsummaryrefslogtreecommitdiff
path: root/util/inteltool/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/inteltool/cpu.c')
-rw-r--r--util/inteltool/cpu.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/util/inteltool/cpu.c b/util/inteltool/cpu.c
index bde93dee9d..c1972b77ea 100644
--- a/util/inteltool/cpu.c
+++ b/util/inteltool/cpu.c
@@ -32,6 +32,7 @@ unsigned int cpuid(unsigned int op)
{
unsigned int ret;
unsigned int dummy2, dummy3, dummy4;
+#if DARWIN
asm volatile (
"pushl %%ebx \n"
"cpuid \n"
@@ -41,6 +42,14 @@ unsigned int cpuid(unsigned int op)
: "a" (op)
: "cc"
);
+#else
+ asm volatile (
+ "cpuid"
+ : "=a" (ret), "=b" (dummy2), "=c" (dummy3), "=d" (dummy4)
+ : "a" (op)
+ : "cc"
+ );
+#endif
return ret;
}