From 14bfcc402163d5e4fdefb1258740a24b6ee7261d Mon Sep 17 00:00:00 2001 From: Gua Guo Date: Sat, 21 Sep 2024 17:16:01 +0800 Subject: [PATCH] UefiPayloadPkg: Align relocation item with spec Currently, FIT Payload data relocation data has some minor error with Universal Payload Specification v0.9.1 section 2.4.3. Signed-off-by: Gua Guo --- UefiPayloadPkg/PayloadLoaderPeim/FitLib.h | 2 +- UefiPayloadPkg/UniversalPayloadBuild.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/UefiPayloadPkg/PayloadLoaderPeim/FitLib.h b/UefiPayloadPkg/PayloadLoaderPeim/FitLib.h index 6a93b41590..05b790b42e 100644 --- a/UefiPayloadPkg/PayloadLoaderPeim/FitLib.h +++ b/UefiPayloadPkg/PayloadLoaderPeim/FitLib.h @@ -12,8 +12,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include typedef struct { - UINT64 RelocateType; UINT64 Offset; + UINT64 RelocateType; } FIT_RELOCATE_ITEM; typedef struct { diff --git a/UefiPayloadPkg/UniversalPayloadBuild.py b/UefiPayloadPkg/UniversalPayloadBuild.py index 59c78a21b4..c3d02cbc29 100644 --- a/UefiPayloadPkg/UniversalPayloadBuild.py +++ b/UefiPayloadPkg/UniversalPayloadBuild.py @@ -269,7 +269,7 @@ def BuildUniversalPayload(Args): continue Type = entry.type Offset = entry.rva + fit_image_info_header.DataOffset - RelocBinary += Type.to_bytes (8, 'little') + Offset.to_bytes (8, 'little') + RelocBinary += Offset.to_bytes (8, 'little') + Type.to_bytes (8, 'little') RelocBinary += b'\x00' * (0x1000 - (len(RelocBinary) % 0x1000)) #