]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
Use PeiPiLib's PeiPiLibBuildPiFvInfoPpi interface instead of installing EFI_PEI_FIRM...
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeLoad.c
index 139174e6493e588f6e1b1ba7d1c1f229a94b4824..a81475484f60e506032eee84c56860e3d688a819 100644 (file)
@@ -74,14 +74,6 @@ static EFI_PEI_PPI_DESCRIPTOR     mPpiSignal = {
   NULL\r
 };\r
 \r
-STATIC EFI_PEI_FIRMWARE_VOLUME_INFO_PPI mFvInfoPpiTemplate = {\r
-  EFI_FIRMWARE_FILE_SYSTEM2_GUID,\r
-  NULL,\r
-  0,    //FvInfoSize\r
-  NULL, //ParentFvName\r
-  NULL //ParentFileName;\r
-};\r
-\r
 /**\r
   Initializes the Dxe Ipl PPI\r
 \r
@@ -327,8 +319,6 @@ DxeIplAddEncapsulatedFirmwareVolumes (
   EFI_FIRMWARE_VOLUME_IMAGE_SECTION *SectionHeader;\r
   VOID                        *DstBuffer;\r
   UINT32                       FvAlignment;\r
-  EFI_PEI_FIRMWARE_VOLUME_INFO_PPI *FvInfoPpi;\r
-  EFI_PEI_PPI_DESCRIPTOR           *FvInfoPpiDescriptor;\r
 \r
   Status = EFI_NOT_FOUND;\r
   Index  = 0;\r
@@ -378,33 +368,13 @@ DxeIplAddEncapsulatedFirmwareVolumes (
           //\r
           PeiServicesFfsGetVolumeInfo (&VolumeHandle, &VolumeInfo);\r
 \r
-          //\r
-          // Prepare to install FirmwareVolumeInfo PPI to expose new FV to PeiCore.\r
-          //\r
-          FvInfoPpi = AllocateCopyPool (sizeof (EFI_PEI_FIRMWARE_VOLUME_INFO_PPI), &mFvInfoPpiTemplate);\r
-          ASSERT(FvInfoPpi != NULL);\r
-\r
-          FvInfoPpi->FvInfo     = (VOID*)FvHeader;\r
-          FvInfoPpi->FvInfoSize = (UINT32)FvHeader->FvLength;\r
-          CopyMem (\r
-            &FvInfoPpi->ParentFvName,\r
+          PeiPiLibBuildPiFvInfoPpi (\r
+            (EFI_PHYSICAL_ADDRESS) FvHeader,\r
+            FvHeader->FvLength,\r
             &(VolumeInfo.FvName),\r
-            sizeof (EFI_GUID)\r
+            &(((EFI_FFS_FILE_HEADER*)FileHandle)->Name)\r
             );\r
-          CopyMem (\r
-            &FvInfoPpi->ParentFileName,\r
-            &(((EFI_FFS_FILE_HEADER*)FileHandle)->Name),\r
-            sizeof (EFI_GUID)\r
-            );\r
-\r
-          FvInfoPpiDescriptor = AllocatePool (sizeof(EFI_PEI_PPI_DESCRIPTOR));\r
-          ASSERT (FvInfoPpiDescriptor != NULL);\r
-         \r
-          FvInfoPpiDescriptor->Flags = EFI_PEI_PPI_DESCRIPTOR_PPI|EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;\r
-          FvInfoPpiDescriptor->Guid  = &gEfiPeiFirmwareVolumeInfoPpiGuid;\r
-          FvInfoPpiDescriptor->Ppi   = (VOID *) FvInfoPpi;\r
-\r
-          Status          = PeiServicesInstallPpi (FvInfoPpiDescriptor);\r
+            \r
           ASSERT_EFI_ERROR (Status);\r
 \r
           //\r