git: 3f7e206ef247 - main - emulators/qemu: Update version 5.0.1=>6.1.0

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Mon, 06 Dec 2021 01:03:21 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3f7e206ef247134840510e3a3c3dc739af518d46

commit 3f7e206ef247134840510e3a3c3dc739af518d46
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2021-12-06 01:01:51 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2021-12-06 01:02:48 +0000

    emulators/qemu: Update version 5.0.1=>6.1.0
    
    Relnotes: https://wiki.qemu.org/ChangeLog/6.1
---
 emulators/qemu/Makefile                            |  86 +++----
 emulators/qemu/distinfo                            |  14 +-
 emulators/qemu/files/patch-Makefile                |  45 ----
 emulators/qemu/files/patch-configure               | 169 +-------------
 .../patch-disas_libvixl_vixl_a64_disasm-a64.cc     |  11 -
 emulators/qemu/files/patch-include_net_net.h       |  13 --
 emulators/qemu/files/patch-include_qemu_atomic.h   |  41 ----
 emulators/qemu/files/patch-net_tap-bsd.c           |  10 -
 emulators/qemu/files/pcap-patch-net_clients.h      |  13 --
 emulators/qemu/files/pcap-patch-net_net.c          | 251 ---------------------
 emulators/qemu/files/pcap-patch-qapi_net.json      |  56 -----
 emulators/qemu/pkg-descr                           |   3 -
 emulators/qemu/pkg-plist                           |  97 ++++----
 13 files changed, 100 insertions(+), 709 deletions(-)

diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index b1b91766f2ec..b63ebed17fe2 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -1,51 +1,46 @@
 # Created by: Juergen Lock <nox@jelal.kn-bremen.de>
 
 PORTNAME=	qemu
-PORTVERSION=	5.0.1
-PORTREVISION=	2
+PORTVERSION=	6.1.0
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.qemu.org/
 DIST_SUBDIR=	qemu/${PORTVERSION}
 
-PATCH_SITES=	https://github.com/${PORTNAME}/${PORTNAME}/commit/
-
 MAINTAINER?=	bofh@FreeBSD.org
 COMMENT?=	QEMU CPU Emulator
 
 LICENSE=	GPLv2
 
-BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx
-LIB_DEPENDS?=	libnettle.so:security/nettle \
+BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx \
+		${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} \
+		bash:shells/bash
+LIB_DEPENDS?=	libepoxy.so:graphics/libepoxy \
 		libfontconfig.so:x11-fonts/fontconfig \
 		libfreetype.so:print/freetype2 \
-		libepoxy.so:graphics/libepoxy \
+		libnettle.so:security/nettle \
 		libpcre2-8.so:devel/pcre2 \
-		libzstd.so:archivers/zstd \
-		libfdt.so:sysutils/dtc
-
-PATCHFILES+=	55765822804f.patch:-p1
-PATCHFILES+=	aa4d30f6618d.patch:-p1
+		libzstd.so:archivers/zstd
+#		libfdt.so:sysutils/dtc
 
 .if !defined(PKGNAMESUFFIX) || (${PKGNAMESUFFIX} != "-utils" && ${PKGNAMESUFFIX} != "-guest-agent")
-ONLY_FOR_ARCHS=	amd64 i386 powerpc powerpc64 powerpc64le
-USES=		bison compiler:c11 cpe gmake gnome iconv:wchar_t perl5 \
+ONLY_FOR_ARCHS=	amd64 powerpc powerpc64 powerpc64 powerpc64le
+USES=		bison compiler:c11 cpe gmake gnome iconv:wchar_t ninja perl5 \
 		pkgconfig python:build tar:xz xorg
-USE_XORG=	pixman
 USE_GNOME=	cairo glib20 libxml2
-.endif
-
 USE_PERL5=	build
-
-PORTSCOUT=	limit:^5\.0\.
+USE_PYTHON=	distutils noflavors
+USE_XORG=	pixman
+.endif
 
 HAS_CONFIGURE=	yes
-MAKE_ENV+=	BSD_MAKE="${MAKE}" V=1
 
-OPTIONS_DEFINE=	SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL \
-		VDE CDROM_DMA PCAP USBREDIR X86_TARGETS \
-		STATIC_LINK DOCS ISCSI CAPSTONE DEBUG
 OPTIONS_SINGLE=	NCURSES
 OPTIONS_SINGLE_NCURSES=	NCURSES_DEFAULT NCURSES_BASE NCURSES_PORT
+OPTIONS_DEFINE=	SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL VDE \
+		CDROM_DMA USBREDIR X86_TARGETS STATIC_LINK DOCS ISCSI CAPSTONE DEBUG
+OPTIONS_DEFAULT=X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL NCURSES_DEFAULT VDE
+OPTIONS_SUB=	yes
+CAPSTONE_DESC=		Disassembly framework support
 CDROM_DMA_DESC=		IDE CDROM DMA
 GNUTLS_DESC=		gnutls dependency (vnc encryption)
 ISCSI_DESC=		libiscsi dependency (iSCSI client for emulated drives)
@@ -53,7 +48,6 @@ JPEG_DESC=		jpeg dependency (vnc lossy compression)
 NCURSES_DEFAULT_DESC=	Depend on ncurses (ports if installed, otherwise base)
 NCURSES_BASE_DESC=	Depend on ncurses in base
 NCURSES_PORT_DESC=	Depend on devel/ncurses in ports
-PCAP_DESC=		pcap dependency (networking with bpf)
 PNG_DESC=		png dependency (vnc compression)
 SAMBA_DESC=		samba dependency (for -smb)
 SASL_DESC=		cyrus-sasl dependency (vnc encryption)
@@ -61,18 +55,13 @@ STATIC_LINK_DESC=	Statically link the executables
 USBREDIR_DESC=		usb device network redirection (experimental!)
 VDE_DESC=		vde dependency (for vde networking)
 X86_TARGETS_DESC=	Build only x86 system targets
