diff options
author | Tan, Dun <dun.tan@intel.com> | 2021-07-13 15:19:13 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2021-07-13 08:18:35 +0000 |
commit | 9bf4aee7340c331a47d3a60388d478461979a45d (patch) | |
tree | 06c0c405d6fc051d9f8ce5a10f4bd9f9fb964a57 /UefiPayloadPkg/PayloadLoaderPeim | |
parent | 7d748705b17333c911c9fc25d83a72509c4879ae (diff) | |
download | edk2-9bf4aee7340c331a47d3a60388d478461979a45d.tar.gz |
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>
Diffstat (limited to 'UefiPayloadPkg/PayloadLoaderPeim')
-rw-r--r-- | UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c | 6 |
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);
|