From 51a0fe07d4a96fec9130569e43183d32e38abe1a Mon Sep 17 00:00:00 2001 From: "Lu, ShifeiX A" Date: Tue, 26 Sep 2017 13:21:24 +0800 Subject: Board Name. Show different board names for different boards. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex Reviewed-by: zwei4 --- .../SmBiosMiscDxe/MiscSystemManufacturerFunction.c | 27 +++++++++++++++++++--- .../Smbios/SmBiosMiscDxe/SmBiosMiscDxe.inf | 3 ++- 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'Platform/BroxtonPlatformPkg/Common/Features') diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/MiscSystemManufacturerFunction.c b/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/MiscSystemManufacturerFunction.c index 225f424a43..bcb0c51574 100644 --- a/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/MiscSystemManufacturerFunction.c +++ b/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/MiscSystemManufacturerFunction.c @@ -2,7 +2,7 @@ This driver parses the mMiscSubclassDataTable structure and reports any generated data. - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -19,7 +19,9 @@ #include "MiscSubclassDriver.h" #include #include - +#include +#include +#include /** @@ -59,6 +61,17 @@ AddSmbiosManuCallback ( EFI_SMBIOS_PROTOCOL *Smbios; CHAR16 Buffer[40]; CHAR16 PlatformNameBuffer[40]; + EFI_PEI_HOB_POINTERS GuidHob; + GET_BOARD_NAME GetBoardNameFunc; + EFI_PLATFORM_INFO_HOB *PlatformInfo = NULL; + + + GuidHob.Raw = GetHobList (); + if (GuidHob.Raw != NULL) { + if ((GuidHob.Raw = GetNextGuidHob (&gEfiPlatformInfoGuid, GuidHob.Raw)) != NULL) { + PlatformInfo = GET_GUID_HOB_DATA (GuidHob.Guid); + } + } ForType1InputData = (EFI_MISC_SYSTEM_MANUFACTURER *) Context; @@ -72,7 +85,15 @@ AddSmbiosManuCallback ( Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID **) &Smbios); ASSERT_EFI_ERROR (Status); - UnicodeSPrint (PlatformNameBuffer, sizeof (PlatformNameBuffer), L"%s", L"MinnowBoard V3 "); + UnicodeSPrint (PlatformNameBuffer, sizeof (PlatformNameBuffer), L"%s", L"Broxton "); + + // + // Update Board Name from PCD + // + if (PlatformInfo != NULL) { + GetBoardNameFunc = (GET_BOARD_NAME) (UINTN) PcdGet64 (PcdGetBoardNameFunc); + UnicodeSPrint (PlatformNameBuffer, sizeof (PlatformNameBuffer), L"%s", GetBoardNameFunc(PlatformInfo->BoardId)); + } // // Silicon Steppings diff --git a/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/SmBiosMiscDxe.inf b/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/SmBiosMiscDxe.inf index db40a0b636..12ffea3c90 100644 --- a/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/SmBiosMiscDxe.inf +++ b/Platform/BroxtonPlatformPkg/Common/Features/Smbios/SmBiosMiscDxe/SmBiosMiscDxe.inf @@ -1,7 +1,7 @@ ## @file # Component name for module MiscSubclass. # -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -136,6 +136,7 @@ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang gEfiBxtTokenSpaceGuid.PcdEmmcManufacturerId gEfiBxtTokenSpaceGuid.PcdProductSerialNumber + gPlatformModuleTokenSpaceGuid.PcdGetBoardNameFunc [Depex] gEfiSmbiosProtocolGuid AND -- cgit v1.2.3