-CAPSTONE_DESC=		Disassembly framework support
-OPTIONS_DEFAULT=X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP NCURSES_DEFAULT VDE
-OPTIONS_SUB=	yes
 CAPSTONE_CONFIGURE_ON=	--enable-capstone=system --extra-cflags=-I${LOCALBASE}/include/capstone
 CAPSTONE_CONFIGURE_OFF=	--disable-capstone
 CAPSTONE_LIB_DEPENDS=	libcapstone.so:devel/capstone4
 CURL_CONFIGURE_OFF=	--disable-curl
 CURL_LIB_DEPENDS=	libcurl.so:ftp/curl
 DEBUG_CONFIGURE_ON=	--enable-debug
-DOCS_BUILD_DEPENDS=	texi2html:textproc/texi2html \
-			sphinx-build:textproc/py-sphinx
-DOCS_MAKE_ARGS_OFF=	NOPORTDOCS=1
+DOCS_CONFIGURE_ENABLE=	docs
 DOCS_USES=		makeinfo
 GNUTLS_CONFIGURE_OFF=	--disable-gnutls
 GNUTLS_LIB_DEPENDS=	libgnutls.so:security/gnutls
@@ -88,16 +77,13 @@ NCURSES_DEFAULT_USES=	ncurses
 NCURSES_BASE_USES=	ncurses:base
 NCURSES_PORT_USES=	ncurses:port
 OPENGL_CONFIGURE_OFF=	--disable-opengl
-OPENGL_USE=	GL=gl
+OPENGL_USE=	GL=gbm,gl
 OPENGL_USES=	gl
-PCAP_CONFIGURE_ON=	--enable-pcap
-PCAP_EXTRA_PATCHES=	${FILESDIR}/pcap-patch-qapi_net.json ${FILESDIR}/pcap-patch-net_net.c \
-			${FILESDIR}/pcap-patch-net_clients.h
 PNG_CONFIGURE_OFF=	--disable-vnc-png
 PNG_LIB_DEPENDS=	libpng.so:graphics/png
 SAMBA_CONFIGURE_ON=	--smbd=${LOCALBASE}/sbin/smbd
-SAMBA_USES=		samba:run # smbd
 SASL_CONFIGURE_OFF=	--disable-vnc-sasl
+SAMBA_USES=		samba:run # smbd
 SASL_LIB_DEPENDS=	libsasl2.so:security/cyrus-sasl2
 STATIC_LINK_CONFIGURE_ON=	--static
 STATIC_LINK_PREVENTS=		GTK3 X11
@@ -116,16 +102,14 @@ X86_TARGETS_USES_OFF=	xorg
 X86_TARGETS_CONFIGURE_ON=	--target-list='i386-softmmu i386-bsd-user x86_64-softmmu x86_64-bsd-user'
 .endif
 
