grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux


From: Ard Biesheuvel
Subject: Re: [PATCH RFC/RFT 0/3] Add grub loader support for RISC-V Linux
Date: Mon, 27 Apr 2020 08:15:41 +0200

On Sun, 26 Apr 2020 at 21:40, Atish Patra <address@hidden> wrote:
>
> This series adds grub loader support for RISC-V Linux. Thanks to the awesome
> initial RISC-V support added by Alex, we just needed a loader for RISC-V to
> load and execute Linux using UEFI protocol.
>
> Fortunately, ARM64 Linux loader is written in an architecture agnostic manner
> so thatgeneric RISC-V can easily reuse the loader code. Thus, the first patch
> just moves the ARM64 code to common code. I have compile tested for
> ARM64/ARM32. Even though it doesn't introduce any functional change
> for ARM/ARM64, any real testing will be helpful.
>

May I suggest that we not blindly adopt the ARM code here, but
instead, use the new initrd loading protocol that removes the need for
GRUB to modify or even know about the device tree at all?

The resulting code could serve as a legacy-free 'generic' EFI target,
that could work on all architectures, including x86, provided that the
kernel you are booting is recent enough (and that issue will solve
itself over time)


> I have tested this series for RISC-V on both Qemu and HiFive Unleashed.
> Here are the dependencies of other opensource projects.
>
> 1. OpenSBI v0.7
> 2. U-boot master (Head: a5f9b8a8b592 Merge 
> https://gitlab.denx.de/u-boot/custodians/u-boot-riscv)
> 3. Linux kernel (efi-next + top 4 RISC-V patches from riscv-efi-for-v5.8)
>    Linux kernel tree can be found here as well.
>    https://github.com/atishp04/linux/pull/new/uefi_riscv_pr
>
>
> Atish Patra (3):
> loader: Move arm64 linux loader to common code
> RISC-V: Update image header
> RISC-V: Use common linux loader
>
> grub-core/Makefile.core.def             |  8 ++--
> grub-core/loader/{arm64 => efi}/linux.c |  2 +-
> grub-core/loader/riscv/linux.c          | 59 -------------------------
> include/grub/arm/linux.h                |  2 +-
> include/grub/arm64/linux.h              |  2 +-
> include/grub/riscv32/linux.h            | 16 ++++---
> include/grub/riscv64/linux.h            | 16 ++++---
> 7 files changed, 25 insertions(+), 80 deletions(-)
> rename grub-core/loader/{arm64 => efi}/linux.c (99%)
> delete mode 100644 grub-core/loader/riscv/linux.c
>
> --
> 2.25.1
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]