[U-Boot] [PATCH v3 0/8] riscv: Enable efi_loader support
Alexander Graf
agraf at suse.de
Mon Apr 23 05:59:42 UTC 2018
We now have RISC-V support in U-Boot - which is great!
However, not that we're finally making progress to converge on
efi_loader and distro boot for booting on ARM platforms, we
really want to make sure there is no technical reason not to
do the same on RISC-V as well.
So this patch set introduces distro boot and efi_loader support
for RISC-V!
So far, I've only tested it with the selftest and hello world
target in U-Boot, as the number of target binaries to run is
still slim. But it should at least give us a good starting point.
v1 -> v2:
- Allow 32bit target
- Also save/restore ra, sp
- Use edk2 default boot file names
- Enable hello world binary
- remove patch: efi_loader: selftest: Do not build relocation tests for risc-v
- new patch: riscv: Add EFI application infrastructure
v2 -> v3:
- Add missing crt0 source
- Use official values for vci
Alexander Graf (8):
riscv: Add setjmp/longjmp code
riscv: Enable function sections
riscv: Add EFI application infrastructure
riscv: Add board_quiesce_devices stub
efi_loader: Use EFI_CACHELINE_SIZE in the image loader too
distro: Extend with RISC-V defines
riscv: nx25: Enable distro boot
efi_loader: Enable RISC-V support
arch/riscv/config.mk | 7 +-
arch/riscv/cpu/nx25/u-boot.lds | 16 ++++
arch/riscv/include/asm/setjmp.h | 26 ++++++
arch/riscv/include/asm/u-boot-riscv.h | 1 +
arch/riscv/lib/Makefile | 12 +++
arch/riscv/lib/bootm.c | 4 +
arch/riscv/lib/crt0_riscv_efi.S | 152 ++++++++++++++++++++++++++++++++++
arch/riscv/lib/elf_riscv32_efi.lds | 70 ++++++++++++++++
arch/riscv/lib/elf_riscv64_efi.lds | 70 ++++++++++++++++
arch/riscv/lib/reloc_riscv_efi.c | 97 ++++++++++++++++++++++
arch/riscv/lib/setjmp.S | 66 +++++++++++++++
cmd/Kconfig | 2 +-
configs/nx25-ae250_defconfig | 1 +
include/config_distro_bootcmd.h | 11 +++
include/configs/nx25-ae250.h | 17 ++++
include/efi_loader.h | 7 ++
lib/efi_loader/Kconfig | 2 +-
lib/efi_loader/efi_image_loader.c | 2 +-
lib/efi_loader/efi_runtime.c | 48 ++++++++---
19 files changed, 595 insertions(+), 16 deletions(-)
create mode 100644 arch/riscv/include/asm/setjmp.h
create mode 100644 arch/riscv/lib/crt0_riscv_efi.S
create mode 100644 arch/riscv/lib/elf_riscv32_efi.lds
create mode 100644 arch/riscv/lib/elf_riscv64_efi.lds
create mode 100644 arch/riscv/lib/reloc_riscv_efi.c
create mode 100644 arch/riscv/lib/setjmp.S
--
2.12.3
More information about the U-Boot
mailing list