[U-Boot] [PATCH v2 0/8] riscv: Enable efi_loader support
Alexander Graf
agraf at suse.de
Thu Apr 19 15:49:15 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
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/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 | 14 ++++-
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 ++++++++++++-----
18 files changed, 445 insertions(+), 17 deletions(-)
create mode 100644 arch/riscv/include/asm/setjmp.h
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