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); } //