]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Use PeiPiLib's PeiPiLibBuildPiFvInfoPpi interface instead of installing EFI_PEI_FIRM...
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 28 Sep 2007 08:08:32 +0000 (08:08 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 28 Sep 2007 08:08:32 +0000 (08:08 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3964 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
MdeModulePkg/Core/DxeIplPeim/DxeLoad.c

index 9df5745e306aa3610528729f9cca402f4addc8e3..71ca9c360eaf114197002d227b86577cf2a593e6 100644 (file)
@@ -52,6 +52,7 @@ Abstract:
 #include <Library/PeCoffLib.h>\r
 #include <Library/S3Lib.h>\r
 #include <Library/RecoveryLib.h>\r
+#include <Library/PeiPiLib.h>\r
 \r
 #define STACK_SIZE      0x20000\r
 #define BSP_STORE_SIZE  0x4000\r
index ab2dc6b2249bf6c5a024dec23a44b7bc6d30191f..3267a8cba0d1cd92fd55e9532f746282528bb0c0 100644 (file)
@@ -77,6 +77,7 @@
   DebugLib\r
   S3Lib\r
   RecoveryLib\r
+  PeiPiLib\r
 \r
 [Protocols]\r
   gEfiCustomizedDecompressProtocolGuid          # PROTOCOL SOMETIMES_PRODUCED\r
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