fbe5a8c
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
fbe5a8c
From: David Abdurachmanov <david.abdurachmanov@sifive.com>
fbe5a8c
Date: Sat, 9 Nov 2019 18:06:32 +0000
fbe5a8c
Subject: [PATCH] chainloader: Define machine types for RISC-V
fbe5a8c
fbe5a8c
The commit "Add secureboot support on efi chainloader" didn't add machine
fbe5a8c
types for RISC-V, so this patch adds them.
fbe5a8c
fbe5a8c
Note, that grub-core/loader/riscv/linux.c is skipped because Linux is not
fbe5a8c
supported yet. This patch might need a new revision once that's the case.
fbe5a8c
fbe5a8c
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
fbe5a8c
---
fbe5a8c
 grub-core/loader/efi/chainloader.c | 4 ++++
fbe5a8c
 1 file changed, 4 insertions(+)
fbe5a8c
fbe5a8c
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
46968b6
index 47f5aa14817..ac8dfd40c61 100644
fbe5a8c
--- a/grub-core/loader/efi/chainloader.c
fbe5a8c
+++ b/grub-core/loader/efi/chainloader.c
46968b6
@@ -333,6 +333,10 @@ static const grub_uint16_t machine_type __attribute__((__unused__)) =
fbe5a8c
   GRUB_PE32_MACHINE_I386;
fbe5a8c
 #elif defined(__ia64__)
fbe5a8c
   GRUB_PE32_MACHINE_IA64;
fbe5a8c
+#elif defined(__riscv) && (__riscv_xlen == 32)
fbe5a8c
+  GRUB_PE32_MACHINE_RISCV32;
fbe5a8c
+#elif defined(__riscv) && (__riscv_xlen == 64)
fbe5a8c
+  GRUB_PE32_MACHINE_RISCV64;
fbe5a8c
 #else
fbe5a8c
 #error this architecture is not supported by grub2
fbe5a8c
 #endif