X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkModulePkg%2FCore%2FDxeIplPeim%2FDxeLoad.c;h=44923764627e75cf4867a7c43cbe096d790acae7;hp=a181095813e4fbbc38fe90b33a03e8ac868b9769;hb=57cc2ee710e6a12621f879dd5e95dc7d4fb8cba9;hpb=878ddf1fc3540a715f63594ed22b6929e881afb4 diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c index a181095813..4492376462 100644 --- a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c +++ b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c @@ -119,11 +119,11 @@ Returns: EFI_PEI_PE_COFF_LOADER_PROTOCOL *PeiEfiPeiPeCoffLoader; EFI_BOOT_MODE BootMode; - Status = PeiCoreGetBootMode (&BootMode); + Status = PeiServicesGetBootMode (&BootMode); ASSERT_EFI_ERROR (Status); - Status = PeiCoreLocatePpi ( + Status = PeiServicesLocatePpi ( &gPeiInMemoryGuid, 0, NULL, @@ -154,7 +154,7 @@ Returns: // // Install LoadFile PPI // - Status = PeiCoreInstallPpi (&mPpiLoadFile); + Status = PeiServicesInstallPpi (&mPpiLoadFile); if (EFI_ERROR (Status)) { return Status; @@ -163,7 +163,7 @@ Returns: // // Install DxeIpl PPI // - PeiCoreInstallPpi (&mPpiList); + PeiServicesInstallPpi (&mPpiList); if (EFI_ERROR (Status)) { return Status; @@ -223,10 +223,10 @@ Returns: // // if in S3 Resume, restore configure // - Status = PeiCoreGetBootMode (&BootMode); + Status = PeiServicesGetBootMode (&BootMode); if (!EFI_ERROR (Status) && (BootMode == BOOT_ON_S3_RESUME)) { - Status = PeiCoreLocatePpi ( + Status = PeiServicesLocatePpi ( &gEfiPeiS3ResumePpiGuid, 0, NULL, @@ -307,11 +307,11 @@ Returns: // // See if we are in crisis recovery // - Status = PeiCoreGetBootMode (&BootMode); + Status = PeiServicesGetBootMode (&BootMode); if (!EFI_ERROR (Status) && (BootMode == BOOT_IN_RECOVERY_MODE)) { - Status = PeiCoreLocatePpi ( + Status = PeiServicesLocatePpi ( &gEfiPeiRecoveryModulePpiGuid, 0, NULL, @@ -373,7 +373,7 @@ Returns: // // PERF_END (PeiServices, L"DxeIpl", NULL, 0); - Status = PeiCoreInstallPpi (&mPpiSignal); + Status = PeiServicesInstallPpi (&mPpiSignal); ASSERT_EFI_ERROR (Status); @@ -464,18 +464,18 @@ Returns: Hob.Raw = GetHobList (); while ((Hob.Raw = GetNextHob (EFI_HOB_TYPE_FV, Hob.Raw)) != NULL) { FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) (Hob.FirmwareVolume->BaseAddress); - Status = PeiCoreFfsFindNextFile ( + Status = PeiServicesFfsFindNextFile ( Type, FwVolHeader, &FfsFileHeader ); if (!EFI_ERROR (Status)) { - CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID)); Status = PeiProcessFile ( SectionType, - FfsFileHeader, + &FfsFileHeader, Pe32Data ); + CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID)); return Status; } Hob.Raw = GET_NEXT_HOB (Hob); @@ -620,7 +620,7 @@ Returns: // // Install PeiInMemory to indicate the Dxeipl is shadowed // - Status = PeiCoreInstallPpi (&mPpiPeiInMemory); + Status = PeiServicesInstallPpi (&mPpiPeiInMemory); if (EFI_ERROR (Status)) { return Status; @@ -683,7 +683,7 @@ Returns: // Status = PeiProcessFile ( EFI_SECTION_PE32, - FfsHeader, + &FfsHeader, &Pe32Data ); @@ -706,9 +706,9 @@ Returns: EFI_STATUS PeiProcessFile ( - IN UINT16 SectionType, - IN EFI_FFS_FILE_HEADER *FfsFileHeader, - OUT VOID **Pe32Data + IN UINT16 SectionType, + IN OUT EFI_FFS_FILE_HEADER **RealFfsFileHeader, + OUT VOID **Pe32Data ) /*++ @@ -756,8 +756,11 @@ Returns: EFI_GUID TempGuid; EFI_FIRMWARE_VOLUME_HEADER *FvHeader; EFI_COMPRESSION_SECTION *CompressionSection; + EFI_FFS_FILE_HEADER *FfsFileHeader; + + FfsFileHeader = *RealFfsFileHeader; - Status = PeiCoreFfsFindSectionData ( + Status = PeiServicesFfsFindSectionData ( EFI_SECTION_COMPRESSION, FfsFileHeader, &SectionData @@ -795,7 +798,7 @@ Returns: // AuthenticationStatus = 0; - Status = PeiCoreLocatePpi ( + Status = PeiServicesLocatePpi ( &gEfiPeiSectionExtractionPpiGuid, 0, NULL, @@ -828,7 +831,7 @@ Returns: // If not ask the Security PPI, if exists, for disposition // // - Status = PeiCoreLocatePpi ( + Status = PeiServicesLocatePpi ( &gEfiPeiSecurityPpiGuid, 0, NULL, @@ -940,7 +943,7 @@ Returns: if (FvHeader->Signature == EFI_FVH_SIGNATURE) { FfsFileHeader = NULL; BuildFvHob ((EFI_PHYSICAL_ADDRESS) (UINTN) FvHeader, FvHeader->FvLength); - Status = PeiCoreFfsFindNextFile ( + Status = PeiServicesFfsFindNextFile ( EFI_FV_FILETYPE_DXE_CORE, FvHeader, &FfsFileHeader @@ -950,7 +953,11 @@ Returns: return EFI_NOT_FOUND; } - return PeiProcessFile (SectionType, FfsFileHeader, Pe32Data); + // + // Reture the FfsHeader that contain Pe32Data. + // + *RealFfsFileHeader = FfsFileHeader; + return PeiProcessFile (SectionType, RealFfsFileHeader, Pe32Data); } } // @@ -986,14 +993,14 @@ Returns: // } else { - Status = PeiCoreFfsFindSectionData ( + Status = PeiServicesFfsFindSectionData ( EFI_SECTION_PE32, FfsFileHeader, &SectionData ); if (EFI_ERROR (Status)) { - Status = PeiCoreFfsFindSectionData ( + Status = PeiServicesFfsFindSectionData ( EFI_SECTION_TE, FfsFileHeader, &SectionData