]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/PeiServicesLib/PeiServicesLib.c
Use UEFI EFI_FILE_PROTOCOL to replace EFI_FILE
[mirror_edk2.git] / MdePkg / Library / PeiServicesLib / PeiServicesLib.c
index da872e8284da6d610d9b1fda98fddca095ba005b..5782e5132ff811bc1a56996363bfbd4588d7daee 100644 (file)
@@ -25,7 +25,7 @@
 #include <Library/BaseMemoryLib.h>\r
 \r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_PEI_PPI_DESCRIPTOR     mPpiListTemplate [] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_PEI_PPI_DESCRIPTOR     mPpiListTemplate[] = {\r
   {\r
     (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
     &gEfiPeiFirmwareVolumeInfoPpiGuid,\r
@@ -151,7 +151,7 @@ PeiServicesNotifyPpi (
 EFI_STATUS\r
 EFIAPI\r
 PeiServicesGetBootMode (\r
-  IN OUT EFI_BOOT_MODE          *BootMode\r
+  OUT EFI_BOOT_MODE          *BootMode\r
   )\r
 {\r
   CONST EFI_PEI_SERVICES **PeiServices;\r
@@ -192,7 +192,7 @@ PeiServicesSetBootMode (
 EFI_STATUS\r
 EFIAPI\r
 PeiServicesGetHobList (\r
-  OUT VOID                   **HobList\r
+  OUT VOID                      **HobList\r
   )\r
 {\r
   CONST EFI_PEI_SERVICES **PeiServices;\r
@@ -282,7 +282,7 @@ PeiServicesFfsFindNextFile (
   This service enables PEIMs to discover sections of a given type within a valid FFS file.\r
 \r
   @param  SectionType           The value of the section type to find.\r
-  @param  FfsFileHeader         A pointer to the file header that contains the set of sections to\r
+  @param  FileHandle            A pointer to the file header that contains the set of sections to\r
                                 be searched.\r
   @param  SectionData           A pointer to the discovered section, if successful.\r
 \r
@@ -294,14 +294,14 @@ EFI_STATUS
 EFIAPI\r
 PeiServicesFfsFindSectionData (\r
   IN EFI_SECTION_TYPE           SectionType,\r
-  IN EFI_PEI_FILE_HANDLE        FfsFileHeader,\r
+  IN EFI_PEI_FILE_HANDLE        FileHandle,\r
   OUT VOID                      **SectionData\r
   )\r
 {\r
   CONST EFI_PEI_SERVICES **PeiServices;\r
 \r
   PeiServices = GetPeiServicesTablePointer ();\r
-  return (*PeiServices)->FfsFindSectionData (PeiServices, SectionType, FfsFileHeader, SectionData);\r
+  return (*PeiServices)->FfsFindSectionData (PeiServices, SectionType, FileHandle, SectionData);\r
 }\r
 \r
 /**\r
@@ -384,8 +384,6 @@ PeiServicesAllocatePool (
 /**\r
   Resets the entire platform.\r
 \r
-  @param  VOID\r
-\r
   @retval EFI_SUCCESS           The function completed successfully.\r
   @retval EFI_NOT_AVAILABLE_YET The service has not been installed yet.\r
 \r
@@ -447,7 +445,7 @@ PeiServicesRegisterForShadow (
   \r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
+EFIAPI \r
 PeiServicesFfsGetFileInfo (\r
   IN CONST  EFI_PEI_FILE_HANDLE   FileHandle,\r
   OUT EFI_FV_FILE_INFO            *FileInfo\r
@@ -468,8 +466,7 @@ PeiServicesFfsGetFileInfo (
   @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
-\r
-  @param FileHandle     The filehandle found in volume.\r
+  @param FileHandle     Pointer to found file handle \r
 \r
   @retval EFI_SUCCESS             File was found.\r
 \r
@@ -556,9 +553,13 @@ PeiServicesInstallFvInfoPpi (
   EFI_STATUS                       Status;   \r
   EFI_PEI_FIRMWARE_VOLUME_INFO_PPI *FvInfoPpi;\r
   EFI_PEI_PPI_DESCRIPTOR           *FvInfoPpiDescriptor;\r
+  EFI_GUID                         *ParentFvNameValue;\r
+  EFI_GUID                         *ParentFileNameValue;\r
 \r
+  ParentFvNameValue   = NULL;\r
+  ParentFileNameValue = NULL;\r
   FvInfoPpi = AllocateZeroPool (sizeof (EFI_PEI_FIRMWARE_VOLUME_INFO_PPI));\r
-  ASSERT( FvInfoPpi != NULL);\r
+  ASSERT(FvInfoPpi != NULL);\r
 \r
   if (FvFormat != NULL) {\r
     CopyGuid (&FvInfoPpi->FvFormat, FvFormat);\r
@@ -567,9 +568,16 @@ PeiServicesInstallFvInfoPpi (
   }\r
   FvInfoPpi->FvInfo = (VOID *) FvInfo;\r
   FvInfoPpi->FvInfoSize = FvInfoSize;\r
-  FvInfoPpi->ParentFvName = (EFI_GUID *) ParentFvName;\r
-  FvInfoPpi->ParentFileName = (EFI_GUID *) ParentFileName;\r
-\r
+  if (ParentFvName != NULL) {\r
+    ParentFvNameValue = AllocateCopyPool (sizeof (EFI_GUID), ParentFvName);\r
+       ASSERT (ParentFvNameValue != NULL);\r
+    FvInfoPpi->ParentFvName = ParentFvNameValue;\r
+  }\r
+  if (ParentFileName != NULL) {\r
+    ParentFileNameValue = AllocateCopyPool (sizeof (EFI_GUID), ParentFileName);\r
+    ASSERT (ParentFileNameValue != NULL);\r
+    FvInfoPpi->ParentFileName = ParentFileNameValue;\r
+  }\r
 \r
   FvInfoPpiDescriptor = AllocateCopyPool (sizeof(EFI_PEI_PPI_DESCRIPTOR), mPpiListTemplate);\r
   ASSERT (FvInfoPpiDescriptor != NULL);\r