From 4aea6915a028f57027be38204512a527d9f53891 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Wed, 22 Jul 2020 07:28:26 +0200 Subject: arch/x86/smbios: Fix type4 for EDK2 Mark the CPU as enabled and the socket as populated. EDK2 tests these flags before further reading this structure. Change-Id: Ic545bb47c502cb9d2352ba6d43eaed8c97229c02 Signed-off-by: Patrick Rudolph Reviewed-on: https://review.coreboot.org/c/coreboot/+/43703 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/arch/x86/smbios.c | 2 ++ src/include/smbios.h | 5 +++++ 2 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c index c38c3692dc..070c7ea29f 100644 --- a/src/arch/x86/smbios.c +++ b/src/arch/x86/smbios.c @@ -734,6 +734,8 @@ static int smbios_write_type4(unsigned long *current, int handle) t->l2_cache_handle = 0xffff; t->l3_cache_handle = 0xffff; t->serial_number = smbios_add_string(t->eos, smbios_processor_serial_number()); + t->status = SMBIOS_PROCESSOR_STATUS_CPU_ENABLED | + SMBIOS_PROCESSOR_STATUS_POPULATED; t->processor_upgrade = get_socket_type(); len = t->length + smbios_string_table_len(t->eos); if (cpu_have_cpuid() && cpuid_get_max_func() >= 0x16) { diff --git a/src/include/smbios.h b/src/include/smbios.h index 8cdd58a828..45c550a270 100644 --- a/src/include/smbios.h +++ b/src/include/smbios.h @@ -405,6 +405,11 @@ struct smbios_type4 { u8 eos[2]; } __packed; +/* defines for smbios_type4 */ + +#define SMBIOS_PROCESSOR_STATUS_POPULATED (1 << 6) +#define SMBIOS_PROCESSOR_STATUS_CPU_ENABLED (1 << 0) + /* defines for supported_sram_type/current_sram_type */ #define SMBIOS_CACHE_SRAM_TYPE_OTHER (1 << 0) -- cgit v1.2.3