diff options
author | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-07-09 23:52:16 +0000 |
---|---|---|
committer | mdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-07-09 23:52:16 +0000 |
commit | 9a6b4de21d53c3acf85e1948bf0d3a5e5576172c (patch) | |
tree | 2a9ea6b9d962c605098596c512acb02b09af3e7d /IntelFrameworkModulePkg/Universal | |
parent | 6144e7afeeffaf2c0fef050e5c8ad15fe2d9aabc (diff) | |
download | edk2-platforms-9a6b4de21d53c3acf85e1948bf0d3a5e5576172c.tar.xz |
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
Diffstat (limited to 'IntelFrameworkModulePkg/Universal')
-rw-r--r-- | IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf | 2 | ||||
-rw-r--r-- | IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf index 0c87212821..2bd1bfb997 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 322cb59f99..055a52df1b 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);
|