/**\r
Build a Handoff Information Table HOB\r
\r
- This function initialize a HOB region from EfiMemoryBegin with length\r
- EfiMemoryLength. And EfiFreeMemoryBottom and EfiFreeMemoryTop should\r
+ This function initialize a HOB region from EfiMemoryBegin to\r
+ EfiMemoryTop. And EfiFreeMemoryBottom and EfiFreeMemoryTop should\r
be inside the HOB region.\r
\r
- @param[in] EfiMemoryBegin Total memory start address\r
- @param[in] EfiMemoryLength Total memory length reported in handoff HOB.\r
- @param[in] EfiFreeMemoryBottom Free memory start address\r
- @param[in] EfiFreeMemoryTop Free memory end address.\r
+ @param[in] EfiMemoryBottom Total memory start address\r
+ @param[in] EfiMemoryTop Total memory end address.\r
+ @param[in] EfiFreeMemoryBottom Free memory start address\r
+ @param[in] EfiFreeMemoryTop Free memory end address.\r
\r
@return The pointer to the handoff HOB table.\r
\r
EFI_HOB_HANDOFF_INFO_TABLE*\r
EFIAPI\r
HobConstructor (\r
- IN VOID *EfiMemoryBegin,\r
- IN UINTN EfiMemoryLength,\r
+ IN VOID *EfiMemoryBottom,\r
+ IN VOID *EfiMemoryTop,\r
IN VOID *EfiFreeMemoryBottom,\r
IN VOID *EfiFreeMemoryTop\r
)\r
Hob->Version = EFI_HOB_HANDOFF_TABLE_VERSION;\r
Hob->BootMode = BOOT_WITH_FULL_CONFIGURATION;\r
\r
- Hob->EfiMemoryTop = (UINTN)EfiMemoryBegin + EfiMemoryLength;\r
- Hob->EfiMemoryBottom = (UINTN)EfiMemoryBegin;\r
- Hob->EfiFreeMemoryTop = (UINTN)EfiFreeMemoryTop;\r
- Hob->EfiFreeMemoryBottom = (EFI_PHYSICAL_ADDRESS)(UINTN)(HobEnd+1);\r
- Hob->EfiEndOfHobList = (EFI_PHYSICAL_ADDRESS)(UINTN)HobEnd;\r
+ Hob->EfiMemoryTop = (EFI_PHYSICAL_ADDRESS) EfiMemoryTop;\r
+ Hob->EfiMemoryBottom = (EFI_PHYSICAL_ADDRESS) EfiMemoryBottom;\r
+ Hob->EfiFreeMemoryTop = (EFI_PHYSICAL_ADDRESS) EfiFreeMemoryTop;\r
+ Hob->EfiFreeMemoryBottom = (EFI_PHYSICAL_ADDRESS) (UINTN) (HobEnd+1);\r
+ Hob->EfiEndOfHobList = (EFI_PHYSICAL_ADDRESS) (UINTN) HobEnd;\r
\r
mHobList = Hob;\r
return Hob;\r
PHYSICAL_ADDRESS DxeCoreEntryPoint;\r
EFI_HOB_HANDOFF_INFO_TABLE *HandoffHobTable;\r
UINTN MemBase;\r
- UINTN MemSize;\r
UINTN HobMemBase;\r
UINTN HobMemTop;\r
EFI_PEI_HOB_POINTERS Hob;\r
HobMemBase = ALIGN_VALUE (MemBase + PcdGet32 (PcdPayloadFdMemSize), SIZE_1MB);\r
HobMemTop = HobMemBase + FixedPcdGet32 (PcdSystemMemoryUefiRegionSize);\r
\r
- // DXE core assumes the memory below HOB region could be used, so include the FV region memory into HOB range.\r
- MemSize = HobMemTop - MemBase;\r
- HandoffHobTable = HobConstructor ((VOID *)MemBase, MemSize, (VOID *)HobMemBase, (VOID *)HobMemTop);\r
+ HobConstructor ((VOID *)MemBase, (VOID *)HobMemTop, (VOID *)HobMemBase, (VOID *)HobMemTop);\r
\r
// Build HOB based on information from Bootloader\r
Status = BuildHobFromBl ();\r
/**\r
Build a Handoff Information Table HOB\r
\r
- This function initialize a HOB region from EfiMemoryBegin with length\r
- EfiMemoryLength. And EfiFreeMemoryBottom and EfiFreeMemoryTop should\r
+ This function initialize a HOB region from EfiMemoryBegin to\r
+ EfiMemoryTop. And EfiFreeMemoryBottom and EfiFreeMemoryTop should\r
be inside the HOB region.\r
\r
- @param[in] EfiMemoryBegin Total memory start address\r
- @param[in] EfiMemoryLength Total memory length reported in handoff HOB.\r
- @param[in] EfiFreeMemoryBottom Free memory start address\r
- @param[in] EfiFreeMemoryTop Free memory end address.\r
+ @param[in] EfiMemoryBottom Total memory start address\r
+ @param[in] EfiMemoryTop Total memory end address.\r
+ @param[in] EfiFreeMemoryBottom Free memory start address\r
+ @param[in] EfiFreeMemoryTop Free memory end address.\r
\r
@return The pointer to the handoff HOB table.\r
\r
EFI_HOB_HANDOFF_INFO_TABLE*\r
EFIAPI\r
HobConstructor (\r
- IN VOID *EfiMemoryBegin,\r
- IN UINTN EfiMemoryLength,\r
+ IN VOID *EfiMemoryBottom,\r
+ IN VOID *EfiMemoryTop,\r
IN VOID *EfiFreeMemoryBottom,\r
IN VOID *EfiFreeMemoryTop\r
);\r