Message ID | 20200415195422.19866-1-atish.patra@wdc.com (mailing list archive) |
---|---|
Headers | show |
Series | Add UEFI support for RISC-V | expand |
(+ Arvind) On Wed, 15 Apr 2020 at 21:54, Atish Patra <atish.patra@wdc.com> 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_v3 > > The patches have been verified on Qemu using bootefi command in U-Boot. > > Changes from v2->v3: > 1. Rebased on top of latest efi patches. > 2. Improved handle_kernel_image(). > > 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 (5): > efi: Move arm-stub to a common file > include: pe.h: Add RISC-V related PE definition > 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. > I had some comments regarding patch #5, but the other ones look fine. Given that there are two series in flight now that touch the same code, I am going to merge the patches #1 and #2 of this series into efi/next. Once the remaining changes are good to go, I can take them as well, but I'll need one of the RISC-V maintainers to ack them first. > arch/arm/Kconfig | 2 +- > arch/arm64/Kconfig | 2 +- > 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 | 4 +- > drivers/firmware/efi/libstub/Makefile | 19 ++- > .../efi/libstub/{arm-stub.c => efi-stub.c} | 0 > drivers/firmware/efi/libstub/riscv-stub.c | 111 ++++++++++++++++++ > include/linux/pe.h | 3 + > 20 files changed, 421 insertions(+), 12 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 > rename drivers/firmware/efi/libstub/{arm-stub.c => efi-stub.c} (100%) > create mode 100644 drivers/firmware/efi/libstub/riscv-stub.c > > -- > 2.24.0 >