]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
boot/efi: add ARM (THUMB) and RISCV64 machine types 19445/head
authorDimitri John Ledkov <xnox@ubuntu.com>
Tue, 4 May 2021 18:15:00 +0000 (19:15 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 6 May 2021 13:16:29 +0000 (15:16 +0200)
Also drop defines from shared/pe-header.h, appear to be unused.

src/boot/efi/pe.c
src/shared/pe-header.h

index cb3583807211d9fce7c0954e39aa9bd9a94a41dc..e65701734307a56e12b6b6143609e87d6192d3f1 100644 (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)
index 54433c79b851f4863d649bdc3472645b95089ed6..4ddfce39e6b01355200c5cdb617670046834924b 100644 (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;