soc/intel/ptl: Populate SMBIOS Type 4 with unique serial number

This commit enhances the SMBIOS Type 4 table by populating the "serial
number" field with the unique SoC QDF information retrieved via PMC
IPC.

This improvement provides more accurate and detailed processor
information for Panther Lake SoCs and onwards, aiding in:

- System identification
- Diagnostics
- Asset management

Previously, the serial number field was not populated.

TEST=Able to build and boot google/fatcat.

Example of SMBIOS Type 4 output:

Before this commit:

  Serial Number: Not Specified
  Asset Tag: Not Specified
  Part Number: Not Specified

After this commit:

  Serial Number: ABCD  (Example SoC QDF information)
  Asset Tag: Not Specified
  Part Number: Not Specified

Change-Id: I38a0bb0e44c619393b8f058ae30fbf2f9719b724
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85456
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
This commit is contained in:
Subrata Banik 2024-12-04 00:01:10 +05:30
commit 1b175a64e3

View file

@ -15,6 +15,8 @@
#include <intelblocks/cpulib.h>
#include <intelblocks/mp_init.h>
#include <intelblocks/msr.h>
#include <intelblocks/pmclib.h>
#include <smbios.h>
#include <soc/cpu.h>
#include <soc/msr.h>
#include <soc/pci_devs.h>
@ -234,3 +236,14 @@ int soc_skip_ucode_update(u32 current_patch_id, u32 new_patch_id)
return 0;
}
/* Override SMBIOS type 4 processor serial numbers */
const char *smbios_processor_serial_number(void)
{
char *qdf = retrieve_soc_qdf_info_via_pmc_ipc();
if (qdf != NULL)
return qdf;
else
return "";
}