bbc6a8
From c5841ba7f0d14c193f20854e7e55b4f7ce9207d5 Mon Sep 17 00:00:00 2001
bbc6a8
From: Leif Lindholm <leif.lindholm@linaro.org>
bbc6a8
Date: Thu, 3 Aug 2017 11:04:25 +0100
31cddd
Subject: [PATCH] efi: Add GRUB_PE32_MAGIC definition
bbc6a8
bbc6a8
Add a generic GRUB_PE32_MAGIC definition for the PE 'MZ' tag and delete
bbc6a8
the existing one in arm64/linux.h.
bbc6a8
bbc6a8
Update arm64 Linux loader to use this new definition.
bbc6a8
bbc6a8
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
bbc6a8
---
bbc6a8
 grub-core/loader/arm64/linux.c | 2 +-
bbc6a8
 include/grub/arm64/linux.h     | 2 --
bbc6a8
 include/grub/efi/pe32.h        | 2 ++
bbc6a8
 3 files changed, 3 insertions(+), 3 deletions(-)
bbc6a8
bbc6a8
diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
ec4acb
index 3e2f9b74296..a652ee9088e 100644
bbc6a8
--- a/grub-core/loader/arm64/linux.c
bbc6a8
+++ b/grub-core/loader/arm64/linux.c
bbc6a8
@@ -52,7 +52,7 @@ grub_arm64_uefi_check_image (struct grub_arm64_linux_kernel_header * lh)
bbc6a8
   if (lh->magic != GRUB_ARM64_LINUX_MAGIC)
bbc6a8
     return grub_error(GRUB_ERR_BAD_OS, "invalid magic number");
bbc6a8
 
bbc6a8
-  if ((lh->code0 & 0xffff) != GRUB_EFI_PE_MAGIC)
bbc6a8
+  if ((lh->code0 & 0xffff) != GRUB_PE32_MAGIC)
bbc6a8
     return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
bbc6a8
 		       N_("plain image kernel not supported - rebuild with CONFIG_(U)EFI_STUB enabled"));
bbc6a8
 
bbc6a8
diff --git a/include/grub/arm64/linux.h b/include/grub/arm64/linux.h
ec4acb
index 1ea23696e7a..a981df5d15f 100644
bbc6a8
--- a/include/grub/arm64/linux.h
bbc6a8
+++ b/include/grub/arm64/linux.h
bbc6a8
@@ -23,8 +23,6 @@
bbc6a8
 
bbc6a8
 #define GRUB_ARM64_LINUX_MAGIC 0x644d5241 /* 'ARM\x64' */
bbc6a8
 
bbc6a8
-#define GRUB_EFI_PE_MAGIC	0x5A4D
bbc6a8
-
bbc6a8
 /* From linux/Documentation/arm64/booting.txt */
bbc6a8
 struct grub_arm64_linux_kernel_header
bbc6a8
 {
bbc6a8
diff --git a/include/grub/efi/pe32.h b/include/grub/efi/pe32.h
ec4acb
index f79c36c026e..7d44732d2c3 100644
bbc6a8
--- a/include/grub/efi/pe32.h
bbc6a8
+++ b/include/grub/efi/pe32.h
bbc6a8
@@ -45,6 +45,8 @@
bbc6a8
 
bbc6a8
 #define GRUB_PE32_MSDOS_STUB_SIZE	0x80
bbc6a8
 
bbc6a8
+#define GRUB_PE32_MAGIC			0x5a4d
bbc6a8
+
bbc6a8
 /* According to the spec, the minimal alignment is 512 bytes...
bbc6a8
    But some examples (such as EFI drivers in the Intel
bbc6a8
    Sample Implementation) use 32 bytes (0x20) instead, and it seems