35 if (HobList ==
NULL) {
36 return EFI_INVALID_PARAMETER;
41 *HobList = PrivateData->HobList.Raw;
75 if (EFI_ERROR (Status)) {
84 if (0x10000 - Length <= 0x7) {
85 return EFI_INVALID_PARAMETER;
88 Length = (UINT16)((Length + 0x7) & (~0x7));
94 DEBUG ((DEBUG_ERROR,
"PeiCreateHob fail: Length - 0x%08x\n", (
UINTN)Length));
97 return EFI_OUT_OF_RESOURCES;
108 HobEnd->
HobType = EFI_HOB_TYPE_END_OF_HOB_LIST;
137 UINTN SecHobListLength;
143 if (EFI_ERROR (Status)) {
147 ASSERT (HandOffHob !=
NULL);
149 HobStart.Raw = (UINT8 *)SecHobList;
153 ASSERT (HobStart.Header->
HobType != EFI_HOB_TYPE_HANDOFF);
158 for (Hob.Raw = HobStart.Raw; !END_OF_HOB_LIST (Hob); Hob.Raw = GET_NEXT_HOB (Hob)) {
161 SecHobListLength = (
UINTN)Hob.Raw - (
UINTN)HobStart.Raw;
165 ASSERT ((SecHobListLength & 0x7) == 0);
171 DEBUG ((DEBUG_ERROR,
"PeiInstallSecHobData fail: SecHobListLength - 0x%08x\n", SecHobListLength));
174 return EFI_OUT_OF_RESOURCES;
178 CopyMem (Hob.Raw, HobStart.Raw, SecHobListLength);
183 HobEnd->
HobType = EFI_HOB_TYPE_END_OF_HOB_LIST;
205 IN UINT64 MemoryLength
217 HobEnd->
HobType = EFI_HOB_TYPE_END_OF_HOB_LIST;
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
EFI_STATUS EFIAPI PeiGetHobList(IN CONST EFI_PEI_SERVICES **PeiServices, IN OUT VOID **HobList)
VOID PeiCoreBuildHobHandoffInfoTable(IN EFI_BOOT_MODE BootMode, IN EFI_PHYSICAL_ADDRESS MemoryBegin, IN UINT64 MemoryLength)
EFI_STATUS PeiInstallSecHobData(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_HOB_GENERIC_HEADER *SecHobList)
EFI_STATUS EFIAPI PeiCreateHob(IN CONST EFI_PEI_SERVICES **PeiServices, IN UINT16 Type, IN UINT16 Length, IN OUT VOID **Hob)
#define DEBUG(Expression)
#define PEI_CORE_INSTANCE_FROM_PS_THIS(a)
#define EFI_HOB_HANDOFF_TABLE_VERSION
UINT64 EFI_PHYSICAL_ADDRESS
EFI_PHYSICAL_ADDRESS EfiFreeMemoryBottom
EFI_PHYSICAL_ADDRESS EfiMemoryTop
EFI_PHYSICAL_ADDRESS EfiFreeMemoryTop
EFI_PHYSICAL_ADDRESS EfiMemoryBottom
EFI_HOB_GENERIC_HEADER Header
EFI_PHYSICAL_ADDRESS EfiEndOfHobList