diff --git a/arch/x86/cpu.c b/arch/x86/cpu.c index a460d55a1..55f63dc10 100644 --- a/arch/x86/cpu.c +++ b/arch/x86/cpu.c @@ -128,6 +128,10 @@ static void get_cpu_capabilities(void) uint32_t eax, unused; uint32_t family, model; + cpuid(CPUID_VENDORSTRING, + &boot_cpu_data.cpuid_level, + &unused, &unused, &unused); + cpuid(CPUID_FEATURES, &eax, &unused, &boot_cpu_data.cpuid_leaves[FEAT_1_ECX], &boot_cpu_data.cpuid_leaves[FEAT_1_EDX]); diff --git a/include/arch/x86/cpu.h b/include/arch/x86/cpu.h index d4361f8d8..7bb63587c 100644 --- a/include/arch/x86/cpu.h +++ b/include/arch/x86/cpu.h @@ -244,6 +244,7 @@ struct cpuinfo_x86 { uint8_t x86, x86_model; uint8_t x86_virt_bits; uint8_t x86_phys_bits; + uint32_t cpuid_level; uint32_t extended_cpuid_level; uint64_t physical_address_mask; uint32_t cpuid_leaves[FEATURE_WORDS];