arch/x86/smbios: Update SMBIOS type 4 socket designation

Add socket designation in type 4 smbios.

TEST=Execute "dmidecode -t 4" to check if the socket designation is correct

Signed-off-by: Tim Chu <Tim.Chu@quantatw.com>
Change-Id: Icfdc201bd5b5921816bdce6c009a9db48c997e2e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45443
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Tim Chu 2020-09-16 00:34:08 -07:00 committed by Patrick Georgi
parent 66dc7261e2
commit 27bf0c8efc
1 changed files with 6 additions and 0 deletions

View File

@ -552,6 +552,8 @@ static int smbios_write_type4(unsigned long *current, int handle)
struct smbios_type4 *t = (struct smbios_type4 *)*current; struct smbios_type4 *t = (struct smbios_type4 *)*current;
int len = sizeof(struct smbios_type4); int len = sizeof(struct smbios_type4);
uint16_t characteristics = 0; uint16_t characteristics = 0;
static unsigned int cnt = 0;
char buf[8];
/* Provide sane defaults even for CPU without CPUID */ /* Provide sane defaults even for CPU without CPUID */
res.eax = res.edx = 0; res.eax = res.edx = 0;
@ -564,6 +566,10 @@ static int smbios_write_type4(unsigned long *current, int handle)
t->type = SMBIOS_PROCESSOR_INFORMATION; t->type = SMBIOS_PROCESSOR_INFORMATION;
t->handle = handle; t->handle = handle;
t->length = len - 2; t->length = len - 2;
snprintf(buf, sizeof(buf), "CPU%d", cnt++);
t->socket_designation = smbios_add_string(t->eos, buf);
t->processor_id[0] = res.eax; t->processor_id[0] = res.eax;
t->processor_id[1] = res.edx; t->processor_id[1] = res.edx;
t->processor_manufacturer = smbios_cpu_vendor(t->eos); t->processor_manufacturer = smbios_cpu_vendor(t->eos);