41 Hob.Raw =
GetFirstHob (EFI_HOB_TYPE_MEMORY_ALLOCATION);
42 while (Hob.Raw !=
NULL) {
48 Hob.Raw =
GetNextHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, GET_NEXT_HOB (Hob));
62 OUT UINT64 *ImageSize,
70 ZeroMem (&ImageContext,
sizeof (ImageContext));
72 ImageContext.
Handle = PeCoffImage;
113(EFIAPI *DXE_CORE_ENTRY_POINT)(
119LoadDxeCoreFromFfsFile (
135 if (EFI_ERROR (Status)) {
139 Status =
LoadPeCoffImage (PeCoffImage, &ImageAddress, &ImageSize, &EntryPoint);
151 DEBUG ((DEBUG_INFO | DEBUG_LOAD,
"Loading DxeCore at 0x%10p EntryPoint=0x%10p\n", (VOID *)(
UINTN)ImageAddress, (VOID *)(
UINTN)EntryPoint));
154 if (StackSize == 0) {
157 ((DXE_CORE_ENTRY_POINT)(
UINTN)EntryPoint)(Hob);
163 ASSERT (BaseOfStack !=
NULL);
186 DEBUG ((DEBUG_ERROR,
"DxeCore returned\n"));
189 return EFI_DEVICE_ERROR;
203 if (FvInstance !=
NULL) {
208 if (!EFI_ERROR (Status)) {
209 Status =
FfsFindNextFile (EFI_FV_FILETYPE_DXE_CORE, VolumeHandle, &FileHandle);
215 if (!EFI_ERROR (Status)) {
216 return LoadDxeCoreFromFfsFile (FileHandle, StackSize);
233 if (!EFI_ERROR (Status)) {
#define CPU_STACK_ALIGNMENT
VOID *EFIAPI InvalidateInstructionCacheRange(IN VOID *Address, IN UINTN Length)
VOID *EFIAPI GetFirstHob(IN UINT16 Type)
VOID EFIAPI BuildModuleHob(IN CONST EFI_GUID *ModuleName, IN EFI_PHYSICAL_ADDRESS MemoryAllocationModule, IN UINT64 ModuleLength, IN EFI_PHYSICAL_ADDRESS EntryPoint)
VOID *EFIAPI GetNextHob(IN UINT16 Type, IN CONST VOID *HobStart)
VOID *EFIAPI GetHobList(VOID)
VOID EFIAPI SwitchStack(IN SWITCH_STACK_ENTRY_POINT EntryPoint, IN VOID *Context1 OPTIONAL, IN VOID *Context2 OPTIONAL, IN VOID *NewStack,...)
VOID(EFIAPI * SWITCH_STACK_ENTRY_POINT)(IN VOID *Context1 OPTIONAL, IN VOID *Context2 OPTIONAL)
VOID *EFIAPI ZeroMem(OUT VOID *Buffer, IN UINTN Length)
VOID EFIAPI FreePages(IN VOID *Buffer, IN UINTN Pages)
#define ALIGN_POINTER(Pointer, Alignment)
#define ASSERT_EFI_ERROR(StatusParameter)
#define DEBUG(Expression)
RETURN_STATUS EFIAPI PeCoffLoaderLoadImage(IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext)
RETURN_STATUS EFIAPI PeCoffLoaderRelocateImage(IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext)
RETURN_STATUS EFIAPI PeCoffLoaderGetImageInfo(IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext)
RETURN_STATUS EFIAPI PeCoffLoaderImageReadFromMemory(IN VOID *FileHandle, IN UINTN FileOffset, IN OUT UINTN *ReadSize, OUT VOID *Buffer)
VOID * EFI_PEI_FILE_HANDLE
STATIC VOID *EFIAPI AllocateCodePages(IN UINTN Pages)
EFI_STATUS EFIAPI FfsFindSectionDataWithHook(IN EFI_SECTION_TYPE SectionType, IN FFS_CHECK_SECTION_HOOK SectionCheckHook, IN EFI_PEI_FILE_HANDLE FileHandle, OUT VOID **SectionData)
VOID *EFIAPI AllocatePages(IN UINTN Pages)
EFI_STATUS EFIAPI FfsFindNextVolume(IN UINTN Instance, IN OUT EFI_PEI_FV_HANDLE *VolumeHandle)
EFI_STATUS EFIAPI FfsAnyFvFindFirstFile(IN EFI_FV_FILETYPE FileType, OUT EFI_PEI_FV_HANDLE *VolumeHandle, OUT EFI_PEI_FILE_HANDLE *FileHandle)
EFI_STATUS EFIAPI FfsProcessFvFile(IN EFI_PEI_FILE_HANDLE FvFileHandle)
EFI_STATUS EFIAPI FfsFindNextFile(IN EFI_FV_FILETYPE SearchType, IN EFI_PEI_FV_HANDLE VolumeHandle, IN OUT EFI_PEI_FILE_HANDLE *FileHandle)
VOID UpdateStackHob(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
EFI_STATUS EFIAPI LoadPeCoffImage(IN VOID *PeCoffImage, OUT EFI_PHYSICAL_ADDRESS *ImageAddress, OUT UINT64 *ImageSize, OUT EFI_PHYSICAL_ADDRESS *EntryPoint)
EFI_STATUS EFIAPI FfsGetFileInfo(IN CONST EFI_PEI_FILE_HANDLE FileHandle, OUT EFI_FV_FILE_INFO *FileInfo)
UINT64 EFI_PHYSICAL_ADDRESS
#define EFI_SIZE_TO_PAGES(Size)
EFI_PHYSICAL_ADDRESS MemoryBaseAddress
EFI_MEMORY_TYPE MemoryType
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor
PE_COFF_LOADER_READ_FILE ImageRead
PHYSICAL_ADDRESS EntryPoint
PHYSICAL_ADDRESS ImageAddress