aboutsummaryrefslogtreecommitdiffstats
path: root/sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch
diff options
context:
space:
mode:
authorPA4WDH2021-08-25 12:02:32 +0200
committerPA4WDH2021-08-25 12:02:32 +0200
commit38be1b3221b1e85cac1af8a67c733752265425d7 (patch)
tree62805f905167039e00378ede54f5dd41203bc577 /sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch
parentAdd patch to sys-boot/u-boot-2021.07 to make it work (diff)
downloadunmatched-patchwork-38be1b3221b1e85cac1af8a67c733752265425d7.tar.gz
unmatched-patchwork-38be1b3221b1e85cac1af8a67c733752265425d7.tar.bz2
unmatched-patchwork-38be1b3221b1e85cac1af8a67c733752265425d7.zip
Add sys-boot/grub-2.06-r1
Diffstat (limited to 'sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch')
-rw-r--r--sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch b/sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch
new file mode 100644
index 0000000..525d3a9
--- /dev/null
+++ b/sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch
@@ -0,0 +1,117 @@
+RISC-V doesn't have to do anything very different from other architectures
+to loader EFI stub linux kernel. As a result, just use the common linux
+loader instead of defining a RISC-V specific linux loader.
+
+Signed-off-by: Atish Patra <atish.patra@wdc.com>
+---
+ grub-core/Makefile.core.def | 4 +--
+ grub-core/loader/riscv/linux.c | 59 ----------------------------------
+ include/grub/riscv32/linux.h | 1 +
+ include/grub/riscv64/linux.h | 1 +
+ 4 files changed, 4 insertions(+), 61 deletions(-)
+ delete mode 100644 grub-core/loader/riscv/linux.c
+
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
+index b36cf663a..0536575bc 100644
+--- a/grub-core/Makefile.core.def
++++ b/grub-core/Makefile.core.def
+@@ -1809,8 +1809,8 @@ module = {
+ arm_efi = loader/efi/linux.c;
+ arm_uboot = loader/arm/linux.c;
+ arm64 = loader/efi/linux.c;
+- riscv32 = loader/riscv/linux.c;
+- riscv64 = loader/riscv/linux.c;
++ riscv32 = loader/efi/linux.c;
++ riscv64 = loader/efi/linux.c;
+ common = loader/linux.c;
+ common = lib/cmdline.c;
+ enable = noemu;
+diff --git a/grub-core/loader/riscv/linux.c b/grub-core/loader/riscv/linux.c
+deleted file mode 100644
+index d17c488e1..000000000
+--- a/grub-core/loader/riscv/linux.c
++++ /dev/null
+@@ -1,59 +0,0 @@
+-/*
+- * GRUB -- GRand Unified Bootloader
+- * Copyright (C) 2018 Free Software Foundation, Inc.
+- *
+- * GRUB is free software: you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * (at your option) any later version.
+- *
+- * GRUB is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-#include <grub/command.h>
+-#include <grub/dl.h>
+-#include <grub/lib/cmdline.h>
+-
+-GRUB_MOD_LICENSE ("GPLv3+");
+-
+-static grub_err_t
+-grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
+- int argc __attribute__ ((unused)),
+- char *argv[] __attribute__ ((unused)))
+-{
+- grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, N_("Linux not supported yet"));
+-
+- return grub_errno;
+-}
+-
+-static grub_err_t
+-grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
+- int argc __attribute__ ((unused)),
+- char *argv[] __attribute__ ((unused)))
+-{
+- grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, N_("Linux not supported yet"));
+-
+- return grub_errno;
+-}
+-
+-static grub_command_t cmd_linux, cmd_initrd;
+-
+-GRUB_MOD_INIT (linux)
+-{
+- cmd_linux = grub_register_command ("linux", grub_cmd_linux, 0,
+- N_("Load Linux."));
+- cmd_initrd = grub_register_command ("initrd", grub_cmd_initrd, 0,
+- N_("Load initrd."));
+-}
+-
+-GRUB_MOD_FINI (linux)
+-{
+- grub_unregister_command (cmd_linux);
+- grub_unregister_command (cmd_initrd);
+-}
+diff --git a/include/grub/riscv32/linux.h b/include/grub/riscv32/linux.h
+index de0dbdcd1..706c69087 100644
+--- a/include/grub/riscv32/linux.h
++++ b/include/grub/riscv32/linux.h
+@@ -38,5 +38,6 @@ struct linux_riscv_kernel_header
+ };
+
+ #define linux_arch_kernel_header linux_riscv_kernel_header
++# define GRUB_LINUX_ARCH_MAGIC_SIGNATURE GRUB_LINUX_RISCV_MAGIC_SIGNATURE
+
+ #endif /* ! GRUB_RISCV32_LINUX_HEADER */
+diff --git a/include/grub/riscv64/linux.h b/include/grub/riscv64/linux.h
+index 7c28bc922..88d5df781 100644
+--- a/include/grub/riscv64/linux.h
++++ b/include/grub/riscv64/linux.h
+@@ -40,5 +40,6 @@ struct linux_riscv_kernel_header
+ };
+
+ #define linux_arch_kernel_header linux_riscv_kernel_header
++# define GRUB_LINUX_ARCH_MAGIC_SIGNATURE GRUB_LINUX_RISCV_MAGIC_SIGNATURE
+
+ #endif /* ! GRUB_RISCV64_LINUX_HEADER */
+--
+2.29.3