summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2020-07-22 07:28:26 +0200
committerPatrick Georgi <pgeorgi@google.com>2020-07-26 21:15:34 +0000
commit4aea6915a028f57027be38204512a527d9f53891 (patch)
tree8e37f65a85be50d19e0ec373779f5cc48a7bc00c
parent604295e508208dc7ea11a4ded1b7e66954b25594 (diff)
downloadcoreboot-4aea6915a028f57027be38204512a527d9f53891.tar.xz
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 <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/43703 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/arch/x86/smbios.c2
-rw-r--r--src/include/smbios.h5
2 files changed, 7 insertions, 0 deletions
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)