#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
\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
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
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
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
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
\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
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
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
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
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
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
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
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
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
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
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
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
--*/\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