]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
UefiPayloadPkg: Assign the length of UniversalPayload ExtraData
[mirror_edk2.git] / UefiPayloadPkg / PayloadLoaderPeim / PayloadLoaderPeim.c
index c619470dbbf03b1eb9f473ac9cd1f5b340e3b55f..141ce86b460eefa9ed00838efc768be5f8453778 100644 (file)
@@ -56,6 +56,7 @@ PeiLoadFileLoadPayload (
   UINTN                         Size;\r
   UINT32                        ExtraDataCount;\r
   UINTN                         Instance;\r
+  UINTN                         Length;\r
 \r
   //\r
   // ELF is added to file as RAW section for EDKII bootloader.\r
@@ -105,11 +106,14 @@ PeiLoadFileLoadPayload (
   //\r
   // Report the additional PLD sections through HOB.\r
   //\r
+  Length = sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA) + ExtraDataCount * sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA_ENTRY);\r
   ExtraData = BuildGuidHob (\r
                &gUniversalPayloadExtraDataGuid,\r
-               sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA) + ExtraDataCount * sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA_ENTRY)\r
+               Length\r
                );\r
   ExtraData->Count = ExtraDataCount;\r
+  ExtraData->Header.Revision = UNIVERSAL_PAYLOAD_EXTRA_DATA_REVISION;\r
+  ExtraData->Header.Length = (UINT16) Length;\r
   if (ExtraDataCount != 0) {\r
     for (ExtraDataIndex = 0, Index = 0; Index < Context.ShNum; Index++) {\r
       Status = GetElfSectionName (&Context, Index, &SectionName);\r