[edk2-devel] [PATCH 04/12] UefiPayloadPkg: Update the function definition of HobConstructor
Zhiguang Liu
zhiguang.liu at intel.com
Sun Jun 20 15:46:54 UTC 2021
Update the function defination of HobConstructor to align the Phit Hob
structure.
Cc: Maurice Ma <maurice.ma at intel.com>
Cc: Guo Dong <guo.dong at intel.com>
Cc: Benjamin You <benjamin.you at intel.com>
Signed-off-by: Zhiguang Liu <zhiguang.liu at 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 8c6f7e326f..4308936d63 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
@@ -382,7 +382,6 @@ PayloadEntry (
PHYSICAL_ADDRESS DxeCoreEntryPoint;
EFI_HOB_HANDOFF_INFO_TABLE *HandoffHobTable;
UINTN MemBase;
- UINTN MemSize;
UINTN HobMemBase;
UINTN HobMemTop;
EFI_PEI_HOB_POINTERS Hob;
@@ -401,9 +400,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 a4c9da128e..e9c3ec3073 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
+++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
@@ -83,14 +83,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.
@@ -98,8 +98,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.16.2.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#76779): https://edk2.groups.io/g/devel/message/76779
Mute This Topic: https://groups.io/mt/83669558/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list