-PORTDOCS?=	docs index.html interop/.buildinfo interop/* qemu-ga-ref.html qemu-ga-ref.txt \
-	       	qemu-qmp-ref.html qemu-qmp-ref.txt specs/.buildinfo specs/* system/.buildinfo \
-		system/* tools/.buildinfo tools/* user/.buildinfo user/*
+PORTDOCS?=	.buildinfo _static/* about/* devel/* docs genindex.html \
+		index.html interop/* objects.inv search.html searchindex.js \
+		specs/* system/* tools/* user/*
 
 WITHOUT_CPU_CFLAGS=yes	#to avoid problems with register allocation
 CFLAGS:=	${CFLAGS:C/-fno-tree-vrp//}
-CFLAGS_amd64=	-fPIC
-CFLAGS_powerpc=	-D_CALL_SYSV
-CONFIGURE_ARGS?=--localstatedir=/var \
-		--extra-ldflags=-L${LOCALBASE}/lib --disable-libssh \
+CONFIGURE_ARGS?=--localstatedir=/var --extra-ldflags=-L\"/usr/lib\" \
+		--extra-ldflags=-L\"${LOCALBASE}/lib\" \
 		--prefix=${PREFIX} --cc=${CC} --enable-netmap --disable-kvm \
 		--disable-linux-user --disable-linux-aio --disable-xen \
 		--python=${PYTHON_CMD} \
@@ -142,6 +126,7 @@ MAKE_ARGS+=	ARCH=x86_64
 .endif
 
 .if ${ARCH} == "powerpc"
+CFLAGS+=	-D_CALL_SYSV
 MAKE_ARGS+=	ARCH=ppc
 USE_GCC=	yes
 .endif
@@ -154,23 +139,16 @@ MAKE_ARGS+=	ARCH=ppc64
 CONFIGURE_ARGS+=	--sparc_cpu=v9
 .endif
 
-.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300000
-PLIST_SUB+=	IVSHMEM=""
-.else
-PLIST_SUB+=	IVSHMEM="@comment "
-.endif
-
 PLIST_SUB+=	LINUXBOOT_DMA=""
 
 post-patch-CDROM_DMA-off:
 	@${REINPLACE_CMD} -e '/USE_DMA_CDROM/d' ${WRKSRC}/include/hw/ide/internal.h
 
-# XXX need to disable usb host code on head while it's not ported to the
-# new usb stack yet
-post-configure:
-	@${REINPLACE_CMD} -E \
-		-e "s|^(HOST_USB=)bsd|\1stub|" \
-		${WRKSRC}/config-host.mak
+do-build:
+	cd ${WRKSRC} && ${GMAKE}
+
+do-install:
+	cd ${WRKSRC} && ${SETENV} DESTDIR=${STAGEDIR} ${GMAKE} install
 
 .if !target(post-install)
 post-install:
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index d5f50ec2c84a..c2e256758269 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1603483758
-SHA256 (qemu/5.0.1/qemu-5.0.1.tar.xz) = 135fab4c3699a378c9584b3453927e2f5002e440311f21efa66fc189d4bb4982
-SIZE (qemu/5.0.1/qemu-5.0.1.tar.xz) = 62430168
-SHA256 (qemu/5.0.1/55765822804f.patch) = 10c2cc93ad01b02d854e26a9e445ba22bb5434dda1ef25baeb979be6292fa8ef
-SIZE (qemu/5.0.1/55765822804f.patch) = 2271
-SHA256 (qemu/5.0.1/aa4d30f6618d.patch) = eeddc5f5e08a460d2c133b4193d115fa1f00f206e0833f33ec66379981473efe
-SIZE (qemu/5.0.1/aa4d30f6618d.patch) = 2211
+TIMESTAMP = 1638663814
+SHA256 (qemu/6.1.0/qemu-6.1.0.tar.xz) = eebc089db3414bbeedf1e464beda0a7515aad30f73261abc246c9b27503a3c96
+SIZE (qemu/6.1.0/qemu-6.1.0.tar.xz) = 111258808
+SHA256 (qemu/6.1.0/55765822804f.patch) = 10c2cc93ad01b02d854e26a9e445ba22bb5434dda1ef25baeb979be6292fa8ef
+SIZE (qemu/6.1.0/55765822804f.patch) = 2271
+SHA256 (qemu/6.1.0/aa4d30f6618d.patch) = eeddc5f5e08a460d2c133b4193d115fa1f00f206e0833f33ec66379981473efe
+SIZE (qemu/6.1.0/aa4d30f6618d.patch) = 2211
diff --git a/emulators/qemu/files/patch-Makefile b/emulators/qemu/files/patch-Makefile
deleted file mode 100644
index abddaa8e630f..000000000000
--- a/emulators/qemu/files/patch-Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
---- Makefile.orig	2020-04-28 16:49:25 UTC
-+++ Makefile
-@@ -362,6 +362,10 @@ MANUAL_BUILDDIR := docs
- endif
- 
- ifdef BUILD_DOCS
-+ifdef NOPORTDOCS
-+DOCS=qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
-+DOCS+=docs/interop/qemu-qmp-ref.7 docs/interop/qemu-ga-ref.7
-+else
- DOCS+=$(MANUAL_BUILDDIR)/system/qemu.1
- DOCS+=$(MANUAL_BUILDDIR)/tools/qemu-img.1
- DOCS+=$(MANUAL_BUILDDIR)/tools/qemu-nbd.8
-@@ -369,6 +373,7 @@ DOCS+=$(MANUAL_BUILDDIR)/interop/qemu-ga.8
- ifeq ($(CONFIG_LINUX)$(CONFIG_SECCOMP)$(CONFIG_LIBCAP_NG),yyy)
- DOCS+=$(MANUAL_BUILDDIR)/tools/virtiofsd.1
- endif
-+endif
- DOCS+=$(MANUAL_BUILDDIR)/system/qemu-block-drivers.7
- DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7
- DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7
-@@ -878,10 +883,12 @@ install-sphinxdocs: sphinxdocs
- 	$(call install-manual,user)
- 
- install-doc: $(DOCS) install-sphinxdocs
-+ifndef NOPORTDOCS
- 	$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
- 	$(INSTALL_DATA) $(MANUAL_BUILDDIR)/index.html "$(DESTDIR)$(qemu_docdir)"
- 	$(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)"
- 	$(INSTALL_DATA) docs/interop/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)"
-+endif
- ifdef CONFIG_POSIX
- 	$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
- 	$(INSTALL_DATA) $(MANUAL_BUILDDIR)/system/qemu.1 "$(DESTDIR)$(mandir)/man1"
-@@ -899,8 +906,10 @@ ifdef CONFIG_TRACE_SYSTEMTAP
- endif
- ifneq (,$(findstring qemu-ga,$(TOOLS)))
- 	$(INSTALL_DATA) $(MANUAL_BUILDDIR)/interop/qemu-ga.8 "$(DESTDIR)$(mandir)/man8"
-+ifndef NOPORTDOCS
- 	$(INSTALL_DATA) docs/interop/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)"
- 	$(INSTALL_DATA) docs/interop/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)"
-+endif
- 	$(INSTALL_DATA) docs/interop/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7"
- endif
- endif
diff --git a/emulators/qemu/files/patch-configure b/emulators/qemu/files/patch-configure
index 9e6b9cf678c6..0137de386d62 100644
--- a/emulators/qemu/files/patch-configure
+++ b/emulators/qemu/files/patch-configure
@@ -1,160 +1,15 @@
---- configure.orig	2020-04-28 16:49:25 UTC
+--- configure.orig	2021-09-27 14:03:42 UTC
 +++ configure
-@@ -408,7 +408,7 @@ LDFLAGS_SHARED="-shared"
- modules="no"
- module_upgrades="no"
- prefix="/usr/local"
--mandir="\${prefix}/share/man"
-+mandir="\${prefix}/man"
- datadir="\${prefix}/share"
- firmwarepath="\${prefix}/share/qemu-firmware"
- qemu_docdir="\${prefix}/share/doc/qemu"
-@@ -493,6 +493,9 @@ numa=""
- tcmalloc="no"
- jemalloc="no"
- replication="yes"
-+pcap="no"
-+pcap_create="no"
-+bpf="no"
- vxhs=""
- bochs="yes"
- cloop="yes"
-@@ -1168,6 +1171,10 @@ for opt do
-   ;;
-   --enable-vnc-png) vnc_png="yes"
-   ;;
-+  --enable-pcap) pcap="yes"
-+  ;;
-+  --disable-pcap) pcap="no"
-+  ;;
-   --disable-slirp) slirp="no"
-   ;;
-   --enable-slirp=git) slirp="git"
-@@ -3137,6 +3144,14 @@ if ! check_include "ifaddrs.h" ; then
+@@ -1635,7 +1635,7 @@ if test "$mingw32" = "yes" ; then
+ else
+     bindir="${bindir:-$prefix/bin}"
  fi
- 
- ##########################################
-+# getifaddrs (for tests/test-io-channel-socket )
-+
-+have_ifaddrs_h=yes
-+if ! check_include "ifaddrs.h" ; then
-+  have_ifaddrs_h=no
-+fi
-+
-+##########################################
- # VTE probe
- 
- if test "$vte" != "no"; then
-@@ -3806,7 +3821,7 @@ for i in $glib_modules; do
-         glib_libs=$($pkg_config --libs $i)
-         QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS"
-         LIBS="$glib_libs $LIBS"
--        libs_qga="$glib_libs $libs_qga"
-+        libs_qga="$glib_libs -lintl $libs_qga"
-     else
-         error_exit "glib-$glib_req_ver $i is required to compile QEMU"
-     fi
-@@ -4957,14 +4972,6 @@ if test "$docs" != "no" ; then
-   fi
-   if has makeinfo && has pod2man && test "$sphinx_ok" = "yes"; then
-     docs=yes
--  else
--    if test "$docs" = "yes" ; then
--      if has $sphinx_build && test "$sphinx_ok" != "yes"; then
--        echo "Warning: $sphinx_build exists but it is either too old or uses too old a Python version" >&2
--      fi
--      feature_not_found "docs" "Install texinfo, Perl/perl-podlators and a Python 3 version of python-sphinx"
--    fi
--    docs=no
-   fi
- fi
- 
-@@ -5098,7 +5105,7 @@ fi
- 
- # check for libusb
- if test "$libusb" != "no" ; then
--    if $pkg_config --atleast-version=1.0.13 libusb-1.0; then
-+    if $pkg_config libusb-1.0; then
-         libusb="yes"
-         libusb_cflags=$($pkg_config --cflags libusb-1.0)
-         libusb_libs=$($pkg_config --libs libusb-1.0)
-@@ -5501,7 +5508,51 @@ if test "$debug_stack_usage" = "yes"; then
-   fi
- fi
- 
-+##########################################
-+# pcap probe
- 
-+if test "$pcap" = "yes" -a "$pcap" != "no"; then
-+  cat > $TMPC << EOF
-+#include <pcap.h>
-+int main(void) { return (pcap_lib_version() == (char *)0 ? 1 : 0); }
-+EOF
-+  if test "$mingw32" = "no" ; then
-+    libpcap=-lpcap
-+  else
-+    libpcap=-lwpcap
-+  fi
-+  if compile_prog "" "$libpcap" ; then
-+    :
-+  else
-+    echo
-+    echo "Error: Could not find pcap"
-+    echo "Make sure to have the pcap libs and headers installed."
-+    echo
-+    exit 1
-+  fi
-+  cat > $TMPC << EOF
-+#include <pcap.h>
-+int main(void)
-+{
-+  char errbuf[PCAP_ERRBUF_SIZE];
-+  return (pcap_create("foo", errbuf) == (pcap_t *)0 ? 1 : 0);
-+}
-+EOF
-+  if compile_prog "" "$libpcap" ; then
-+    pcap_create="yes"
-+  fi
-+  cat > $TMPC << EOF
-+#define PCAP_DONT_INCLUDE_PCAP_BPF_H
-+#include <pcap.h>
-+#include <net/bpf.h>
-+int main(void) { return (BPF_MAJOR_VERSION); }
-+EOF
-+  if compile_prog ; then
-+    bpf="yes"
-+  fi
-+  libs_softmmu="$libpcap $libs_softmmu"
-+fi # test "$pcap"
-+
- ##########################################
- # check if we have open_by_handle_at
- 
-@@ -6627,6 +6678,7 @@ echo "Audio drivers     $audio_drv_list"
- echo "Block whitelist (rw) $block_drv_rw_whitelist"
- echo "Block whitelist (ro) $block_drv_ro_whitelist"
- echo "VirtFS support    $virtfs"
-+echo "pcap support      $pcap"
- echo "Multipath support $mpath"
- echo "VNC support       $vnc"
- if test "$vnc" = "yes" ; then
-@@ -6864,6 +6916,15 @@ fi
- if test "$want_tools" = "yes" ; then
-   echo "CONFIG_TOOLS=y" >> $config_host_mak
- fi
-+if test "$pcap" = "yes" ; then
-+  echo "CONFIG_PCAP=y" >> $config_host_mak
-+  if test "$pcap_create" = "yes" ; then
-+    echo "CONFIG_PCAP_CREATE=y" >> $config_host_mak
-+  fi
-+  if test "$bpf" = "yes" ; then
-+    echo "CONFIG_BPF=y" >> $config_host_mak
-+  fi
-+fi
- if test "$slirp" != "no"; then
-   echo "CONFIG_SLIRP=y" >> $config_host_mak
-   echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
-@@ -7120,6 +7181,9 @@ fi
+-mandir="${mandir:-$prefix/share/man}"
++mandir="${mandir:-$prefix/man}"
+ datadir="${datadir:-$prefix/share}"
+ docdir="${docdir:-$prefix/share/doc}"
+ sysconfdir="${sysconfdir:-$prefix/etc}"
+@@ -4607,6 +4607,9 @@ echo "CONFIG_TLS_PRIORITY=\"$tls_priority\"" >> $confi
  # if this macro is set.
  if test "$have_fsxattr" = "yes" ; then
      echo "HAVE_FSXATTR=y" >> $config_host_mak
@@ -162,5 +17,5 @@
 +if test "$have_ifaddrs_h" = "yes" ; then
 +    echo "HAVE_IFADDRS_H=y" >> $config_host_mak
  fi
- if test "$have_copy_file_range" = "yes" ; then
-     echo "HAVE_COPY_FILE_RANGE=y" >> $config_host_mak
+ if test "$xen" = "enabled" ; then
+   echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
diff --git a/emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc b/emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
deleted file mode 100644
index 546595845c62..000000000000
--- a/emulators/qemu/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- disas/libvixl/vixl/a64/disasm-a64.cc.orig	2019-04-23 18:14:45 UTC
-+++ disas/libvixl/vixl/a64/disasm-a64.cc
-@@ -2693,7 +2693,7 @@ void Disassembler::AppendPCRelativeOffsetToOutput(cons
-   if (offset < 0) {
-     abs_offset = -abs_offset;
-   }
--  AppendToOutput("#%c0x%" PRIx64, sign, abs_offset);
-+  AppendToOutput("#%c0x%" PRIx64, sign, offset < 0 ? -offset : offset);
- }
- 
- 
diff --git a/emulators/qemu/files/patch-include_net_net.h b/emulators/qemu/files/patch-include_net_net.h
deleted file mode 100644
index 0fc50e52c6ce..000000000000
--- a/emulators/qemu/files/patch-include_net_net.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- include/net/net.h.orig	2020-06-25 18:12:17 UTC
-+++ include/net/net.h
-@@ -208,8 +208,8 @@ void qmp_netdev_add(QDict *qdict, QObject **ret, Error
- int net_hub_id_for_client(NetClientState *nc, int *id);
- NetClientState *net_hub_port_find(int hub_id);
- 
--#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
--#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
-+#define DEFAULT_NETWORK_SCRIPT PREFIX "/etc/qemu-ifup"
-+#define DEFAULT_NETWORK_DOWN_SCRIPT PREFIX "/etc/qemu-ifdown"
- #define DEFAULT_BRIDGE_HELPER CONFIG_QEMU_HELPERDIR "/qemu-bridge-helper"
- #define DEFAULT_BRIDGE_INTERFACE "br0"
- 
diff --git a/emulators/qemu/files/patch-include_qemu_atomic.h b/emulators/qemu/files/patch-include_qemu_atomic.h
deleted file mode 100644
index 384ef52bfd3c..000000000000
--- a/emulators/qemu/files/patch-include_qemu_atomic.h
+++ /dev/null
@@ -1,41 +0,0 @@
---- include/qemu/atomic.h.orig	2020-04-28 16:49:24 UTC
-+++ include/qemu/atomic.h
-@@ -228,10 +228,12 @@
- /* And even shorter names that return void.  */
- #define atomic_inc(ptr)    ((void) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST))
- #define atomic_dec(ptr)    ((void) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST))
-+#ifndef __cplusplus
- #define atomic_add(ptr, n) ((void) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST))
- #define atomic_sub(ptr, n) ((void) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST))
- #define atomic_and(ptr, n) ((void) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST))
- #define atomic_or(ptr, n)  ((void) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST))
-+#endif
- #define atomic_xor(ptr, n) ((void) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST))
- 
- #else /* __ATOMIC_RELAXED */
-@@ -406,10 +408,12 @@
- 
- #define atomic_inc_fetch(ptr)  __sync_add_and_fetch(ptr, 1)
- #define atomic_dec_fetch(ptr)  __sync_add_and_fetch(ptr, -1)
-+#ifndef __cplusplus
- #define atomic_add_fetch(ptr, n) __sync_add_and_fetch(ptr, n)
- #define atomic_sub_fetch(ptr, n) __sync_sub_and_fetch(ptr, n)
- #define atomic_and_fetch(ptr, n) __sync_and_and_fetch(ptr, n)
- #define atomic_or_fetch(ptr, n) __sync_or_and_fetch(ptr, n)
-+#endif
- #define atomic_xor_fetch(ptr, n) __sync_xor_and_fetch(ptr, n)
- 
- #define atomic_cmpxchg(ptr, old, new) __sync_val_compare_and_swap(ptr, old, new)
-@@ -418,10 +422,12 @@
- /* And even shorter names that return void.  */
- #define atomic_inc(ptr)        ((void) __sync_fetch_and_add(ptr, 1))
- #define atomic_dec(ptr)        ((void) __sync_fetch_and_add(ptr, -1))
-+#ifndef __cplusplus
- #define atomic_add(ptr, n)     ((void) __sync_fetch_and_add(ptr, n))
- #define atomic_sub(ptr, n)     ((void) __sync_fetch_and_sub(ptr, n))
- #define atomic_and(ptr, n)     ((void) __sync_fetch_and_and(ptr, n))
- #define atomic_or(ptr, n)      ((void) __sync_fetch_and_or(ptr, n))
-+#endif
- #define atomic_xor(ptr, n)     ((void) __sync_fetch_and_xor(ptr, n))
- 
- #endif /* __ATOMIC_RELAXED */
diff --git a/emulators/qemu/files/patch-net_tap-bsd.c b/emulators/qemu/files/patch-net_tap-bsd.c
deleted file mode 100644
index 6d94c1bde1ca..000000000000
--- a/emulators/qemu/files/patch-net_tap-bsd.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- net/tap-bsd.c.orig	2019-04-23 18:14:46 UTC
-+++ net/tap-bsd.c
-@@ -31,6 +31,7 @@
- 
- #if defined(__NetBSD__) || defined(__FreeBSD__)
- #include <sys/ioctl.h>
-+#include <sys/socket.h>
- #include <net/if.h>
- #include <net/if_tap.h>
- #endif
diff --git a/emulators/qemu/files/pcap-patch-net_clients.h b/emulators/qemu/files/pcap-patch-net_clients.h
deleted file mode 100644
index 5b56f1b2f49a..000000000000
--- a/emulators/qemu/files/pcap-patch-net_clients.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- net/clients.h.orig	2018-04-24 16:30:47 UTC
-+++ net/clients.h
-@@ -61,4 +61,10 @@ int net_init_netmap(const Netdev *netdev, const char *
- int net_init_vhost_user(const Netdev *netdev, const char *name,
-                         NetClientState *peer, Error **errp);
- 
-+#ifdef CONFIG_PCAP
-+int net_init_pcap(const Netdev *netdev, const char *name,
-+                    NetClientState *peer, Error **errp);
-+#endif
-+
-+
- #endif /* QEMU_NET_CLIENTS_H */
diff --git a/emulators/qemu/files/pcap-patch-net_net.c b/emulators/qemu/files/pcap-patch-net_net.c
deleted file mode 100644
index 36a21bc0effe..000000000000
--- a/emulators/qemu/files/pcap-patch-net_net.c
+++ /dev/null
@@ -1,251 +0,0 @@
---- net/net.c.orig	2020-06-25 18:12:17 UTC
-+++ net/net.c
-@@ -55,6 +55,11 @@
- #include "net/filter.h"
- #include "qapi/string-output-visitor.h"
- 
-+#include <sys/ioctl.h>
-+#ifdef __FreeBSD__
-+#include <net/if.h>
-+#endif
-+
- /* Net bridge is currently not supported for W32. */
- #if !defined(_WIN32)
- # define CONFIG_NET_BRIDGE
-@@ -935,7 +940,226 @@ static int net_init_nic(const Netdev *netdev, const ch
-     return idx;
- }
- 
-+#if defined(CONFIG_PCAP)
-+#if defined(CONFIG_BPF)
-+#define PCAP_DONT_INCLUDE_PCAP_BPF_H
-+#include <net/bpf.h>
-+#endif
-+#include <pcap.h>
- 
-+struct PCAPState {
-+    NetClientState     nc;
-+    pcap_t            *handle;
-+    int                max_eth_frame_size;
-+};
-+
-+static ssize_t pcap_receive(NetClientState *nc, const uint8_t *buf, size_t size)
-+{
-+    struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc);
-+
-+    return pcap_inject(s->handle, (u_char*)buf, size);
-+}
-+
-+static void pcap_callback(u_char *user, struct pcap_pkthdr *phdr, u_char *pdata
-+		)
-+{
-+    NetClientState *nc = (NetClientState *)user;
-+
-+    int len = phdr->len;
-+#ifdef __FreeBSD__
-+    struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc);
-+    int max_eth_frame_size = s->max_eth_frame_size;
-+
-+    if (len > max_eth_frame_size) {
-+        fprintf(stderr,
-+            "pcap_send: packet size > %d (%d), truncating\n",
-+            max_eth_frame_size, len);
-+        len = max_eth_frame_size;
-+    }
-+#endif
-+    qemu_send_packet(nc, pdata, len);
-+}
-+
-+static void pcap_send(void *opaque)
-+{
-+    struct PCAPState *s = (struct PCAPState *)opaque;
-+
-+    for (;;) {
-+        if (pcap_dispatch(s->handle, 0, (pcap_handler)&pcap_callback, (u_char *)&s->nc) >= 0)
-+            break;
-+    }
-+}
-+
-+static void pcap_cleanup(NetClientState *nc)
-+{
-+    struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc);
-+
-+    qemu_purge_queued_packets(nc);
-+    pcap_close(s->handle);
-+}
-+
-+static NetClientInfo net_pcap_info = {
-+    .type = NET_CLIENT_DRIVER_PCAP,
-+    .size = sizeof(struct PCAPState),
-+    .receive = pcap_receive,
-+//    .receive_raw = pcap_receive_raw,
-+//    .receive_iov = pcap_receive_iov,
-+//    .poll = pcap_poll,
-+    .cleanup = pcap_cleanup,
-+};
-+/*
-+ * ... -net pcap,ifname="..."
-+ */
-+
-+int net_init_pcap(const Netdev *netdev,
-+    const char *name, NetClientState *peer, Error **errp)
-+{
-+    const NetdevPcapOptions *pcap_opts;
-+    NetClientState *nc;
-+    struct PCAPState *s;
-+    const char *ifname;
-+    char errbuf[PCAP_ERRBUF_SIZE];
-+    pcap_if_t *alldevsp;
-+#if defined(_WIN32)
-+    HANDLE h;
-+#endif
-+    int i;
-+
-+    assert(netdev->type == NET_CLIENT_DRIVER_PCAP);
-+    pcap_opts = &netdev->u.pcap;
-+    if (!pcap_opts->has_ifname)
-+        return -1;
-+
-+    ifname = pcap_opts->ifname;
-+
-+    /* create the object */
-+    nc = qemu_new_net_client(&net_pcap_info, peer, "pcap", ifname);
-+    s = DO_UPCAST(struct PCAPState, nc, nc);
-+
-+    if (ifname == NULL && (ifname = pcap_findalldevs(&alldevsp, errbuf)) == NULL) {
-+        fprintf(stderr, "qemu: pcap_create: %s\n", errbuf);
-+        goto fail;
-+    }
-+ 
-+#ifdef __FreeBSD__
-+    /*
-+     * We want to avoid passing oversize packets to the guest, which
-+     * at least on FreeBSD can happen if the host interface uses tso
-+     * (seen with an em(4) in this case) - so find out the host
-+    * interface's mtu and assume the guest is configured the same.
-+     */
-+    s->max_eth_frame_size = 1514;
-+    i = socket(AF_INET, SOCK_DGRAM, 0);
-+    if (i >= 0) {
-+        struct ifreq ifr;
-+
-+        (void) memset(&ifr, 0, sizeof(ifr));
-+        strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-+        if (ioctl(i, SIOCGIFMTU, &ifr) != -1)
-+            s->max_eth_frame_size = ifr.ifr_mtu + 14;
-+        close(i);
-+    }
-+#endif
-+
-+#if defined(CONFIG_PCAP_CREATE) || defined(_WIN32)
-+    /*
-+     * Create pcap handle for the device, set promiscuous mode and activate.
-+     */
-+    s->handle = (void *)pcap_create(ifname, errbuf);
-+    if (!s->handle) {
-+        fprintf(stderr, "qemu: pcap_create: %s\n", errbuf);
-+        goto fail;
-+    }
-+    if (pcap_set_promisc(s->handle, 1) != 0) {
-+        pcap_perror(s->handle, (char *)"qemu: pcap_set_promisc:");
-+        goto fail;
-+    }
-+   if (pcap_activate(s->handle) != 0) {
-+        pcap_perror(s->handle, (char *)"qemu: pcap_activate:");
-+        goto fail;
-+    }
-+#else
-+    /* Attempt to connect device. */
-+    s->handle = (void *)pcap_open_live(ifname, 65535, 1, 0, errbuf);
-+    if (!s->handle) {
-+        fprintf(stderr, "qemu: pcap_open_live: %s\n", errbuf);
-+        goto fail;
-+    }
-+#endif
-+
-+    /* Set non-blocking mode. */
-+    if (pcap_setnonblock(s->handle, 1, errbuf) < 0) {
-+        fprintf(stderr, "qemu: pcap_setnonblock: %s\n", errbuf);
-+        goto fail;
-+    }
-+
-+#if defined(_WIN32)
-+    /*
-+     * Tell the kernel that the packet has to be seen immediately.
-+     */
-+    if (pcap_setmintocopy(s->handle, 0) < 0) {
-+        fprintf(stderr, "qemu: pcap failed to set immediate mode\n");
-+        goto fail;
-+    }
-+#else /* !_WIN32 */
-+#if defined(CONFIG_BPF)
-+#if defined(BIOCIMMEDIATE)
-+    /*
-+     * Tell the kernel that the packet has to be seen immediately.
-+     */
-+    {
-+        unsigned int one = 1;
-+        if (ioctl(pcap_fileno(s->handle), BIOCIMMEDIATE, &one) < 0) {
-+            fprintf(stderr, "qemu: pcap failed to set immediate mode\n");
-+            goto fail;
-+        }
-+    }
-+#endif /* BIOCIMMEDIATE */
-+#if defined(BIOCFEEDBACK)
-+    /*
-+     * Tell the kernel that the sent packet has to be fed back.
-+     * This is necessary to connect host and guest.
-+     */
-+    {
-+        unsigned int one = 1;
-+        if (ioctl(pcap_fileno(s->handle), BIOCFEEDBACK, &one) < 0) {
-+            fprintf(stderr, "qemu: pcap failed to set feedback mode\n");
-+            goto fail;
-+        }
-+    }
-+#endif /* BIOCFEEDBACK */
-+#endif /* CONFIG_BPF */
-+#endif /* _WIN32 */
-+
-+    snprintf(s->nc.info_str, sizeof(s->nc.info_str), "pcap redirector");
-+
-+#if defined(_WIN32)
-+    if ((h = pcap_getevent(s->handle)) == NULL) {
-+        fprintf(stderr, "qemu: pcap_getevent failed\n");
-+        goto fail;
-+    }
-+    qemu_add_wait_object(h, pcap_send, s);
-+#else /* !_WIN32 */
-+    if ((i = pcap_get_selectable_fd(s->handle)) < 0) {
-+        fprintf(stderr, "qemu: pcap_get_selectable_fd failed\n");
-+        goto fail;
-+    }
-+    qemu_set_fd_handler(i, pcap_send, NULL, s);
-+#endif /* _WIN32 */
-+
-+    return 0;
-+
-+fail:
-+    if (s) {
-+        if (s->handle)
-+            pcap_close(s->handle);
-+    }
-+
-+    return -1;
-+}
-+
-+#endif
-+ 
- static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])(
-     const Netdev *netdev,
-     const char *name,
-@@ -961,6 +1185,9 @@ static int (* const net_client_init_fun[NET_CLIENT_DRI
- #endif
- #ifdef CONFIG_L2TPV3
-         [NET_CLIENT_DRIVER_L2TPV3]    = net_init_l2tpv3,
-+#endif
-+#ifdef CONFIG_PCAP
-+	[NET_CLIENT_DRIVER_PCAP]      = net_init_pcap,
- #endif
- };
- 
diff --git a/emulators/qemu/files/pcap-patch-qapi_net.json b/emulators/qemu/files/pcap-patch-qapi_net.json
deleted file mode 100644
index afc5dee2265d..000000000000
--- a/emulators/qemu/files/pcap-patch-qapi_net.json
+++ /dev/null
@@ -1,56 +0,0 @@
---- qapi/net.json.orig	2020-06-25 18:12:17 UTC
-+++ qapi/net.json
-@@ -385,6 +385,19 @@
-     '*helper': 'str' } }
- 
- ##
-+# @NetdevPcapOptions:
-+#
-+# Use ifname as a source to capture
-+#
-+# @ifname: #required to determine which interface to capture
-+#
-+# Since: 1.2
-+##
-+{ 'struct': 'NetdevPcapOptions',
-+  'data': {
-+    '*ifname':     'str' } }
-+
-+##
- # @NetdevHubPortOptions:
- #
- # Connect two or more net clients through a software hub.
-@@ -451,7 +464,7 @@
- ##
- { 'enum': 'NetClientDriver',
-   'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
--            'bridge', 'hubport', 'netmap', 'vhost-user' ] }
-+            'bridge', 'hubport', 'netmap', 'vhost-user', 'pcap' ] }
- 
- ##
- # @Netdev:
-@@ -474,6 +487,7 @@
-     'user':     'NetdevUserOptions',
-     'tap':      'NetdevTapOptions',
-     'l2tpv3':   'NetdevL2TPv3Options',
-+    'pcap':     'NetdevPcapOptions',
-     'socket':   'NetdevSocketOptions',
-     'vde':      'NetdevVdeOptions',
-     'bridge':   'NetdevBridgeOptions',
-@@ -509,7 +523,7 @@
- ##
- { 'enum': 'NetLegacyOptionsType',
-   'data': ['none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
--           'bridge', 'netmap', 'vhost-user'] }
-+           'bridge', 'netmap', 'vhost-user', 'pcap'] }
- 
- ##
- # @NetLegacyOptions:
-@@ -526,6 +540,7 @@
-     'user':     'NetdevUserOptions',
-     'tap':      'NetdevTapOptions',
-     'l2tpv3':   'NetdevL2TPv3Options',
-+    'pcap':     'NetdevPcapOptions',
-     'socket':   'NetdevSocketOptions',
-     'vde':      'NetdevVdeOptions',
-     'bridge':   'NetdevBridgeOptions',
diff --git a/emulators/qemu/pkg-descr b/emulators/qemu/pkg-descr
index 018952f53cf1..24ef5d4c38fe 100644
--- a/emulators/qemu/pkg-descr
+++ b/emulators/qemu/pkg-descr
@@ -13,7 +13,4 @@ cross-debugging.
 
 As QEMU requires no host kernel patches to run, it is very safe and easy to use.
 
