]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
Update CapsuleDriver to use capsule library.
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.h
CommitLineData
95276127 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12Module Name:\r
13\r
14 DxeIpl.h\r
15\r
16Abstract:\r
17\r
18--*/\r
19\r
20#ifndef __PEI_DXEIPL_H__\r
21#define __PEI_DXEIPL_H__\r
22\r
859b72fa
A
23#include <PiPei.h>\r
24#include <Ppi/DxeIpl.h>\r
859b72fa
A
25#include <Protocol/EdkDecompress.h>\r
26#include <Ppi/EndOfPeiPhase.h>\r
27#include <Protocol/CustomizedDecompress.h>\r
28#include <Protocol/Decompress.h>\r
29#include <Ppi/Security.h>\r
30#include <Ppi/SectionExtraction.h>\r
1df7a023 31#include <Ppi/FvLoadFile.h>\r
859b72fa 32#include <Ppi/MemoryDiscovered.h>\r
b74350e9 33#include <Ppi/ReadOnlyVariable2.h>\r
34#include <Guid/MemoryTypeInformation.h>\r
b0d803fe 35#include <Ppi/Decompress.h>\r
36#include <Ppi/FirmwareVolumeInfo.h>\r
37\r
30c8f861 38#include <Guid/MemoryAllocationHob.h>\r
b0d803fe 39#include <Guid/FirmwareFileSystem2.h>\r
40\r
859b72fa
A
41#include <Library/DebugLib.h>\r
42#include <Library/PeimEntryPoint.h>\r
43#include <Library/BaseLib.h>\r
44#include <Library/HobLib.h>\r
45#include <Library/PeiServicesLib.h>\r
46#include <Library/ReportStatusCodeLib.h>\r
47#include <Library/CacheMaintenanceLib.h>\r
859b72fa 48#include <Library/UefiDecompressLib.h>\r
18fd8d65 49#include <Library/ExtractGuidedSectionLib.h>\r
859b72fa
A
50#include <Library/PeiServicesTablePointerLib.h>\r
51#include <Library/BaseMemoryLib.h>\r
52#include <Library/MemoryAllocationLib.h>\r
53#include <Library/PcdLib.h>\r
54#include <Library/PeCoffLib.h>\r
4fb31c2c 55#include <Library/S3Lib.h>\r
56#include <Library/RecoveryLib.h>\r
64253026 57#include <Library/PeiPiLib.h>\r
95276127 58\r
59#define STACK_SIZE 0x20000\r
60#define BSP_STORE_SIZE 0x4000\r
61\r
62#define GET_OCCUPIED_SIZE(ActualSize, Alignment) ((ActualSize + (Alignment - 1)) & ~(Alignment - 1))\r
63\r
64extern BOOLEAN gInMemory;\r
65\r
95276127 66EFI_STATUS\r
67PeiLoadFile (\r
b0d803fe 68 IN EFI_PEI_FILE_HANDLE FileHandle,\r
95276127 69 OUT EFI_PHYSICAL_ADDRESS *ImageAddress,\r
70 OUT UINT64 *ImageSize,\r
71 OUT EFI_PHYSICAL_ADDRESS *EntryPoint\r
72 )\r
73;\r
74\r
b0d803fe 75EFI_STATUS\r
76DxeIplAddEncapsulatedFirmwareVolumes (\r
77 VOID\r
78 )\r
79;\r
80\r
81EFI_STATUS\r
82DxeIplFindFirmwareVolumeInstance (\r
83 IN OUT UINTN *Instance,\r
84 IN EFI_FV_FILETYPE SeachType,\r
85 OUT EFI_PEI_FV_HANDLE *VolumeHandle,\r
86 OUT EFI_PEI_FILE_HANDLE *FileHandle\r
87 )\r
88;\r
95276127 89\r
90EFI_STATUS\r
91GetImageReadFunction (\r
92 IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext\r
93 )\r
94;\r
95\r
95276127 96EFI_STATUS\r
97EFIAPI\r
98DxeLoadCore (\r
99 IN EFI_DXE_IPL_PPI *This,\r
100 IN EFI_PEI_SERVICES **PeiServices,\r
101 IN EFI_PEI_HOB_POINTERS HobList\r
102 );\r
103\r
104VOID\r
105HandOffToDxeCore (\r
106 IN EFI_PHYSICAL_ADDRESS DxeCoreEntryPoint,\r
107 IN EFI_PEI_HOB_POINTERS HobList,\r
108 IN EFI_PEI_PPI_DESCRIPTOR *EndOfPeiSignal\r
109 );\r
110\r
30c8f861 111VOID\r
112UpdateStackHob (\r
113 IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
114 IN UINT64 Length\r
115 );\r
116\r
95276127 117EFI_STATUS\r
118EFIAPI\r
119PeimInitializeDxeIpl (\r
b0d803fe 120 IN EFI_PEI_FILE_HANDLE FfsHandle,\r
95276127 121 IN EFI_PEI_SERVICES **PeiServices\r
b0d803fe 122 )\r
123;\r
95276127 124\r
125\r
126#endif\r