blob: 04cfa599413a964508114bd41706308cab24efb9 [file] [log] [blame]
--- jcpuid/src/jcpuid.c 2008-10-06 09:44:53.000000000 -0400
+++ jcpuid/src/jcpuid.c.new2 2010-12-27 09:41:53.000000000 -0500
@@ -19,6 +19,7 @@
mov d, edx
}
#else
+ #ifdef _LP64
//Use GCC assembler notation
asm
(
@@ -29,6 +30,20 @@
"=d"(d)
:"a"(iFunction)
);
+ #elif defined(__i386__)
+ asm
+ (
+ "pushl %%ebx\n\t"
+ "cpuid\n\t"
+ "movl %%ebx, %%edi\n\t"
+ "popl %%ebx"
+ : "=a" (a),
+ "=D" (b),
+ "=c" (c),
+ "=d" (d)
+ :"a"(iFunction)
+ );
+ #endif
#endif
return (*env)->NewObject(env, clsResult,constructor,a,b,c,d);
}