mirror of https://github.com/acidanthera/audk.git
Fix DxeIpl module bugs: DxeCoreFileName should be from the Dxe Core ffs file that contain DxeCore Pe Data.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@543 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
c965d3aff4
commit
6326ee4e47
|
@ -102,9 +102,9 @@ DxeLoadCore (
|
|||
|
||||
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
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
|
|
|
@ -470,12 +470,12 @@ Returns:
|
|||
&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);
|
||||
|
@ -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,6 +756,9 @@ Returns:
|
|||
EFI_GUID TempGuid;
|
||||
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;
|
||||
EFI_COMPRESSION_SECTION *CompressionSection;
|
||||
EFI_FFS_FILE_HEADER *FfsFileHeader;
|
||||
|
||||
FfsFileHeader = *RealFfsFileHeader;
|
||||
|
||||
Status = PeiServicesFfsFindSectionData (
|
||||
EFI_SECTION_COMPRESSION,
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
//
|
||||
|
|
|
@ -445,12 +445,12 @@ Returns:
|
|||
&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);
|
||||
|
@ -662,7 +662,7 @@ Returns:
|
|||
//
|
||||
Status = PeiProcessFile (
|
||||
EFI_SECTION_PE32,
|
||||
FfsHeader,
|
||||
&FfsHeader,
|
||||
&Pe32Data
|
||||
);
|
||||
|
||||
|
@ -686,9 +686,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
|
||||
)
|
||||
/*++
|
||||
|
||||
|
@ -736,6 +736,9 @@ Returns:
|
|||
EFI_GUID TempGuid;
|
||||
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;
|
||||
EFI_COMPRESSION_SECTION *CompressionSection;
|
||||
EFI_FFS_FILE_HEADER *FfsFileHeader;
|
||||
|
||||
FfsFileHeader = *RealFfsFileHeader;
|
||||
|
||||
Status = PeiServicesFfsFindSectionData (
|
||||
EFI_SECTION_COMPRESSION,
|
||||
|
@ -930,7 +933,11 @@ Returns:
|
|||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
return PeiProcessFile (SectionType, FfsFileHeader, Pe32Data);
|
||||
//
|
||||
// Reture the FfsHeader that contain Pe32Data.
|
||||
//
|
||||
*RealFfsFileHeader = FfsFileHeader;
|
||||
return PeiProcessFile (SectionType, RealFfsFileHeader, Pe32Data);
|
||||
}
|
||||
}
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue