|
|
{ | { |
int eax, ecx, edx; | int eax, ecx, edx; |
| |
__asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" |
__asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" |
: "=a" (eax), "=c" (ecx), "=d" (edx) | : "=a" (eax), "=c" (ecx), "=d" (edx) |
: "a" (op)); | : "a" (op)); |
return edx; | return edx; |
|
|
{ | { |
int eax, ecx, edx; | int eax, ecx, edx; |
| |
__asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" |
__asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" |
: "=a" (eax), "=c" (ecx), "=d" (edx) | : "=a" (eax), "=c" (ecx), "=d" (edx) |
: "a" (op)); | : "a" (op)); |
return eax; | return eax; |