mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-27 07:34:06 +02:00
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
@ -103,7 +103,7 @@ DxeLoadCore (
|
|||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
PeiProcessFile (
|
PeiProcessFile (
|
||||||
IN UINT16 SectionType,
|
IN UINT16 SectionType,
|
||||||
IN EFI_FFS_FILE_HEADER *FfsFileHeader,
|
IN OUT EFI_FFS_FILE_HEADER **RealFfsFileHeader,
|
||||||
OUT VOID **Pe32Data
|
OUT VOID **Pe32Data
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -470,12 +470,12 @@ Returns:
|
|||||||
&FfsFileHeader
|
&FfsFileHeader
|
||||||
);
|
);
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID));
|
|
||||||
Status = PeiProcessFile (
|
Status = PeiProcessFile (
|
||||||
SectionType,
|
SectionType,
|
||||||
FfsFileHeader,
|
&FfsFileHeader,
|
||||||
Pe32Data
|
Pe32Data
|
||||||
);
|
);
|
||||||
|
CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID));
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
Hob.Raw = GET_NEXT_HOB (Hob);
|
Hob.Raw = GET_NEXT_HOB (Hob);
|
||||||
@ -683,7 +683,7 @@ Returns:
|
|||||||
//
|
//
|
||||||
Status = PeiProcessFile (
|
Status = PeiProcessFile (
|
||||||
EFI_SECTION_PE32,
|
EFI_SECTION_PE32,
|
||||||
FfsHeader,
|
&FfsHeader,
|
||||||
&Pe32Data
|
&Pe32Data
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -707,7 +707,7 @@ Returns:
|
|||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
PeiProcessFile (
|
PeiProcessFile (
|
||||||
IN UINT16 SectionType,
|
IN UINT16 SectionType,
|
||||||
IN EFI_FFS_FILE_HEADER *FfsFileHeader,
|
IN OUT EFI_FFS_FILE_HEADER **RealFfsFileHeader,
|
||||||
OUT VOID **Pe32Data
|
OUT VOID **Pe32Data
|
||||||
)
|
)
|
||||||
/*++
|
/*++
|
||||||
@ -756,6 +756,9 @@ Returns:
|
|||||||
EFI_GUID TempGuid;
|
EFI_GUID TempGuid;
|
||||||
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;
|
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;
|
||||||
EFI_COMPRESSION_SECTION *CompressionSection;
|
EFI_COMPRESSION_SECTION *CompressionSection;
|
||||||
|
EFI_FFS_FILE_HEADER *FfsFileHeader;
|
||||||
|
|
||||||
|
FfsFileHeader = *RealFfsFileHeader;
|
||||||
|
|
||||||
Status = PeiServicesFfsFindSectionData (
|
Status = PeiServicesFfsFindSectionData (
|
||||||
EFI_SECTION_COMPRESSION,
|
EFI_SECTION_COMPRESSION,
|
||||||
@ -950,7 +953,11 @@ Returns:
|
|||||||
return EFI_NOT_FOUND;
|
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
|
&FfsFileHeader
|
||||||
);
|
);
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID));
|
|
||||||
Status = PeiProcessFile (
|
Status = PeiProcessFile (
|
||||||
SectionType,
|
SectionType,
|
||||||
FfsFileHeader,
|
&FfsFileHeader,
|
||||||
Pe32Data
|
Pe32Data
|
||||||
);
|
);
|
||||||
|
CopyMem (FileName, &FfsFileHeader->Name, sizeof (EFI_GUID));
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
Hob.Raw = GET_NEXT_HOB (Hob);
|
Hob.Raw = GET_NEXT_HOB (Hob);
|
||||||
@ -662,7 +662,7 @@ Returns:
|
|||||||
//
|
//
|
||||||
Status = PeiProcessFile (
|
Status = PeiProcessFile (
|
||||||
EFI_SECTION_PE32,
|
EFI_SECTION_PE32,
|
||||||
FfsHeader,
|
&FfsHeader,
|
||||||
&Pe32Data
|
&Pe32Data
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -687,7 +687,7 @@ Returns:
|
|||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
PeiProcessFile (
|
PeiProcessFile (
|
||||||
IN UINT16 SectionType,
|
IN UINT16 SectionType,
|
||||||
IN EFI_FFS_FILE_HEADER *FfsFileHeader,
|
IN OUT EFI_FFS_FILE_HEADER **RealFfsFileHeader,
|
||||||
OUT VOID **Pe32Data
|
OUT VOID **Pe32Data
|
||||||
)
|
)
|
||||||
/*++
|
/*++
|
||||||
@ -736,6 +736,9 @@ Returns:
|
|||||||
EFI_GUID TempGuid;
|
EFI_GUID TempGuid;
|
||||||
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;
|
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;
|
||||||
EFI_COMPRESSION_SECTION *CompressionSection;
|
EFI_COMPRESSION_SECTION *CompressionSection;
|
||||||
|
EFI_FFS_FILE_HEADER *FfsFileHeader;
|
||||||
|
|
||||||
|
FfsFileHeader = *RealFfsFileHeader;
|
||||||
|
|
||||||
Status = PeiServicesFfsFindSectionData (
|
Status = PeiServicesFfsFindSectionData (
|
||||||
EFI_SECTION_COMPRESSION,
|
EFI_SECTION_COMPRESSION,
|
||||||
@ -930,7 +933,11 @@ Returns:
|
|||||||
return EFI_NOT_FOUND;
|
return EFI_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
return PeiProcessFile (SectionType, FfsFileHeader, Pe32Data);
|
//
|
||||||
|
// Reture the FfsHeader that contain Pe32Data.
|
||||||
|
//
|
||||||
|
*RealFfsFileHeader = FfsFileHeader;
|
||||||
|
return PeiProcessFile (SectionType, RealFfsFileHeader, Pe32Data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user