mirror of https://github.com/acidanthera/audk.git
Use PeiPiLib's PeiPiLibBuildPiFvInfoPpi interface instead of installing EFI_PEI_FIRMWARE_VOLUME_INFO_PPI by self.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3964 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
04748716cb
commit
64253026df
|
@ -52,6 +52,7 @@ Abstract:
|
||||||
#include <Library/PeCoffLib.h>
|
#include <Library/PeCoffLib.h>
|
||||||
#include <Library/S3Lib.h>
|
#include <Library/S3Lib.h>
|
||||||
#include <Library/RecoveryLib.h>
|
#include <Library/RecoveryLib.h>
|
||||||
|
#include <Library/PeiPiLib.h>
|
||||||
|
|
||||||
#define STACK_SIZE 0x20000
|
#define STACK_SIZE 0x20000
|
||||||
#define BSP_STORE_SIZE 0x4000
|
#define BSP_STORE_SIZE 0x4000
|
||||||
|
|
|
@ -77,6 +77,7 @@
|
||||||
DebugLib
|
DebugLib
|
||||||
S3Lib
|
S3Lib
|
||||||
RecoveryLib
|
RecoveryLib
|
||||||
|
PeiPiLib
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiCustomizedDecompressProtocolGuid # PROTOCOL SOMETIMES_PRODUCED
|
gEfiCustomizedDecompressProtocolGuid # PROTOCOL SOMETIMES_PRODUCED
|
||||||
|
|
|
@ -74,14 +74,6 @@ static EFI_PEI_PPI_DESCRIPTOR mPpiSignal = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
STATIC EFI_PEI_FIRMWARE_VOLUME_INFO_PPI mFvInfoPpiTemplate = {
|
|
||||||
EFI_FIRMWARE_FILE_SYSTEM2_GUID,
|
|
||||||
NULL,
|
|
||||||
0, //FvInfoSize
|
|
||||||
NULL, //ParentFvName
|
|
||||||
NULL //ParentFileName;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Initializes the Dxe Ipl PPI
|
Initializes the Dxe Ipl PPI
|
||||||
|
|
||||||
|
@ -327,8 +319,6 @@ DxeIplAddEncapsulatedFirmwareVolumes (
|
||||||
EFI_FIRMWARE_VOLUME_IMAGE_SECTION *SectionHeader;
|
EFI_FIRMWARE_VOLUME_IMAGE_SECTION *SectionHeader;
|
||||||
VOID *DstBuffer;
|
VOID *DstBuffer;
|
||||||
UINT32 FvAlignment;
|
UINT32 FvAlignment;
|
||||||
EFI_PEI_FIRMWARE_VOLUME_INFO_PPI *FvInfoPpi;
|
|
||||||
EFI_PEI_PPI_DESCRIPTOR *FvInfoPpiDescriptor;
|
|
||||||
|
|
||||||
Status = EFI_NOT_FOUND;
|
Status = EFI_NOT_FOUND;
|
||||||
Index = 0;
|
Index = 0;
|
||||||
|
@ -378,33 +368,13 @@ DxeIplAddEncapsulatedFirmwareVolumes (
|
||||||
//
|
//
|
||||||
PeiServicesFfsGetVolumeInfo (&VolumeHandle, &VolumeInfo);
|
PeiServicesFfsGetVolumeInfo (&VolumeHandle, &VolumeInfo);
|
||||||
|
|
||||||
//
|
PeiPiLibBuildPiFvInfoPpi (
|
||||||
// Prepare to install FirmwareVolumeInfo PPI to expose new FV to PeiCore.
|
(EFI_PHYSICAL_ADDRESS) FvHeader,
|
||||||
//
|
FvHeader->FvLength,
|
||||||
FvInfoPpi = AllocateCopyPool (sizeof (EFI_PEI_FIRMWARE_VOLUME_INFO_PPI), &mFvInfoPpiTemplate);
|
|
||||||
ASSERT(FvInfoPpi != NULL);
|
|
||||||
|
|
||||||
FvInfoPpi->FvInfo = (VOID*)FvHeader;
|
|
||||||
FvInfoPpi->FvInfoSize = (UINT32)FvHeader->FvLength;
|
|
||||||
CopyMem (
|
|
||||||
&FvInfoPpi->ParentFvName,
|
|
||||||
&(VolumeInfo.FvName),
|
&(VolumeInfo.FvName),
|
||||||
sizeof (EFI_GUID)
|
&(((EFI_FFS_FILE_HEADER*)FileHandle)->Name)
|
||||||
);
|
);
|
||||||
CopyMem (
|
|
||||||
&FvInfoPpi->ParentFileName,
|
|
||||||
&(((EFI_FFS_FILE_HEADER*)FileHandle)->Name),
|
|
||||||
sizeof (EFI_GUID)
|
|
||||||
);
|
|
||||||
|
|
||||||
FvInfoPpiDescriptor = AllocatePool (sizeof(EFI_PEI_PPI_DESCRIPTOR));
|
|
||||||
ASSERT (FvInfoPpiDescriptor != NULL);
|
|
||||||
|
|
||||||
FvInfoPpiDescriptor->Flags = EFI_PEI_PPI_DESCRIPTOR_PPI|EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;
|
|
||||||
FvInfoPpiDescriptor->Guid = &gEfiPeiFirmwareVolumeInfoPpiGuid;
|
|
||||||
FvInfoPpiDescriptor->Ppi = (VOID *) FvInfoPpi;
|
|
||||||
|
|
||||||
Status = PeiServicesInstallPpi (FvInfoPpiDescriptor);
|
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue