diff options
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/smbios.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c index 8c595ff3d4..c7827ed5e5 100644 --- a/src/arch/x86/smbios.c +++ b/src/arch/x86/smbios.c @@ -686,15 +686,16 @@ static int smbios_write_type4(unsigned long *current, int handle) t->processor_upgrade = get_socket_type(); len = t->length + smbios_string_table_len(t->eos); if (cpu_have_cpuid() && cpuid_get_max_func() >= 0x16) { - t->max_speed = cpuid_ebx(0x16); t->current_speed = cpuid_eax(0x16); /* base frequency */ t->external_clock = cpuid_ecx(0x16); } else { - t->max_speed = smbios_cpu_get_max_speed_mhz(); t->current_speed = smbios_cpu_get_current_speed_mhz(); t->external_clock = smbios_processor_external_clock(); } + /* This field identifies a capability for the system, not the processor itself. */ + t->max_speed = smbios_cpu_get_max_speed_mhz(); + if (cpu_have_cpuid()) { res = cpuid(1); |