46 lines
1.5 KiB
Diff
46 lines
1.5 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Leif Lindholm <leif.lindholm@linaro.org>
|
||
|
Date: Mon, 25 Jun 2018 18:01:29 +0100
|
||
|
Subject: [PATCH] commands/file: Use definitions from arm64/linux.h
|
||
|
|
||
|
Clean up code for matching IS_ARM64 slightly by making use of struct
|
||
|
linux_arm64_kernel_header and GRUB_LINUX_ARM64_MAGIC_SIGNATURE.
|
||
|
|
||
|
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
|
||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||
|
---
|
||
|
grub-core/commands/file.c | 11 ++++++-----
|
||
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/grub-core/commands/file.c b/grub-core/commands/file.c
|
||
|
index ab0c9fb9694..3ff6d5522d2 100644
|
||
|
--- a/grub-core/commands/file.c
|
||
|
+++ b/grub-core/commands/file.c
|
||
|
@@ -28,6 +28,7 @@
|
||
|
#include <grub/xen_file.h>
|
||
|
#include <grub/efi/pe32.h>
|
||
|
#include <grub/arm/linux.h>
|
||
|
+#include <grub/arm64/linux.h>
|
||
|
#include <grub/i386/linux.h>
|
||
|
#include <grub/xnu.h>
|
||
|
#include <grub/machoload.h>
|
||
|
@@ -405,13 +406,13 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, char **args)
|
||
|
}
|
||
|
case IS_ARM64_LINUX:
|
||
|
{
|
||
|
- grub_uint32_t sig;
|
||
|
+ struct linux_arm64_kernel_header lh;
|
||
|
|
||
|
- if (grub_file_seek (file, 0x38) == (grub_size_t) -1)
|
||
|
+ if (grub_file_read (file, &lh, sizeof (lh)) != sizeof (lh))
|
||
|
break;
|
||
|
- if (grub_file_read (file, &sig, 4) != 4)
|
||
|
- break;
|
||
|
- if (sig == grub_cpu_to_le32_compile_time (0x644d5241))
|
||
|
+
|
||
|
+ if (lh.magic ==
|
||
|
+ grub_cpu_to_le32_compile_time (GRUB_LINUX_ARM64_MAGIC_SIGNATURE))
|
||
|
{
|
||
|
ret = 1;
|
||
|
break;
|