[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RFC/RFT 3/3] RISC-V: Use common linux loader
From: |
Heinrich Schuchardt |
Subject: |
Re: [PATCH RFC/RFT 3/3] RISC-V: Use common linux loader |
Date: |
Mon, 27 Apr 2020 01:02:44 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 |
On 4/26/20 9:40 PM, Atish Patra wrote:
> 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 <address@hidden>
Tested on Odroid-C2 (ARMv8) using GRUB master c543d678105037a plus this
patch series booting from U-Boot via GRUB to Debian Bullseye successfully.
Tested-by: Heinrich Schuchardt <address@hidden>
> ---
> 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 57bb70d73764..8db90762af04 100644
> --- a/grub-core/Makefile.core.def
> +++ b/grub-core/Makefile.core.def
> @@ -1816,8 +1816,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 d17c488e118d..000000000000
> --- 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 de0dbdcd1be5..706c69087546 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 7c28bc92278e..88d5df781899 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 */
>
- [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Atish Patra, 2020/04/26
- [PATCH RFC/RFT 2/3] RISC-V: Update image header, Atish Patra, 2020/04/26
- [PATCH RFC/RFT 3/3] RISC-V: Use common linux loader, Atish Patra, 2020/04/26
- Re: [PATCH RFC/RFT 3/3] RISC-V: Use common linux loader,
Heinrich Schuchardt <=
- [PATCH RFC/RFT 1/3] loader: Move arm64 linux loader to common code, Atish Patra, 2020/04/26
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Ard Biesheuvel, 2020/04/27
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Daniel Kiper, 2020/04/27
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Heinrich Schuchardt, 2020/04/27
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Ard Biesheuvel, 2020/04/27
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Heinrich Schuchardt, 2020/04/27
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Ard Biesheuvel, 2020/04/27
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Ard Biesheuvel, 2020/04/27
- Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux, Heinrich Schuchardt, 2020/04/27