boot/efi: add ARM (THUMB) and RISCV64 machine types

Also drop defines from shared/pe-header.h, appear to be unused.
This commit is contained in:
Dimitri John Ledkov
2021-05-04 19:15:00 +01:00
committed by Zbigniew Jędrzejewski-Szmek
parent a83a7d1e9e
commit e706aaa7a3
2 changed files with 5 additions and 4 deletions

View File

@@ -31,6 +31,8 @@ struct DosFileHeader {
#define PE_HEADER_MACHINE_I386 0x014c
#define PE_HEADER_MACHINE_X64 0x8664
#define PE_HEADER_MACHINE_ARM64 0xaa64
#define PE_HEADER_MACHINE_ARM 0x01c2
#define PE_HEADER_MACHINE_RISCV64 0x5064
struct PeFileHeader {
UINT16 Machine;
UINT16 NumberOfSections;
@@ -76,7 +78,9 @@ EFI_STATUS pe_memory_locate_sections(CHAR8 *base, CHAR8 **sections, UINTN *addrs
/* PE32+ Subsystem type */
if (pe->FileHeader.Machine != PE_HEADER_MACHINE_X64 &&
pe->FileHeader.Machine != PE_HEADER_MACHINE_ARM64 &&
pe->FileHeader.Machine != PE_HEADER_MACHINE_I386)
pe->FileHeader.Machine != PE_HEADER_MACHINE_I386 &&
pe->FileHeader.Machine != PE_HEADER_MACHINE_ARM &&
pe->FileHeader.Machine != PE_HEADER_MACHINE_RISCV64)
return EFI_LOAD_ERROR;
if (pe->FileHeader.NumberOfSections > 96)

View File

@@ -29,9 +29,6 @@ struct DosFileHeader {
le32_t ExeHeader;
} _packed_;
#define PE_HEADER_MACHINE_I386 0x014cU
#define PE_HEADER_MACHINE_X64 0x8664U
struct PeFileHeader {
le16_t Machine;
le16_t NumberOfSections;