-See also the preconfigured system images on http://oszoo.org/
-Many live cd isos also work.
-
 WWW: http://wiki.qemu.org/Main_Page
diff --git a/emulators/qemu/pkg-plist b/emulators/qemu/pkg-plist
index 7d411c15d7b8..7b1e0a6161bf 100644
--- a/emulators/qemu/pkg-plist
+++ b/emulators/qemu/pkg-plist
@@ -1,6 +1,4 @@
-%%CURL%%bin/elf2dmp
-%%IVSHMEM%%bin/ivshmem-client
-%%IVSHMEM%%bin/ivshmem-server
+bin/elf2dmp
 bin/qemu-edid
 bin/qemu-ga
 bin/qemu-i386
@@ -9,15 +7,13 @@ bin/qemu-io
 %%GTK3%%bin/qemu-keymap
 bin/qemu-nbd
 bin/qemu-storage-daemon
-%%NO_X86_TARGETS%%bin/qemu-sparc
-%%NO_X86_TARGETS%%bin/qemu-sparc64
 %%NO_X86_TARGETS%%bin/qemu-system-aarch64
 %%NO_X86_TARGETS%%bin/qemu-system-alpha
+%%NO_X86_TARGETS%%bin/qemu-system-avr
 %%NO_X86_TARGETS%%bin/qemu-system-arm
 %%NO_X86_TARGETS%%bin/qemu-system-cris
 %%NO_X86_TARGETS%%bin/qemu-system-hppa
 bin/qemu-system-i386
