Update the function defination of HobConstructor to align the Phit Hob
structure.
Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Guo Dong <guo.dong@intel.com>
Cc: Benjamin You <benjamin.you@intel.com>
Signed-off-by: Zhiguang Liu <zhiguang.liu@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Guo Dong <guo.dong@intel.com> > -----Original Message----- > From: Liu, Zhiguang <zhiguang.liu@intel.com> > Sent: Sunday, June 20, 2021 8:47 AM > To: devel@edk2.groups.io > Cc: Ma, Maurice <maurice.ma@intel.com>; Dong, Guo > <guo.dong@intel.com>; You, Benjamin <benjamin.you@intel.com> > Subject: [PATCH 04/12] UefiPayloadPkg: Update the function definition of > HobConstructor > > Update the function defination of HobConstructor to align the Phit Hob > structure. > > Cc: Maurice Ma <maurice.ma@intel.com> > Cc: Guo Dong <guo.dong@intel.com> > Cc: Benjamin You <benjamin.you@intel.com> > Signed-off-by: Zhiguang Liu <zhiguang.liu@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 (#76865): https://edk2.groups.io/g/devel/message/76865 Mute This Topic: https://groups.io/mt/83669558/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.