This requires the riscv-elf/binutils diff for -shared. Tested with qemu-system-riscv64 -M virt -bios opensbi/generic/fw_jump.bin -kernel u-boot/qemu-riscv64_smode/u-boot.bin
Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/u-boot/Makefile,v retrieving revision 1.82 diff -u -p -r1.82 Makefile --- Makefile 23 Apr 2021 23:56:11 -0000 1.82 +++ Makefile 27 Apr 2021 10:16:51 -0000 @@ -3,7 +3,7 @@ BROKEN-sparc64= Error: the specified option is not accepted in ISB at operand 1 -- isb sy BROKEN-arm= lib/time.c:187:1: internal compiler error: Bus error -FLAVORS= aarch64 arm +FLAVORS= aarch64 arm riscv64 FLAVOR?= arm COMMENT= U-Boot firmware @@ -47,6 +47,9 @@ SUNXI_BL31= "${LOCALBASE}/share/arm-trus .elif "${FLAVOR}" == "arm" BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro>=7.4.2019.02 MAKE_ENV+= CROSS_COMPILE="arm-none-eabi-" +.elif "${FLAVOR}" == "riscv64" +BUILD_DEPENDS+= devel/riscv-elf/gcc +MAKE_ENV+= CROSS_COMPILE="riscv64-unknown-elf-" .endif USE_GMAKE= Yes @@ -139,6 +142,9 @@ BOARDS=\ tinker-rk3288 \ turris_omnia \ vexpress_ca15_tc2 +.elif "${FLAVOR}" == "riscv64" +BOARDS=\ + qemu-riscv64_smode .endif FILES=\ Index: pkg/PFRAG.riscv64 =================================================================== RCS file: pkg/PFRAG.riscv64 diff -N pkg/PFRAG.riscv64 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/PFRAG.riscv64 27 Apr 2021 10:16:51 -0000 @@ -0,0 +1,5 @@ +@comment $OpenBSD$ +share/u-boot/ +share/u-boot/qemu-riscv64_smode/ +share/u-boot/qemu-riscv64_smode/u-boot +share/u-boot/qemu-riscv64_smode/u-boot.bin Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/sysutils/u-boot/pkg/PLIST,v retrieving revision 1.5 diff -u -p -r1.5 PLIST --- pkg/PLIST 11 Dec 2016 14:08:39 -0000 1.5 +++ pkg/PLIST 27 Apr 2021 10:16:51 -0000 @@ -1,3 +1,4 @@ @comment $OpenBSD: PLIST,v 1.5 2016/12/11 14:08:39 patrick Exp $ %%aarch64%% %%arm%% +%%riscv64%%