Fix issue with ARM port. Image.c shadow code is not ANSI C and crashes on ARM. So I did the same thing that is done on Itanium and skipped the shadow for ARM architecture in all cases.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10636 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish 2010-07-07 23:10:14 +00:00
parent 4546bcbb3a
commit 27172c0f36
1 changed files with 6 additions and 1 deletions

View File

@ -117,7 +117,12 @@ GetImageReadFunction (
Private = PEI_CORE_INSTANCE_FROM_PS_THIS (GetPeiServicesTablePointer ()); Private = PEI_CORE_INSTANCE_FROM_PS_THIS (GetPeiServicesTablePointer ());
if (!Private->PeiMemoryInstalled || (Private->HobList.HandoffInformationTable->BootMode == BOOT_ON_S3_RESUME) || EFI_IMAGE_MACHINE_TYPE_SUPPORTED(EFI_IMAGE_MACHINE_IA64)) { if (!Private->PeiMemoryInstalled || (Private->HobList.HandoffInformationTable->BootMode == BOOT_ON_S3_RESUME) ||
EFI_IMAGE_MACHINE_TYPE_SUPPORTED(EFI_IMAGE_MACHINE_IA64) || EFI_IMAGE_MACHINE_TYPE_SUPPORTED(EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)) {
//
// Point to ROM version if memory is not installed, we are in an S3.
// The shadow code is not ANSI C so skip on IA64 and ARM architectures.
//
ImageContext->ImageRead = PeiImageRead; ImageContext->ImageRead = PeiImageRead;
} else { } else {
if (Private->ShadowedImageRead == NULL) { if (Private->ShadowedImageRead == NULL) {