-%%NO_X86_TARGETS%%bin/qemu-system-lm32
 %%NO_X86_TARGETS%%bin/qemu-system-m68k
 %%NO_X86_TARGETS%%bin/qemu-system-microblaze
 %%NO_X86_TARGETS%%bin/qemu-system-microblazeel
@@ -25,7 +21,6 @@ bin/qemu-system-i386
 %%NO_X86_TARGETS%%bin/qemu-system-mips64
 %%NO_X86_TARGETS%%bin/qemu-system-mips64el
 %%NO_X86_TARGETS%%bin/qemu-system-mipsel
-%%NO_X86_TARGETS%%bin/qemu-system-moxie
 %%NO_X86_TARGETS%%bin/qemu-system-nios2
 %%NO_X86_TARGETS%%bin/qemu-system-or1k
 %%NO_X86_TARGETS%%bin/qemu-system-ppc
@@ -39,19 +34,22 @@ bin/qemu-system-i386
 %%NO_X86_TARGETS%%bin/qemu-system-sparc
 %%NO_X86_TARGETS%%bin/qemu-system-sparc64
 %%NO_X86_TARGETS%%bin/qemu-system-tricore
-%%NO_X86_TARGETS%%bin/qemu-system-unicore32
 bin/qemu-system-x86_64
 %%NO_X86_TARGETS%%bin/qemu-system-xtensa
 %%NO_X86_TARGETS%%bin/qemu-system-xtensaeb
 bin/qemu-x86_64
