On Tue, Apr 21, 2020 at 12:24 AM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > On Tue, 21 Apr 2020 at 05:34, Atish Patra <atish.patra@xxxxxxx> wrote: > > > > This series adds UEFI support for RISC-V. Currently, only boot time > > services have been added. Runtime services will be added in a separate > > series. This series depends on some core EFI patches > > present in current in efi-next and following other patches. > > > > U-Boot: Adds the boot hartid under chosen node. > > https://lists.denx.de/pipermail/u-boot/2020-April/405726.html > > > > Linux kernel: 5.7-rc1 > > > > OpenSBI: master > > > > Patch 1 just moves arm-stub code to a generic code so that it can be used > > across different architecture. > > > > Patch 3 adds fixmap bindings so that CONFIG_EFI can be compiled and we do not > > have create separate config to enable boot time services. > > As runtime services are not enabled at this time, full generic early ioremap > > support is also not added in this series. > > > > Patch 4 and 5 adds the PE/COFF header and EFI stub code support for RISC-V > > respectively. > > > > The patches can also be found in following git repo. > > > > https://github.com/atishp04/linux/tree/wip_uefi_riscv_v4 > > > > The patches have been verified on Qemu using bootefi command in U-Boot. > > > > Changes from v3->v4: > > 1. Rebased on top of efi-next. > > 2. Dropped patch 1 & 2 from this series as it is already queued in efi-next. > > Changes from v2->v3: > > 3. Improved handle_kernel_image() for RISC-V. > > > > Thanks Atish. This looks nice and simple now. > > I will need an ack from the RISC-V maintainers on these, and it is up > to them to consider whether the changes to core kconfigs and makefiles > are likely to cause trouble or not. If so, I am happy to work out a > way to merge this via a shared stable branch. > @Palmer Dabbelt : Can you take a look at the series whenever you have some free cycles ? We would like to merge the series sooner than later. > > > > Changes from v1->v2: > > 1. Rebased on 5.7-rc1. > > 2. Fixed minor typos and removed redundant macros/comments. > > > > Changes from previous version: > > 1. Renamed to the generic efi stub macro. > > 2. Address all redundant comments. > > 3. Supported EFI kernel image with normal booti command. > > 4. Removed runtime service related macro defines. > > > > Atish Patra (3): > > RISC-V: Define fixmap bindings for generic early ioremap support > > RISC-V: Add PE/COFF header for EFI stub > > RISC-V: Add EFI stub support. > > > > arch/riscv/Kconfig | 21 +++++ > > arch/riscv/Makefile | 1 + > > arch/riscv/configs/defconfig | 1 + > > arch/riscv/include/asm/Kbuild | 1 + > > arch/riscv/include/asm/efi.h | 44 +++++++++ > > arch/riscv/include/asm/fixmap.h | 18 ++++ > > arch/riscv/include/asm/io.h | 1 + > > arch/riscv/include/asm/sections.h | 13 +++ > > arch/riscv/kernel/Makefile | 4 + > > arch/riscv/kernel/efi-header.S | 99 ++++++++++++++++++++ > > arch/riscv/kernel/head.S | 16 ++++ > > arch/riscv/kernel/image-vars.h | 53 +++++++++++ > > arch/riscv/kernel/vmlinux.lds.S | 20 +++- > > drivers/firmware/efi/Kconfig | 2 +- > > drivers/firmware/efi/libstub/Makefile | 10 ++ > > drivers/firmware/efi/libstub/riscv-stub.c | 106 ++++++++++++++++++++++ > > 16 files changed, 407 insertions(+), 3 deletions(-) > > create mode 100644 arch/riscv/include/asm/efi.h > > create mode 100644 arch/riscv/include/asm/sections.h > > create mode 100644 arch/riscv/kernel/efi-header.S > > create mode 100644 arch/riscv/kernel/image-vars.h > > create mode 100644 drivers/firmware/efi/libstub/riscv-stub.c > > > > -- > > 2.24.0 > > -- Regards, Atish