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>
This commit is contained in:
Patrick Rudolph 2020-07-22 07:28:26 +02:00 committed by Patrick Georgi
parent 604295e508
commit 4aea6915a0
2 changed files with 7 additions and 0 deletions

View File

@ -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) {

View File

@ -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)