+include/qemu-plugin.h
 man/man1/qemu.1.gz
 man/man1/qemu-img.1.gz
 man/man7/qemu-block-drivers.7.gz
 man/man7/qemu-cpu-models.7.gz
-man/man7/qemu-ga-ref.7.gz
-man/man7/qemu-qmp-ref.7.gz
 man/man8/qemu-ga.8.gz
+man/man7/qemu-ga-ref.7.gz
 man/man8/qemu-nbd.8.gz
+man/man8/qemu-pr-helper.8.gz
+man/man7/qemu-qmp-ref.7.gz
+man/man1/qemu-storage-daemon.1.gz
+man/man7/qemu-storage-daemon-qmp-ref.7.gz
 @sample etc/qemu-ifup.sample
 @sample etc/qemu-ifdown.sample
 %%DATADIR%%/QEMU,tcx.bin
@@ -84,44 +82,6 @@ man/man8/qemu-nbd.8.gz
 %%DATADIR%%/firmware/60-edk2-i386.json
 %%DATADIR%%/firmware/60-edk2-x86_64.json
 %%DATADIR%%/hppa-firmware.img
-%%DATADIR%%/linuxboot.bin
-%%LINUXBOOT_DMA%%%%DATADIR%%/linuxboot_dma.bin
-%%DATADIR%%/multiboot.bin
-%%DATADIR%%/openbios-ppc
-%%DATADIR%%/openbios-sparc32
-%%DATADIR%%/openbios-sparc64
-%%DATADIR%%/opensbi-riscv32-sifive_u-fw_jump.bin
-%%DATADIR%%/opensbi-riscv32-virt-fw_jump.bin
-%%DATADIR%%/opensbi-riscv64-sifive_u-fw_jump.bin
*** 86 LINES SKIPPED ***