Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2314 → Rev 2315

/branches/rcu/kernel/arch/ia32/include/cpuid.h
99,18 → 99,20
 
static inline void cpuid(uint32_t cmd, cpu_info_t *info)
{
register int eax asm("eax")=cmd;
register int ebx asm("ebx");
register int ecx asm("ecx");
register int edx asm("edx");
asm volatile (
"movl %4, %%eax\n"
"cpuid\n"
"movl %%eax, %0\n"
"movl %%ebx, %1\n"
"movl %%ecx, %2\n"
"movl %%edx, %3\n"
: "=m" (info->cpuid_eax), "=m" (info->cpuid_ebx), "=m" (info->cpuid_ecx), "=m" (info->cpuid_edx)
: "m" (cmd)
: "eax", "ebx", "ecx", "edx"
: "=r" (eax), "=r" (ebx), "=r" (ecx), "=r" (edx)
: "r" (eax)
);
info->cpuid_eax=eax;
info->cpuid_ebx=ebx;
info->cpuid_ecx=ecx;
info->cpuid_edx=edx;
}
 
#endif