]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/PeiMain.h
Merge the PI enabling works from the branch
[mirror_edk2.git] / MdeModulePkg / Core / Pei / PeiMain.h
index 023114750d5b4b054ff88605fb25141a28f20f52..9e0d7a8530e9704c7f0eb4b10addb70943980c46 100644 (file)
@@ -45,6 +45,7 @@ Revision History
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/TimerLib.h>\r
 #include <IndustryStandard/PeImage.h>\r
+#include <Library/PeiServicesTablePointerLib.h>\r
 \r
 extern EFI_GUID gEfiPeiCorePrivateGuid;\r
 \r
@@ -461,7 +462,7 @@ Returns:
 \r
 VOID\r
 ConvertPpiPointers (\r
-  IN EFI_PEI_SERVICES              **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES              **PeiServices,\r
   IN EFI_HOB_HANDOFF_INFO_TABLE    *OldHandOffHob,\r
   IN EFI_HOB_HANDOFF_INFO_TABLE    *NewHandOffHob\r
   )\r
@@ -485,8 +486,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiInstallPpi (\r
-  IN EFI_PEI_SERVICES        **PeiServices,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *PpiList\r
+  IN CONST EFI_PEI_SERVICES        **PeiServices,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *PpiList\r
   )\r
 /*++\r
 \r
@@ -512,9 +513,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiReInstallPpi (\r
-  IN EFI_PEI_SERVICES        **PeiServices,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *OldPpi,\r
-  IN EFI_PEI_PPI_DESCRIPTOR  *NewPpi\r
+  IN CONST EFI_PEI_SERVICES        **PeiServices,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *OldPpi,\r
+  IN CONST EFI_PEI_PPI_DESCRIPTOR  *NewPpi\r
   )\r
 /*++\r
 \r
@@ -541,8 +542,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiLocatePpi (\r
-  IN EFI_PEI_SERVICES            **PeiServices,\r
-  IN EFI_GUID                    *Guid,\r
+  IN CONST EFI_PEI_SERVICES            **PeiServices,\r
+  IN CONST EFI_GUID                    *Guid,\r
   IN UINTN                       Instance,\r
   IN OUT EFI_PEI_PPI_DESCRIPTOR  **PpiDescriptor,\r
   IN OUT VOID                    **Ppi\r
@@ -572,8 +573,8 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiNotifyPpi (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
-  IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyList\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyList\r
   )\r
 /*++\r
 \r
@@ -616,7 +617,7 @@ Returns:
 \r
 VOID\r
 DispatchNotify (\r
-  IN EFI_PEI_SERVICES    **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES    **PeiServices,\r
   IN UINTN               NotifyType,\r
   IN INTN                InstallStartIndex,\r
   IN INTN                InstallStopIndex,\r
@@ -649,7 +650,7 @@ Returns:  None
 EFI_STATUS\r
 EFIAPI\r
 PeiGetBootMode (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN OUT EFI_BOOT_MODE *BootMode\r
   )\r
 /*++\r
@@ -674,7 +675,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiSetBootMode (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN EFI_BOOT_MODE     BootMode\r
   )\r
 /*++\r
@@ -771,7 +772,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiGetHobList (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN OUT VOID          **HobList\r
   )\r
 /*++\r
@@ -797,7 +798,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiCreateHob (\r
-  IN EFI_PEI_SERVICES  **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES  **PeiServices,\r
   IN UINT16            Type,\r
   IN UINT16            Length,\r
   IN OUT VOID          **Hob\r
@@ -857,10 +858,10 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFfsFindNextFile (\r
-  IN EFI_PEI_SERVICES            **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES      **PeiServices,\r
   IN UINT8                       SearchType,\r
-  IN EFI_FIRMWARE_VOLUME_HEADER  *FwVolHeader,\r
-  IN OUT EFI_FFS_FILE_HEADER     **FileHeader\r
+  IN EFI_PEI_FV_HANDLE           FwVolHeader,\r
+  IN OUT EFI_PEI_FILE_HANDLE     *FileHeader\r
   )\r
 /*++\r
 \r
@@ -891,9 +892,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFfsFindSectionData (\r
-  IN EFI_PEI_SERVICES            **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES            **PeiServices,\r
   IN EFI_SECTION_TYPE            SectionType,\r
-  IN EFI_FFS_FILE_HEADER         *FfsFileHeader,\r
+  IN EFI_PEI_FILE_HANDLE         FfsFileHeader,\r
   IN OUT VOID                    **SectionData\r
   )\r
 /*++\r
@@ -919,9 +920,9 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiFvFindNextVolume (\r
-  IN EFI_PEI_SERVICES                **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES                **PeiServices,\r
   IN UINTN                           Instance,\r
-  IN OUT EFI_FIRMWARE_VOLUME_HEADER  **FwVolHeader\r
+  IN OUT EFI_PEI_FV_HANDLE           *FwVolHeader\r
   )\r
 /*++\r
 \r
@@ -981,7 +982,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiInstallPeiMemory (\r
-  IN EFI_PEI_SERVICES      **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES      **PeiServices,\r
   IN EFI_PHYSICAL_ADDRESS  MemoryBegin,\r
   IN UINT64                MemoryLength\r
   )\r
@@ -1008,7 +1009,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiAllocatePages (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
   IN EFI_MEMORY_TYPE            MemoryType,\r
   IN UINTN                      Pages,\r
   OUT EFI_PHYSICAL_ADDRESS      *Memory\r
@@ -1042,7 +1043,7 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiAllocatePool (\r
-  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES           **PeiServices,\r
   IN UINTN                      Size,\r
   OUT VOID                      **Buffer\r
   )\r
@@ -1100,12 +1101,12 @@ Returns:
 EFI_STATUS\r
 EFIAPI\r
 PeiReportStatusCode (\r
-  IN EFI_PEI_SERVICES         **PeiServices,\r
+  IN CONST EFI_PEI_SERVICES         **PeiServices,\r
   IN EFI_STATUS_CODE_TYPE     CodeType,\r
   IN EFI_STATUS_CODE_VALUE    Value,\r
   IN UINT32                   Instance,\r
-  IN EFI_GUID                 *CallerId,\r
-  IN EFI_STATUS_CODE_DATA     *Data OPTIONAL\r
+  IN CONST EFI_GUID                 *CallerId,\r
+  IN CONST EFI_STATUS_CODE_DATA     *Data OPTIONAL\r
   )\r
 /*++\r
 \r
@@ -1161,6 +1162,24 @@ Returns:
 --*/\r
 ;\r
 \r
+/**\r
+  This routine enable a PEIM to register itself to shadow when PEI Foundation\r
+  discovery permanent memory.\r
+\r
+       @param FileHandle       File handle of a PEIM.\r
+  \r
+  @retval EFI_NOT_FOUND                                The file handle doesn't point to PEIM itself.\r
+  @retval EFI_ALREADY_STARTED          Indicate that the PEIM has been registered itself.\r
+  @retval EFI_SUCCESS                                          Successfully to register itself.\r
+\r
+**/  \r
+EFI_STATUS\r
+EFIAPI\r
+PeiRegisterForShadow (\r
+  IN EFI_PEI_FILE_HANDLE       FileHandle\r
+  )\r
+;\r
+\r
 /**\r
   Transfers control to a function starting with a new stack.\r
 \r