From 9a6b4de21d53c3acf85e1948bf0d3a5e5576172c Mon Sep 17 00:00:00 2001 From: mdkinney Date: Thu, 9 Jul 2009 23:52:16 +0000 Subject: Update BdsDxe to fill int he FirmwareVendor and FirmwareRevision fields of the EFI System Table based on PCD settings git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8849 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf | 2 ++ IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+) (limited to 'IntelFrameworkModulePkg') diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf index 0c87212..2bd1bfb 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf @@ -169,6 +169,8 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState + gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor + gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareRevision [Depex] TRUE diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c index 322cb59..055a52d 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c @@ -278,6 +278,7 @@ BdsEntry ( LIST_ENTRY DriverOptionList; LIST_ENTRY BootOptionList; UINTN BootNextSize; + CHAR16 *FirmwareVendor; // // Insert the performance probe @@ -297,6 +298,19 @@ BdsEntry ( InitializeHotkeyService (); // + // Fill in FirmwareVendor and FirmwareRevision from PCDs + // + FirmwareVendor = (CHAR16 *)PcdGetPtr (PcdFirmwareVendor); + gST->FirmwareVendor = AllocateRuntimeCopyPool (StrSize (FirmwareVendor), FirmwareVendor); + ASSERT (gST->FirmwareVendor != NULL); + gST->FirmwareRevision = PcdGet32 (PcdFirmwareRevision); + + // + // Fixup Tasble CRC after we updated Firmware Vendor and Revision + // + gBS->CalculateCrc32 ((VOID *)gST, sizeof(EFI_SYSTEM_TABLE), &gST->Hdr.CRC32); + + // // Do the platform init, can be customized by OEM/IBV // PERF_START (0, "PlatformBds", "BDS", 0); -- cgit v1.1