+ return (*PeiServices)->ResetSystem (PeiServices);\r
+}\r
+\r
+/**\r
+ This service is a wrapper for the PEI Service RegisterForShadow(), except the pointer to the PEI Services \r
+ Table has been removed. See the Platform Initialization Pre-EFI Initialization Core Interface \r
+ Specification for details. \r
+\r
+ @param FileHandle PEIM's file handle. Must be the currently\r
+ executing PEIM.\r
+ \r
+ @retval EFI_SUCCESS The PEIM was successfully registered for\r
+ shadowing.\r
+\r
+ @retval EFI_ALREADY_STARTED The PEIM was previously\r
+ registered for shadowing.\r
+\r
+ @retval EFI_NOT_FOUND The FileHandle does not refer to a\r
+ valid file handle.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+PeiServicesRegisterForShadow (\r
+ IN EFI_PEI_FILE_HANDLE FileHandle\r
+ )\r
+{\r
+ return (*GetPeiServicesTablePointer())->RegisterForShadow (FileHandle);\r
+}\r
+\r
+/**\r
+ This service is a wrapper for the PEI Service FfsGetFileInfo(), except the pointer to the PEI Services \r
+ Table has been removed. See the Platform Initialization Pre-EFI Initialization Core Interface \r
+ Specification for details. \r
+\r
+ @param FileHandle Handle of the file.\r
+\r
+ @param FileInfo Upon exit, points to the file's\r
+ information.\r
+\r
+ @retval EFI_SUCCESS File information returned.\r
+ \r
+ @retval EFI_INVALID_PARAMETER If FileHandle does not\r
+ represent a valid file.\r
+ \r
+ @retval EFI_INVALID_PARAMETER If FileInfo is NULL.\r
+ \r
+**/\r
+EFI_STATUS\r
+EFIAPI \r
+PeiServicesFfsGetFileInfo (\r
+ IN CONST EFI_PEI_FILE_HANDLE FileHandle,\r
+ OUT EFI_FV_FILE_INFO *FileInfo\r
+ )\r
+{\r
+ return (*GetPeiServicesTablePointer())->FfsGetFileInfo (FileHandle, FileInfo);\r
+}\r
+\r
+\r
+/**\r
+ This service is a wrapper for the PEI Service FfsFindByName(), except the pointer to the PEI Services \r
+ Table has been removed. See the Platform Initialization Pre-EFI Initialization Core Interface \r
+ Specification for details. \r
+\r
+ @param FileName A pointer to the name of the file to\r
+ find within the firmware volume.\r
+\r
+ @param VolumeHandle The firmware volume to search FileHandle\r
+ Upon exit, points to the found file's\r
+ handle or NULL if it could not be found.\r
+ @param FileHandle Pointer to found file handle \r
+\r
+ @retval EFI_SUCCESS File was found.\r
+\r
+ @retval EFI_NOT_FOUND File was not found.\r
+\r
+ @retval EFI_INVALID_PARAMETER VolumeHandle or FileHandle or\r
+ FileName was NULL.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+PeiServicesFfsFindFileByName (\r
+ IN CONST EFI_GUID *FileName,\r
+ IN CONST EFI_PEI_FV_HANDLE VolumeHandle,\r
+ OUT EFI_PEI_FILE_HANDLE *FileHandle\r
+ )\r
+{\r
+ return (*GetPeiServicesTablePointer())->FfsFindFileByName (FileName, VolumeHandle, FileHandle);\r
+}\r
+\r
+\r
+/**\r
+ This service is a wrapper for the PEI Service FfsGetVolumeInfo(), except the pointer to the PEI Services \r
+ Table has been removed. See the Platform Initialization Pre-EFI Initialization Core Interface \r
+ Specification for details. \r
+\r
+ @param VolumeHandle Handle of the volume.\r
+\r
+ @param VolumeInfo Upon exit, points to the volume's\r
+ information.\r
+\r
+ @retval EFI_SUCCESS File information returned.\r
+ \r
+ @retval EFI_INVALID_PARAMETER If FileHandle does not\r
+ represent a valid file.\r
+ \r
+ @retval EFI_INVALID_PARAMETER If FileInfo is NULL.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+PeiServicesFfsGetVolumeInfo (\r
+ IN EFI_PEI_FV_HANDLE VolumeHandle,\r
+ OUT EFI_FV_INFO *VolumeInfo\r
+ )\r
+{\r
+ return (*GetPeiServicesTablePointer())->FfsGetVolumeInfo (VolumeHandle, VolumeInfo);\r