summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTan, Dun <dun.tan@intel.com>2021-07-13 15:19:13 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-07-13 08:18:35 +0000
commit9bf4aee7340c331a47d3a60388d478461979a45d (patch)
tree06c0c405d6fc051d9f8ce5a10f4bd9f9fb964a57
parent7d748705b17333c911c9fc25d83a72509c4879ae (diff)
downloadedk2-9bf4aee7340c331a47d3a60388d478461979a45d.tar.gz
edk2-9bf4aee7340c331a47d3a60388d478461979a45d.tar.bz2
edk2-9bf4aee7340c331a47d3a60388d478461979a45d.zip
UefiPayloadPkg: Assign the length of UniversalPayload ExtraData
V1: Assign the length and revision of UniversalPayload ExtraData V2: Force int to UINT16 V3: Create a local variable to hold the size of ExtraData Cc: Guo Dong <guo.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Maurice Ma <maurice.ma@intel.com> Cc: Benjamin You <benjamin.you@intel.com> Signed-off-by: DunTan <dun.tan@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
-rw-r--r--UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c b/UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
index c619470dbb..141ce86b46 100644
--- a/UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
+++ b/UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c
@@ -56,6 +56,7 @@ PeiLoadFileLoadPayload (
UINTN Size;
UINT32 ExtraDataCount;
UINTN Instance;
+ UINTN Length;
//
// ELF is added to file as RAW section for EDKII bootloader.
@@ -105,11 +106,14 @@ PeiLoadFileLoadPayload (
//
// Report the additional PLD sections through HOB.
//
+ Length = sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA) + ExtraDataCount * sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA_ENTRY);
ExtraData = BuildGuidHob (
&gUniversalPayloadExtraDataGuid,
- sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA) + ExtraDataCount * sizeof (UNIVERSAL_PAYLOAD_EXTRA_DATA_ENTRY)
+ Length
);
ExtraData->Count = ExtraDataCount;
+ ExtraData->Header.Revision = UNIVERSAL_PAYLOAD_EXTRA_DATA_REVISION;
+ ExtraData->Header.Length = (UINT16) Length;
if (ExtraDataCount != 0) {
for (ExtraDataIndex = 0, Index = 0; Index < Context.ShNum; Index++) {
Status = GetElfSectionName (&Context, Index, &SectionName);