49,13 → 49,11 |
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; |
|
|
struct __cpuid_feature_info { |
unsigned : 23; |
unsigned mmx : 1; |
65,8 → 63,7 |
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; |
100,10 → 97,9 |
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) |
: "m" (cmd) |
: "a" (cmd) |
); |
} |
|