mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 21:54:27 +02:00
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> Reviewed-by: Guo Dong <guo.dong@intel.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
This commit is contained in:
parent
a75c029f60
commit
d63595c3c9
@ -39,14 +39,14 @@ GetHobList (
|
|||||||
/**
|
/**
|
||||||
Build a Handoff Information Table HOB
|
Build a Handoff Information Table HOB
|
||||||
|
|
||||||
This function initialize a HOB region from EfiMemoryBegin with length
|
This function initialize a HOB region from EfiMemoryBegin to
|
||||||
EfiMemoryLength. And EfiFreeMemoryBottom and EfiFreeMemoryTop should
|
EfiMemoryTop. And EfiFreeMemoryBottom and EfiFreeMemoryTop should
|
||||||
be inside the HOB region.
|
be inside the HOB region.
|
||||||
|
|
||||||
@param[in] EfiMemoryBegin Total memory start address
|
@param[in] EfiMemoryBottom Total memory start address
|
||||||
@param[in] EfiMemoryLength Total memory length reported in handoff HOB.
|
@param[in] EfiMemoryTop Total memory end address.
|
||||||
@param[in] EfiFreeMemoryBottom Free memory start address
|
@param[in] EfiFreeMemoryBottom Free memory start address
|
||||||
@param[in] EfiFreeMemoryTop Free memory end address.
|
@param[in] EfiFreeMemoryTop Free memory end address.
|
||||||
|
|
||||||
@return The pointer to the handoff HOB table.
|
@return The pointer to the handoff HOB table.
|
||||||
|
|
||||||
@ -54,8 +54,8 @@ GetHobList (
|
|||||||
EFI_HOB_HANDOFF_INFO_TABLE*
|
EFI_HOB_HANDOFF_INFO_TABLE*
|
||||||
EFIAPI
|
EFIAPI
|
||||||
HobConstructor (
|
HobConstructor (
|
||||||
IN VOID *EfiMemoryBegin,
|
IN VOID *EfiMemoryBottom,
|
||||||
IN UINTN EfiMemoryLength,
|
IN VOID *EfiMemoryTop,
|
||||||
IN VOID *EfiFreeMemoryBottom,
|
IN VOID *EfiFreeMemoryBottom,
|
||||||
IN VOID *EfiFreeMemoryTop
|
IN VOID *EfiFreeMemoryTop
|
||||||
)
|
)
|
||||||
@ -77,11 +77,11 @@ HobConstructor (
|
|||||||
Hob->Version = EFI_HOB_HANDOFF_TABLE_VERSION;
|
Hob->Version = EFI_HOB_HANDOFF_TABLE_VERSION;
|
||||||
Hob->BootMode = BOOT_WITH_FULL_CONFIGURATION;
|
Hob->BootMode = BOOT_WITH_FULL_CONFIGURATION;
|
||||||
|
|
||||||
Hob->EfiMemoryTop = (UINTN)EfiMemoryBegin + EfiMemoryLength;
|
Hob->EfiMemoryTop = (EFI_PHYSICAL_ADDRESS) EfiMemoryTop;
|
||||||
Hob->EfiMemoryBottom = (UINTN)EfiMemoryBegin;
|
Hob->EfiMemoryBottom = (EFI_PHYSICAL_ADDRESS) EfiMemoryBottom;
|
||||||
Hob->EfiFreeMemoryTop = (UINTN)EfiFreeMemoryTop;
|
Hob->EfiFreeMemoryTop = (EFI_PHYSICAL_ADDRESS) EfiFreeMemoryTop;
|
||||||
Hob->EfiFreeMemoryBottom = (EFI_PHYSICAL_ADDRESS)(UINTN)(HobEnd+1);
|
Hob->EfiFreeMemoryBottom = (EFI_PHYSICAL_ADDRESS) (UINTN) (HobEnd+1);
|
||||||
Hob->EfiEndOfHobList = (EFI_PHYSICAL_ADDRESS)(UINTN)HobEnd;
|
Hob->EfiEndOfHobList = (EFI_PHYSICAL_ADDRESS) (UINTN) HobEnd;
|
||||||
|
|
||||||
mHobList = Hob;
|
mHobList = Hob;
|
||||||
return Hob;
|
return Hob;
|
||||||
|
@ -561,7 +561,6 @@ PayloadEntry (
|
|||||||
PHYSICAL_ADDRESS DxeCoreEntryPoint;
|
PHYSICAL_ADDRESS DxeCoreEntryPoint;
|
||||||
EFI_HOB_HANDOFF_INFO_TABLE *HandoffHobTable;
|
EFI_HOB_HANDOFF_INFO_TABLE *HandoffHobTable;
|
||||||
UINTN MemBase;
|
UINTN MemBase;
|
||||||
UINTN MemSize;
|
|
||||||
UINTN HobMemBase;
|
UINTN HobMemBase;
|
||||||
UINTN HobMemTop;
|
UINTN HobMemTop;
|
||||||
EFI_PEI_HOB_POINTERS Hob;
|
EFI_PEI_HOB_POINTERS Hob;
|
||||||
@ -580,9 +579,7 @@ PayloadEntry (
|
|||||||
HobMemBase = ALIGN_VALUE (MemBase + PcdGet32 (PcdPayloadFdMemSize), SIZE_1MB);
|
HobMemBase = ALIGN_VALUE (MemBase + PcdGet32 (PcdPayloadFdMemSize), SIZE_1MB);
|
||||||
HobMemTop = HobMemBase + FixedPcdGet32 (PcdSystemMemoryUefiRegionSize);
|
HobMemTop = HobMemBase + FixedPcdGet32 (PcdSystemMemoryUefiRegionSize);
|
||||||
|
|
||||||
// DXE core assumes the memory below HOB region could be used, so include the FV region memory into HOB range.
|
HobConstructor ((VOID *)MemBase, (VOID *)HobMemTop, (VOID *)HobMemBase, (VOID *)HobMemTop);
|
||||||
MemSize = HobMemTop - MemBase;
|
|
||||||
HandoffHobTable = HobConstructor ((VOID *)MemBase, MemSize, (VOID *)HobMemBase, (VOID *)HobMemTop);
|
|
||||||
|
|
||||||
// Build HOB based on information from Bootloader
|
// Build HOB based on information from Bootloader
|
||||||
Status = BuildHobFromBl ();
|
Status = BuildHobFromBl ();
|
||||||
|
@ -93,14 +93,14 @@ UpdateStackHob (
|
|||||||
/**
|
/**
|
||||||
Build a Handoff Information Table HOB
|
Build a Handoff Information Table HOB
|
||||||
|
|
||||||
This function initialize a HOB region from EfiMemoryBegin with length
|
This function initialize a HOB region from EfiMemoryBegin to
|
||||||
EfiMemoryLength. And EfiFreeMemoryBottom and EfiFreeMemoryTop should
|
EfiMemoryTop. And EfiFreeMemoryBottom and EfiFreeMemoryTop should
|
||||||
be inside the HOB region.
|
be inside the HOB region.
|
||||||
|
|
||||||
@param[in] EfiMemoryBegin Total memory start address
|
@param[in] EfiMemoryBottom Total memory start address
|
||||||
@param[in] EfiMemoryLength Total memory length reported in handoff HOB.
|
@param[in] EfiMemoryTop Total memory end address.
|
||||||
@param[in] EfiFreeMemoryBottom Free memory start address
|
@param[in] EfiFreeMemoryBottom Free memory start address
|
||||||
@param[in] EfiFreeMemoryTop Free memory end address.
|
@param[in] EfiFreeMemoryTop Free memory end address.
|
||||||
|
|
||||||
@return The pointer to the handoff HOB table.
|
@return The pointer to the handoff HOB table.
|
||||||
|
|
||||||
@ -108,8 +108,8 @@ UpdateStackHob (
|
|||||||
EFI_HOB_HANDOFF_INFO_TABLE*
|
EFI_HOB_HANDOFF_INFO_TABLE*
|
||||||
EFIAPI
|
EFIAPI
|
||||||
HobConstructor (
|
HobConstructor (
|
||||||
IN VOID *EfiMemoryBegin,
|
IN VOID *EfiMemoryBottom,
|
||||||
IN UINTN EfiMemoryLength,
|
IN VOID *EfiMemoryTop,
|
||||||
IN VOID *EfiFreeMemoryBottom,
|
IN VOID *EfiFreeMemoryBottom,
|
||||||
IN VOID *EfiFreeMemoryTop
|
IN VOID *EfiFreeMemoryTop
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user