Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2317 → Rev 2316

/trunk/kernel/arch/ia32/include/cpuid.h
49,11 → 49,13
unsigned : 31;
} __attribute__ ((packed));
 
typedef union cpuid_extended_feature_info {
typedef union cpuid_extended_feature_info
{
struct __cpuid_extended_feature_info bits;
uint32_t word;
} cpuid_extended_feature_info;
uint32_t word;
}cpuid_extended_feature_info;
 
 
struct __cpuid_feature_info {
unsigned : 23;
unsigned mmx : 1;
63,10 → 65,11
unsigned : 5;
} __attribute__ ((packed));
 
typedef union cpuid_feature_info {
typedef union cpuid_feature_info
{
struct __cpuid_feature_info bits;
uint32_t word;
} cpuid_feature_info;
uint32_t word ;
}cpuid_feature_info;
 
 
static inline uint32_t has_cpuid(void)
97,9 → 100,10
static inline void cpuid(uint32_t cmd, cpu_info_t *info)
{
asm volatile (
"movl %4, %%eax\n"
"cpuid\n"
: "=a" (info->cpuid_eax), "=b" (info->cpuid_ebx), "=c" (info->cpuid_ecx), "=d" (info->cpuid_edx)
: "a" (cmd)
: "m" (cmd)
);
}