From 38be1b3221b1e85cac1af8a67c733752265425d7 Mon Sep 17 00:00:00 2001 From: PA4WDH Date: Wed, 25 Aug 2021 12:02:32 +0200 Subject: Add sys-boot/grub-2.06-r1 --- ...ub-2.06-007-riscv-use-common-linux-loader.patch | 117 +++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch (limited to 'sys-boot/grub/files/grub-2.06-007-riscv-use-common-linux-loader.patch') 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 +--- + 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 . +- */ +- +-#include +-#include +-#include +- +-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 -- cgit v1.2.3