BaseTools: switch from EFI_IMAGE_MACHINE_* to IMAGE_FILE_MACHINE_*
Use the newer versions of the machine #defines. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Chao Li <lichao@loongson.cn> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
This commit is contained in:
committed by
mergify[bot]
parent
fdc6288f81
commit
c15941a643
@ -169,13 +169,13 @@ PeCoffLoaderCheckImageType (
|
|||||||
ImageContext->Machine = TeHdr->Machine;
|
ImageContext->Machine = TeHdr->Machine;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImageContext->Machine != EFI_IMAGE_MACHINE_IA32 && \
|
if (ImageContext->Machine != IMAGE_FILE_MACHINE_I386 && \
|
||||||
ImageContext->Machine != EFI_IMAGE_MACHINE_X64 && \
|
ImageContext->Machine != IMAGE_FILE_MACHINE_X64 && \
|
||||||
ImageContext->Machine != EFI_IMAGE_MACHINE_ARMT && \
|
ImageContext->Machine != IMAGE_FILE_MACHINE_ARMTHUMB_MIXED && \
|
||||||
ImageContext->Machine != EFI_IMAGE_MACHINE_EBC && \
|
ImageContext->Machine != IMAGE_FILE_MACHINE_EBC && \
|
||||||
ImageContext->Machine != EFI_IMAGE_MACHINE_AARCH64 && \
|
ImageContext->Machine != IMAGE_FILE_MACHINE_ARM64 && \
|
||||||
ImageContext->Machine != EFI_IMAGE_MACHINE_RISCV64 && \
|
ImageContext->Machine != IMAGE_FILE_MACHINE_RISCV64 && \
|
||||||
ImageContext->Machine != EFI_IMAGE_MACHINE_LOONGARCH64) {
|
ImageContext->Machine != IMAGE_FILE_MACHINE_LOONGARCH64) {
|
||||||
//
|
//
|
||||||
// unsupported PeImage machine type
|
// unsupported PeImage machine type
|
||||||
//
|
//
|
||||||
@ -759,16 +759,16 @@ PeCoffLoaderRelocateImage (
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
switch (MachineType) {
|
switch (MachineType) {
|
||||||
case EFI_IMAGE_MACHINE_IA32:
|
case IMAGE_FILE_MACHINE_I386:
|
||||||
Status = PeCoffLoaderRelocateIa32Image (Reloc, Fixup, &FixupData, Adjust);
|
Status = PeCoffLoaderRelocateIa32Image (Reloc, Fixup, &FixupData, Adjust);
|
||||||
break;
|
break;
|
||||||
case EFI_IMAGE_MACHINE_ARMT:
|
case IMAGE_FILE_MACHINE_ARMTHUMB_MIXED:
|
||||||
Status = PeCoffLoaderRelocateArmImage (&Reloc, Fixup, &FixupData, Adjust);
|
Status = PeCoffLoaderRelocateArmImage (&Reloc, Fixup, &FixupData, Adjust);
|
||||||
break;
|
break;
|
||||||
case EFI_IMAGE_MACHINE_RISCV64:
|
case IMAGE_FILE_MACHINE_RISCV64:
|
||||||
Status = PeCoffLoaderRelocateRiscVImage (Reloc, Fixup, &FixupData, Adjust);
|
Status = PeCoffLoaderRelocateRiscVImage (Reloc, Fixup, &FixupData, Adjust);
|
||||||
break;
|
break;
|
||||||
case EFI_IMAGE_MACHINE_LOONGARCH64:
|
case IMAGE_FILE_MACHINE_LOONGARCH64:
|
||||||
Status = PeCoffLoaderRelocateLoongArch64Image (Reloc, Fixup, &FixupData, Adjust);
|
Status = PeCoffLoaderRelocateLoongArch64Image (Reloc, Fixup, &FixupData, Adjust);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -1255,14 +1255,14 @@ PeCoffLoaderGetPdbPointer (
|
|||||||
// generate PE32+ image with PE32 Magic.
|
// generate PE32+ image with PE32 Magic.
|
||||||
//
|
//
|
||||||
switch (Hdr.Pe32->FileHeader.Machine) {
|
switch (Hdr.Pe32->FileHeader.Machine) {
|
||||||
case EFI_IMAGE_MACHINE_IA32:
|
case IMAGE_FILE_MACHINE_I386:
|
||||||
case EFI_IMAGE_MACHINE_ARMT:
|
case IMAGE_FILE_MACHINE_ARMTHUMB_MIXED:
|
||||||
//
|
//
|
||||||
// Assume PE32 image with IA32 Machine field.
|
// Assume PE32 image with IA32 Machine field.
|
||||||
//
|
//
|
||||||
Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
||||||
break;
|
break;
|
||||||
case EFI_IMAGE_MACHINE_X64:
|
case IMAGE_FILE_MACHINE_X64:
|
||||||
//
|
//
|
||||||
// Assume PE32+ image with X64 Machine field
|
// Assume PE32+ image with X64 Machine field
|
||||||
//
|
//
|
||||||
|
@ -108,11 +108,11 @@ typedef struct {
|
|||||||
// Machine Types
|
// Machine Types
|
||||||
//
|
//
|
||||||
static STRING_LOOKUP mMachineTypes[] = {
|
static STRING_LOOKUP mMachineTypes[] = {
|
||||||
{ EFI_IMAGE_MACHINE_IA32, "IA32" },
|
{ IMAGE_FILE_MACHINE_I386, "IA32" },
|
||||||
{ EFI_IMAGE_MACHINE_X64, "X64" },
|
{ IMAGE_FILE_MACHINE_X64, "X64" },
|
||||||
{ EFI_IMAGE_MACHINE_EBC, "EBC" },
|
{ IMAGE_FILE_MACHINE_EBC, "EBC" },
|
||||||
{ EFI_IMAGE_MACHINE_ARMT, "ARM" },
|
{ IMAGE_FILE_MACHINE_ARMTHUMB_MIXED, "ARM" },
|
||||||
{ EFI_IMAGE_MACHINE_AARCH64, "AA64" },
|
{ IMAGE_FILE_MACHINE_ARM64, "AA64" },
|
||||||
{ 0, NULL }
|
{ 0, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1655,8 +1655,8 @@ Returns:
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
Vtf0Detected &&
|
Vtf0Detected &&
|
||||||
(MachineType == EFI_IMAGE_MACHINE_IA32 ||
|
(MachineType == IMAGE_FILE_MACHINE_I386 ||
|
||||||
MachineType == EFI_IMAGE_MACHINE_X64)
|
MachineType == IMAGE_FILE_MACHINE_X64)
|
||||||
) {
|
) {
|
||||||
//
|
//
|
||||||
// If the SEC core code is IA32 or X64 and the VTF-0 signature
|
// If the SEC core code is IA32 or X64 and the VTF-0 signature
|
||||||
@ -1714,7 +1714,7 @@ Returns:
|
|||||||
DebugMsg (NULL, 0, 9, "PeiCore physical entry point address", "Address = 0x%llX", (unsigned long long) PeiCorePhysicalAddress);
|
DebugMsg (NULL, 0, 9, "PeiCore physical entry point address", "Address = 0x%llX", (unsigned long long) PeiCorePhysicalAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MachineType == EFI_IMAGE_MACHINE_IA32 || MachineType == EFI_IMAGE_MACHINE_X64) {
|
if (MachineType == IMAGE_FILE_MACHINE_I386 || MachineType == IMAGE_FILE_MACHINE_X64) {
|
||||||
if (PeiCorePhysicalAddress != 0) {
|
if (PeiCorePhysicalAddress != 0) {
|
||||||
//
|
//
|
||||||
// Get the location to update
|
// Get the location to update
|
||||||
@ -1804,12 +1804,12 @@ if (MachineType == EFI_IMAGE_MACHINE_IA32 || MachineType == EFI_IMAGE_MACHINE_X6
|
|||||||
//
|
//
|
||||||
Ia32ResetAddressPtr = (UINT32 *) ((UINTN) FvImage->Eof - 8);
|
Ia32ResetAddressPtr = (UINT32 *) ((UINTN) FvImage->Eof - 8);
|
||||||
*Ia32ResetAddressPtr = IpiVector;
|
*Ia32ResetAddressPtr = IpiVector;
|
||||||
} else if (MachineType == EFI_IMAGE_MACHINE_ARMT) {
|
} else if (MachineType == IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) {
|
||||||
//
|
//
|
||||||
// Since the ARM reset vector is in the FV Header you really don't need a
|
// Since the ARM reset vector is in the FV Header you really don't need a
|
||||||
// Volume Top File, but if you have one for some reason don't crash...
|
// Volume Top File, but if you have one for some reason don't crash...
|
||||||
//
|
//
|
||||||
} else if (MachineType == EFI_IMAGE_MACHINE_AARCH64) {
|
} else if (MachineType == IMAGE_FILE_MACHINE_ARM64) {
|
||||||
//
|
//
|
||||||
// Since the AArch64 reset vector is in the FV Header you really don't need a
|
// Since the AArch64 reset vector is in the FV Header you really don't need a
|
||||||
// Volume Top File, but if you have one for some reason don't crash...
|
// Volume Top File, but if you have one for some reason don't crash...
|
||||||
@ -2204,7 +2204,7 @@ Returns:
|
|||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MachineType == EFI_IMAGE_MACHINE_ARMT) {
|
if (MachineType == IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) {
|
||||||
// ARM: Array of 4 UINT32s:
|
// ARM: Array of 4 UINT32s:
|
||||||
// 0 - is branch relative to SEC entry point
|
// 0 - is branch relative to SEC entry point
|
||||||
// 1 - PEI Entry Point
|
// 1 - PEI Entry Point
|
||||||
@ -2258,7 +2258,7 @@ Returns:
|
|||||||
//
|
//
|
||||||
memcpy(FvImage->FileImage, ResetVector, sizeof (ResetVector));
|
memcpy(FvImage->FileImage, ResetVector, sizeof (ResetVector));
|
||||||
|
|
||||||
} else if (MachineType == EFI_IMAGE_MACHINE_AARCH64) {
|
} else if (MachineType == IMAGE_FILE_MACHINE_ARM64) {
|
||||||
// AArch64: Used as UINT64 ResetVector[2]
|
// AArch64: Used as UINT64 ResetVector[2]
|
||||||
// 0 - is branch relative to SEC entry point
|
// 0 - is branch relative to SEC entry point
|
||||||
// 1 - PEI Entry Point
|
// 1 - PEI Entry Point
|
||||||
@ -2377,7 +2377,7 @@ Returns:
|
|||||||
return EFI_ABORTED;
|
return EFI_ABORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MachineType != EFI_IMAGE_MACHINE_RISCV64) {
|
if (MachineType != IMAGE_FILE_MACHINE_RISCV64) {
|
||||||
Error(NULL, 0, 3000, "Invalid", "Could not update SEC core because Machine type is not RiscV.");
|
Error(NULL, 0, 3000, "Invalid", "Could not update SEC core because Machine type is not RiscV.");
|
||||||
return EFI_ABORTED;
|
return EFI_ABORTED;
|
||||||
}
|
}
|
||||||
@ -2478,7 +2478,7 @@ Returns:
|
|||||||
if (!UpdateVectorSec)
|
if (!UpdateVectorSec)
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
|
|
||||||
if (MachineType == EFI_IMAGE_MACHINE_LOONGARCH64) {
|
if (MachineType == IMAGE_FILE_MACHINE_LOONGARCH64) {
|
||||||
UINT32 ResetVector[1];
|
UINT32 ResetVector[1];
|
||||||
|
|
||||||
memset(ResetVector, 0, sizeof (ResetVector));
|
memset(ResetVector, 0, sizeof (ResetVector));
|
||||||
@ -2595,9 +2595,9 @@ Returns:
|
|||||||
//
|
//
|
||||||
// Verify machine type is supported
|
// Verify machine type is supported
|
||||||
//
|
//
|
||||||
if ((*MachineType != EFI_IMAGE_MACHINE_IA32) && (*MachineType != EFI_IMAGE_MACHINE_X64) && (*MachineType != EFI_IMAGE_MACHINE_EBC) &&
|
if ((*MachineType != IMAGE_FILE_MACHINE_I386) && (*MachineType != IMAGE_FILE_MACHINE_X64) && (*MachineType != IMAGE_FILE_MACHINE_EBC) &&
|
||||||
(*MachineType != EFI_IMAGE_MACHINE_ARMT) && (*MachineType != EFI_IMAGE_MACHINE_AARCH64) &&
|
(*MachineType != IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) && (*MachineType != IMAGE_FILE_MACHINE_ARM64) &&
|
||||||
(*MachineType != EFI_IMAGE_MACHINE_RISCV64) && (*MachineType != EFI_IMAGE_MACHINE_LOONGARCH64)) {
|
(*MachineType != IMAGE_FILE_MACHINE_RISCV64) && (*MachineType != IMAGE_FILE_MACHINE_LOONGARCH64)) {
|
||||||
Error (NULL, 0, 3000, "Invalid", "Unrecognized machine type in the PE32 file.");
|
Error (NULL, 0, 3000, "Invalid", "Unrecognized machine type in the PE32 file.");
|
||||||
return EFI_UNSUPPORTED;
|
return EFI_UNSUPPORTED;
|
||||||
}
|
}
|
||||||
@ -3547,13 +3547,13 @@ Returns:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// machine type is ARM, set a flag so ARM reset vector processing occurs
|
// machine type is ARM, set a flag so ARM reset vector processing occurs
|
||||||
if ((MachineType == EFI_IMAGE_MACHINE_ARMT) || (MachineType == EFI_IMAGE_MACHINE_AARCH64)) {
|
if ((MachineType == IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) || (MachineType == IMAGE_FILE_MACHINE_ARM64)) {
|
||||||
VerboseMsg("Located ARM/AArch64 SEC/PEI core in child FV");
|
VerboseMsg("Located ARM/AArch64 SEC/PEI core in child FV");
|
||||||
mArm = TRUE;
|
mArm = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Machine type is LOONGARCH64, set a flag so LoongArch64 reset vector processed.
|
// Machine type is LOONGARCH64, set a flag so LoongArch64 reset vector processed.
|
||||||
if (MachineType == EFI_IMAGE_MACHINE_LOONGARCH64) {
|
if (MachineType == IMAGE_FILE_MACHINE_LOONGARCH64) {
|
||||||
VerboseMsg("Located LoongArch64 SEC core in child FV");
|
VerboseMsg("Located LoongArch64 SEC core in child FV");
|
||||||
mLoongArch = TRUE;
|
mLoongArch = TRUE;
|
||||||
}
|
}
|
||||||
@ -3706,16 +3706,16 @@ Returns:
|
|||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (ImageContext.Machine == EFI_IMAGE_MACHINE_ARMT) ||
|
if ( (ImageContext.Machine == IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) ||
|
||||||
(ImageContext.Machine == EFI_IMAGE_MACHINE_AARCH64) ) {
|
(ImageContext.Machine == IMAGE_FILE_MACHINE_ARM64) ) {
|
||||||
mArm = TRUE;
|
mArm = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImageContext.Machine == EFI_IMAGE_MACHINE_RISCV64) {
|
if (ImageContext.Machine == IMAGE_FILE_MACHINE_RISCV64) {
|
||||||
mRiscV = TRUE;
|
mRiscV = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImageContext.Machine == EFI_IMAGE_MACHINE_LOONGARCH64) {
|
if (ImageContext.Machine == IMAGE_FILE_MACHINE_LOONGARCH64) {
|
||||||
mLoongArch = TRUE;
|
mLoongArch = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3991,12 +3991,12 @@ Returns:
|
|||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (ImageContext.Machine == EFI_IMAGE_MACHINE_ARMT) ||
|
if ( (ImageContext.Machine == IMAGE_FILE_MACHINE_ARMTHUMB_MIXED) ||
|
||||||
(ImageContext.Machine == EFI_IMAGE_MACHINE_AARCH64) ) {
|
(ImageContext.Machine == IMAGE_FILE_MACHINE_ARM64) ) {
|
||||||
mArm = TRUE;
|
mArm = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImageContext.Machine == EFI_IMAGE_MACHINE_LOONGARCH64) {
|
if (ImageContext.Machine == IMAGE_FILE_MACHINE_LOONGARCH64) {
|
||||||
mLoongArch = TRUE;
|
mLoongArch = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -553,16 +553,16 @@ ScanSections32 (
|
|||||||
|
|
||||||
switch (mEhdr->e_machine) {
|
switch (mEhdr->e_machine) {
|
||||||
case EM_386:
|
case EM_386:
|
||||||
NtHdr->Pe32.FileHeader.Machine = EFI_IMAGE_MACHINE_IA32;
|
NtHdr->Pe32.FileHeader.Machine = IMAGE_FILE_MACHINE_I386;
|
||||||
NtHdr->Pe32.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
NtHdr->Pe32.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
||||||
break;
|
break;
|
||||||
case EM_ARM:
|
case EM_ARM:
|
||||||
NtHdr->Pe32.FileHeader.Machine = EFI_IMAGE_MACHINE_ARMT;
|
NtHdr->Pe32.FileHeader.Machine = IMAGE_FILE_MACHINE_ARMTHUMB_MIXED;
|
||||||
NtHdr->Pe32.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
NtHdr->Pe32.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
VerboseMsg ("%s unknown e_machine type %hu. Assume IA-32", mInImageName, mEhdr->e_machine);
|
VerboseMsg ("%s unknown e_machine type %hu. Assume IA-32", mInImageName, mEhdr->e_machine);
|
||||||
NtHdr->Pe32.FileHeader.Machine = EFI_IMAGE_MACHINE_IA32;
|
NtHdr->Pe32.FileHeader.Machine = IMAGE_FILE_MACHINE_I386;
|
||||||
NtHdr->Pe32.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
NtHdr->Pe32.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1137,25 +1137,25 @@ ScanSections64 (
|
|||||||
|
|
||||||
switch (mEhdr->e_machine) {
|
switch (mEhdr->e_machine) {
|
||||||
case EM_X86_64:
|
case EM_X86_64:
|
||||||
NtHdr->Pe32Plus.FileHeader.Machine = EFI_IMAGE_MACHINE_X64;
|
NtHdr->Pe32Plus.FileHeader.Machine = IMAGE_FILE_MACHINE_X64;
|
||||||
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
||||||
break;
|
break;
|
||||||
case EM_AARCH64:
|
case EM_AARCH64:
|
||||||
NtHdr->Pe32Plus.FileHeader.Machine = EFI_IMAGE_MACHINE_AARCH64;
|
NtHdr->Pe32Plus.FileHeader.Machine = IMAGE_FILE_MACHINE_ARM64;
|
||||||
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
||||||
break;
|
break;
|
||||||
case EM_RISCV64:
|
case EM_RISCV64:
|
||||||
NtHdr->Pe32Plus.FileHeader.Machine = EFI_IMAGE_MACHINE_RISCV64;
|
NtHdr->Pe32Plus.FileHeader.Machine = IMAGE_FILE_MACHINE_RISCV64;
|
||||||
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
||||||
break;
|
break;
|
||||||
case EM_LOONGARCH:
|
case EM_LOONGARCH:
|
||||||
NtHdr->Pe32Plus.FileHeader.Machine = EFI_IMAGE_MACHINE_LOONGARCH64;
|
NtHdr->Pe32Plus.FileHeader.Machine = IMAGE_FILE_MACHINE_LOONGARCH64;
|
||||||
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
VerboseMsg ("%u unknown e_machine type. Assume X64", (UINTN)mEhdr->e_machine);
|
VerboseMsg ("%u unknown e_machine type. Assume X64", (UINTN)mEhdr->e_machine);
|
||||||
NtHdr->Pe32Plus.FileHeader.Machine = EFI_IMAGE_MACHINE_X64;
|
NtHdr->Pe32Plus.FileHeader.Machine = IMAGE_FILE_MACHINE_X64;
|
||||||
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
NtHdr->Pe32Plus.OptionalHeader.Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2197,12 +2197,6 @@ Returns:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PeHdr->Pe32.FileHeader.Machine == IMAGE_FILE_MACHINE_ARM) {
|
|
||||||
// Some tools kick out IMAGE_FILE_MACHINE_ARM (0x1c0) vs IMAGE_FILE_MACHINE_ARMT (0x1c2)
|
|
||||||
// so patch back to the official UEFI value.
|
|
||||||
PeHdr->Pe32.FileHeader.Machine = IMAGE_FILE_MACHINE_ARMT;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Set new base address into image
|
// Set new base address into image
|
||||||
//
|
//
|
||||||
@ -3117,7 +3111,7 @@ Returns:
|
|||||||
// Get Debug, Export and Resource EntryTable RVA address.
|
// Get Debug, Export and Resource EntryTable RVA address.
|
||||||
// Resource Directory entry need to review.
|
// Resource Directory entry need to review.
|
||||||
//
|
//
|
||||||
if (FileHdr->Machine == EFI_IMAGE_MACHINE_IA32) {
|
if (FileHdr->Machine == IMAGE_FILE_MACHINE_I386) {
|
||||||
Optional32Hdr = (EFI_IMAGE_OPTIONAL_HEADER32 *) ((UINT8*) FileHdr + sizeof (EFI_IMAGE_FILE_HEADER));
|
Optional32Hdr = (EFI_IMAGE_OPTIONAL_HEADER32 *) ((UINT8*) FileHdr + sizeof (EFI_IMAGE_FILE_HEADER));
|
||||||
SectionHeader = (EFI_IMAGE_SECTION_HEADER *) ((UINT8 *) Optional32Hdr + FileHdr->SizeOfOptionalHeader);
|
SectionHeader = (EFI_IMAGE_SECTION_HEADER *) ((UINT8 *) Optional32Hdr + FileHdr->SizeOfOptionalHeader);
|
||||||
if (Optional32Hdr->NumberOfRvaAndSizes > EFI_IMAGE_DIRECTORY_ENTRY_EXPORT && \
|
if (Optional32Hdr->NumberOfRvaAndSizes > EFI_IMAGE_DIRECTORY_ENTRY_EXPORT && \
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#define IMAGE_FILE_MACHINE_X64 0x8664
|
#define IMAGE_FILE_MACHINE_X64 0x8664
|
||||||
#define IMAGE_FILE_MACHINE_ARM 0x01c0 // Thumb only
|
#define IMAGE_FILE_MACHINE_ARM 0x01c0 // Thumb only
|
||||||
#define IMAGE_FILE_MACHINE_ARMT 0x01c2 // 32bit Mixed ARM and Thumb/Thumb 2 Little Endian
|
#define IMAGE_FILE_MACHINE_ARMT 0x01c2 // 32bit Mixed ARM and Thumb/Thumb 2 Little Endian
|
||||||
|
#define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED IMAGE_FILE_MACHINE_ARMT
|
||||||
#define IMAGE_FILE_MACHINE_ARM64 0xAA64 // 64bit ARM Architecture, Little Endian
|
#define IMAGE_FILE_MACHINE_ARM64 0xAA64 // 64bit ARM Architecture, Little Endian
|
||||||
#define IMAGE_FILE_MACHINE_RISCV64 0x5064 // 64bit RISC-V ISA
|
#define IMAGE_FILE_MACHINE_RISCV64 0x5064 // 64bit RISC-V ISA
|
||||||
#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 // 64bit LoongArch Architecture
|
#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 // 64bit LoongArch Architecture
|
||||||
|
Reference in New Issue
Block a user