From: qwang12 Date: Wed, 10 Oct 2007 02:07:47 +0000 (+0000) Subject: 0) Change the PEI core behavior to not install FV HOB for each FV INFO PPI installed... X-Git-Tag: edk2-stable201903~21959 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=10dde96f9548bc11d01b46750293aba336d5d1c6 0) Change the PEI core behavior to not install FV HOB for each FV INFO PPI installed. This allows more freedom to platform developer to choose to expose which FV to PEI core or DXE core. 1) Split MdePkg/Include/Library/PiLib.h to DxePiLib.h and PeiPiLib.h. These two library classes are for DXE phase and PEI phase. 2) Update the API names in DxePiLib and PeiPiLib to be longer ones to be more meaningfull and to avoid name collisions. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4066 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c index 32474cb441..82382111e6 100644 --- a/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c +++ b/MdeModulePkg/Core/DxeIplPeim/DxeLoad.c @@ -345,12 +345,21 @@ DxeIplAddEncapsulatedFirmwareVolumes ( // PeiServicesFfsGetVolumeInfo (&VolumeHandle, &VolumeInfo); - PeiPiLibBuildPiFvInfoPpi ( - (EFI_PHYSICAL_ADDRESS) (UINTN) FvHeader, - FvHeader->FvLength, + PiLibInstallFvInfoPpi ( + NULL, + FvHeader, + (UINT32) FvHeader->FvLength, &(VolumeInfo.FvName), &(((EFI_FFS_FILE_HEADER*)FileHandle)->Name) ); + + // + // Inform HOB consumer phase, i.e. DXE core, the existance of this FV + // + BuildFvHob ( + (EFI_PHYSICAL_ADDRESS) (UINTN) FvHeader, + FvHeader->FvLength + ); ASSERT_EFI_ERROR (Status); diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c b/MdeModulePkg/Core/Pei/FwVol/FwVol.c index 34fe0a1d9e..cd1de1b41b 100644 --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c @@ -379,7 +379,6 @@ Returns: } } PrivateData->Fv[PrivateData->FvCount++].FvHeader = (EFI_FIRMWARE_VOLUME_HEADER*)Fv->FvInfo; - BuildFvHob ((EFI_PHYSICAL_ADDRESS) (UINTN) Fv->FvInfo, (UINT64) Fv->FvInfoSize); } //