184 asm volatile(
"cpuid" :
"=a"(out->
eax),
"=b"(out->
ebx),
"=c"(out->
ecx),
"=d"(out->
edx) :
"a"(eax),
"c"(ecx));
209 info->brandClflushApicid = out.
ebx;
static void cpuid(cpuid_input_eax_t eax, cpuid_input_ecx_t ecx, cpuid_output_t *out)
CPUID instruction.
cpuid_ecx_features_t
ECX feature flags.
static void cpuid_feature_info(cpuid_feature_info_t *info)
Wrapper to get CPU feature information.
static void cpuid_extended_feature_info(cpuid_extended_feature_info_t *info)
Wrapper to get CPU extended feature information.
cpuid_input_ecx_t
Input ECX values.
cpuid_ebx_features_t
EBX feature flags.
cpuid_input_eax_t
Input EAX values.
@ CPUID_ECX_XTPR_UPDATE_CONTROL
@ CPUID_EBX_FPU_CS_DS_DEPR
@ CPUID_EBX_FDP_EXCPTN_ONLY
@ CPUID_EAX_EXTENDED_FEATURE_INFO
CPU extended feature information structure.
cpuid_ebx_features_t featuresEbx
CPU feature information structure.
cpuid_ecx_features_t featuresEcx
cpuid_edx_features_t featuresEdx
uint32_t brandClflushApicid
Output structure for CPUID instruction.