Update the function defination of HobConstructor to align the Phit Hob structure.
Cc: Maurice Ma <maurice...@intel.com> Cc: Guo Dong <guo.d...@intel.com> Cc: Benjamin You <benjamin....@intel.com> Reviewed-by: Guo Dong <guo.d...@intel.com> Signed-off-by: Zhiguang Liu <zhiguang....@intel.com> --- UefiPayloadPkg/Library/PayloadEntryHobLib/Hob.c | 26 +++++++++++++------------- UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 5 +---- UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 16 ++++++++-------- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/UefiPayloadPkg/Library/PayloadEntryHobLib/Hob.c b/UefiPayloadPkg/Library/PayloadEntryHobLib/Hob.c index 23a749edf1..768c3db770 100644 --- a/UefiPayloadPkg/Library/PayloadEntryHobLib/Hob.c +++ b/UefiPayloadPkg/Library/PayloadEntryHobLib/Hob.c @@ -39,14 +39,14 @@ GetHobList ( /** Build a Handoff Information Table HOB - This function initialize a HOB region from EfiMemoryBegin with length - EfiMemoryLength. And EfiFreeMemoryBottom and EfiFreeMemoryTop should + This function initialize a HOB region from EfiMemoryBegin to + EfiMemoryTop. And EfiFreeMemoryBottom and EfiFreeMemoryTop should be inside the HOB region. - @param[in] EfiMemoryBegin Total memory start address - @param[in] EfiMemoryLength Total memory length reported in handoff HOB. - @param[in] EfiFreeMemoryBottom Free memory start address - @param[in] EfiFreeMemoryTop Free memory end address. + @param[in] EfiMemoryBottom Total memory start address + @param[in] EfiMemoryTop Total memory end address. + @param[in] EfiFreeMemoryBottom Free memory start address + @param[in] EfiFreeMemoryTop Free memory end address. @return The pointer to the handoff HOB table. @@ -54,8 +54,8 @@ GetHobList ( EFI_HOB_HANDOFF_INFO_TABLE* EFIAPI HobConstructor ( - IN VOID *EfiMemoryBegin, - IN UINTN EfiMemoryLength, + IN VOID *EfiMemoryBottom, + IN VOID *EfiMemoryTop, IN VOID *EfiFreeMemoryBottom, IN VOID *EfiFreeMemoryTop ) @@ -77,11 +77,11 @@ HobConstructor ( Hob->Version = EFI_HOB_HANDOFF_TABLE_VERSION; Hob->BootMode = BOOT_WITH_FULL_CONFIGURATION; - Hob->EfiMemoryTop = (UINTN)EfiMemoryBegin + EfiMemoryLength; - Hob->EfiMemoryBottom = (UINTN)EfiMemoryBegin; - Hob->EfiFreeMemoryTop = (UINTN)EfiFreeMemoryTop; - Hob->EfiFreeMemoryBottom = (EFI_PHYSICAL_ADDRESS)(UINTN)(HobEnd+1); - Hob->EfiEndOfHobList = (EFI_PHYSICAL_ADDRESS)(UINTN)HobEnd; + Hob->EfiMemoryTop = (EFI_PHYSICAL_ADDRESS) EfiMemoryTop; + Hob->EfiMemoryBottom = (EFI_PHYSICAL_ADDRESS) EfiMemoryBottom; + Hob->EfiFreeMemoryTop = (EFI_PHYSICAL_ADDRESS) EfiFreeMemoryTop; + Hob->EfiFreeMemoryBottom = (EFI_PHYSICAL_ADDRESS) (UINTN) (HobEnd+1); + Hob->EfiEndOfHobList = (EFI_PHYSICAL_ADDRESS) (UINTN) HobEnd; mHobList = Hob; return Hob; diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c index 19d2a8d3bd..ed956c447c 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c @@ -561,7 +561,6 @@ PayloadEntry ( PHYSICAL_ADDRESS DxeCoreEntryPoint; EFI_HOB_HANDOFF_INFO_TABLE *HandoffHobTable; UINTN MemBase; - UINTN MemSize; UINTN HobMemBase; UINTN HobMemTop; EFI_PEI_HOB_POINTERS Hob; @@ -580,9 +579,7 @@ PayloadEntry ( HobMemBase = ALIGN_VALUE (MemBase + PcdGet32 (PcdPayloadFdMemSize), SIZE_1MB); HobMemTop = HobMemBase + FixedPcdGet32 (PcdSystemMemoryUefiRegionSize); - // DXE core assumes the memory below HOB region could be used, so include the FV region memory into HOB range. - MemSize = HobMemTop - MemBase; - HandoffHobTable = HobConstructor ((VOID *)MemBase, MemSize, (VOID *)HobMemBase, (VOID *)HobMemTop); + HobConstructor ((VOID *)MemBase, (VOID *)HobMemTop, (VOID *)HobMemBase, (VOID *)HobMemTop); // Build HOB based on information from Bootloader Status = BuildHobFromBl (); diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h index 5a1b37be16..1ad7a37023 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h @@ -93,14 +93,14 @@ UpdateStackHob ( /** Build a Handoff Information Table HOB - This function initialize a HOB region from EfiMemoryBegin with length - EfiMemoryLength. And EfiFreeMemoryBottom and EfiFreeMemoryTop should + This function initialize a HOB region from EfiMemoryBegin to + EfiMemoryTop. And EfiFreeMemoryBottom and EfiFreeMemoryTop should be inside the HOB region. - @param[in] EfiMemoryBegin Total memory start address - @param[in] EfiMemoryLength Total memory length reported in handoff HOB. - @param[in] EfiFreeMemoryBottom Free memory start address - @param[in] EfiFreeMemoryTop Free memory end address. + @param[in] EfiMemoryBottom Total memory start address + @param[in] EfiMemoryTop Total memory end address. + @param[in] EfiFreeMemoryBottom Free memory start address + @param[in] EfiFreeMemoryTop Free memory end address. @return The pointer to the handoff HOB table. @@ -108,8 +108,8 @@ UpdateStackHob ( EFI_HOB_HANDOFF_INFO_TABLE* EFIAPI HobConstructor ( - IN VOID *EfiMemoryBegin, - IN UINTN EfiMemoryLength, + IN VOID *EfiMemoryBottom, + IN VOID *EfiMemoryTop, IN VOID *EfiFreeMemoryBottom, IN VOID *EfiFreeMemoryTop ); -- 2.30.0.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76891): https://edk2.groups.io/g/devel/message/76891 Mute This Topic: https://groups.io/mt/83730179/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-