| --- 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); |
| } |