summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysutils/xenkernel415/DESCR16
-rw-r--r--sysutils/xenkernel415/MESSAGE11
-rw-r--r--sysutils/xenkernel415/Makefile82
-rw-r--r--sysutils/xenkernel415/PLIST3
-rw-r--r--sysutils/xenkernel415/distinfo14
-rw-r--r--sysutils/xenkernel415/patches/patch-Config.mk14
-rw-r--r--sysutils/xenkernel415/patches/patch-xen_Makefile13
-rw-r--r--sysutils/xenkernel415/patches/patch-xen_Rules.mk12
-rw-r--r--sysutils/xenkernel415/patches/patch-xen_arch_x86_Rules.mk10
-rw-r--r--sysutils/xenkernel415/patches/patch-xen_arch_x86_boot_build32.mk15
-rw-r--r--sysutils/xenkernel415/patches/patch-xen_arch_x86_extable.c15
-rw-r--r--sysutils/xenkernel415/patches/patch-xen_arch_x86_mm_p2m.c21
-rw-r--r--sysutils/xenkernel415/patches/patch-xen_drivers_passthrough_x86_iommu.c15
-rw-r--r--sysutils/xentools415/DESCR5
-rw-r--r--sysutils/xentools415/MESSAGE11
-rw-r--r--sysutils/xentools415/MESSAGE.NetBSD25
-rw-r--r--sysutils/xentools415/Makefile248
-rw-r--r--sysutils/xentools415/PLIST825
-rw-r--r--sysutils/xentools415/distinfo72
-rw-r--r--sysutils/xentools415/patches/patch-.._seabios-rel-1.14.0_src_string.c18
-rw-r--r--sysutils/xentools415/patches/patch-Config.mk34
-rw-r--r--sysutils/xentools415/patches/patch-Makefile30
-rw-r--r--sysutils/xentools415/patches/patch-docs_man_xl.1.pod.in17
-rw-r--r--sysutils/xentools415/patches/patch-docs_man_xl.cfg.5.pod.in29
-rw-r--r--sysutils/xentools415/patches/patch-docs_man_xlcpupool.cfg.5.pod28
-rw-r--r--sysutils/xentools415/patches/patch-docs_misc_block-scripts.txt13
-rw-r--r--sysutils/xentools415/patches/patch-docs_misc_vtd.txt22
-rw-r--r--sysutils/xentools415/patches/patch-tools_Makefile21
-rw-r--r--sysutils/xentools415/patches/patch-tools_configure30
-rw-r--r--sysutils/xentools415/patches/patch-tools_console_daemon_utils.c22
-rw-r--r--sysutils/xentools415/patches/patch-tools_examples_Makefile12
-rw-r--r--sysutils/xentools415/patches/patch-tools_firmware_Makefile13
-rw-r--r--sysutils/xentools415/patches/patch-tools_firmware_etherboot_Makefile26
-rw-r--r--sysutils/xentools415/patches/patch-tools_hotplug_NetBSD_Makefile46
-rw-r--r--sysutils/xentools415/patches/patch-tools_hotplug_common_Makefile24
-rw-r--r--sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_evtchn.h96
-rw-r--r--sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_privcmd.h116
-rw-r--r--sysutils/xentools415/patches/patch-tools_libs_ctrl_Makefile15
-rw-r--r--sysutils/xentools415/patches/patch-tools_libs_libs.mk58
-rw-r--r--sysutils/xentools415/patches/patch-tools_libs_light_libxl.c24
-rw-r--r--sysutils/xentools415/patches/patch-tools_libs_light_libxl_pci.c15
-rw-r--r--sysutils/xentools415/patches/patch-tools_libs_util_libxlu_pci.c15
-rw-r--r--sysutils/xentools415/patches/patch-tools_libs_xenstore_xenstored_control.c15
-rw-r--r--sysutils/xentools415/patches/patch-tools_libxl_libxl_dom.c13
-rw-r--r--sysutils/xentools415/patches/patch-tools_libxl_libxl_event.c24
-rw-r--r--sysutils/xentools415/patches/patch-tools_libxl_libxl_internal.h23
-rw-r--r--sysutils/xentools415/patches/patch-tools_misc_xenhypfs.c15
-rw-r--r--sysutils/xentools415/patches/patch-tools_ocaml_common.make23
-rw-r--r--sysutils/xentools415/patches/patch-tools_ocaml_xenstored_Makefile12
-rw-r--r--sysutils/xentools415/patches/patch-tools_ocaml_xenstored_utils.ml13
-rw-r--r--sysutils/xentools415/patches/patch-tools_pygrub_Makefile13
-rw-r--r--sysutils/xentools415/patches/patch-tools_python_Makefile13
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_Makefile84
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c62
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_configure41
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_e1000.c34
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_ide.c37
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c13
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h18
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c17
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c13
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c15
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h12
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak12
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_net.c46
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak34
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen_audio_audio.c12
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen_configure14
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap-bsd.c44
-rw-r--r--sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap.c70
-rw-r--r--sysutils/xentools415/patches/patch-tools_xenpaging_xenpaging.c15
-rw-r--r--sysutils/xentools415/patches/patch-tools_xenstore_xs_lib.c13
-rw-r--r--sysutils/xentools415/patches/patch-tools_xl_Makefile16
-rw-r--r--sysutils/xentools415/patches/patch-xen_Makefile16
-rw-r--r--sysutils/xentools415/patches/patch-xen_Rules.mk12
-rw-r--r--sysutils/xentools415/patches/patch-xen_arch_x86_Makefile15
-rw-r--r--sysutils/xentools415/patches/patch-xen_include_Makefile15
77 files changed, 2995 insertions, 0 deletions
diff --git a/sysutils/xenkernel415/DESCR b/sysutils/xenkernel415/DESCR
new file mode 100644
index 00000000000..bea0fd9e70f
--- /dev/null
+++ b/sysutils/xenkernel415/DESCR
@@ -0,0 +1,16 @@
+Xen is a hypervisor which supports running multiple guest operating
+systems on a single machine. Guest OSes (also called "domains")
+can be either paravirtualised (i.e. make hypercalls in order to
+access hardware), run in HVM (Hardware Virtualisation Mode) where
+they will be presented with virtual devices, or a combination where
+they use hypercalls to access hardware but manage memory themselves.
+At boot, the xen kernel is loaded along with the guest kernel for
+the first domain (called domain0). domain0 has privileges to access
+the physical hardware (PCI and ISA devices), administrate other
+domains and provide virtual devices (disks and network) to other
+domains.
+
+This package contains the 4.15 Xen kernel itself. PCI passthrough is
+not supported. PAE is mandatory; on i386 one must use XEN3PAE_DOM[0U].
+
+This is the recommended Xen version in pkgsrc.
diff --git a/sysutils/xenkernel415/MESSAGE b/sysutils/xenkernel415/MESSAGE
new file mode 100644
index 00000000000..c9c9a8afd71
--- /dev/null
+++ b/sysutils/xenkernel415/MESSAGE
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+The Xen hypervisor is installed under the following locations:
+ ${XENKERNELDIR}/xen.gz (standard hypervisor)
+ ${XENKERNELDIR}/xen-debug.gz (debug hypervisor)
+
+Note that unlike upstream Xen, pv-linear-pt defaults to true.
+You can disable it using pv-linear-pt=false on the Xen command line,
+but then you can't boot NetBSD in PV mode.
+===========================================================================
diff --git a/sysutils/xenkernel415/Makefile b/sysutils/xenkernel415/Makefile
new file mode 100644
index 00000000000..de82f9354d2
--- /dev/null
+++ b/sysutils/xenkernel415/Makefile
@@ -0,0 +1,82 @@
+# $NetBSD: Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+VERSION= 4.15.0
+PKGREVISION= 0
+DISTNAME= xen-${VERSION}
+PKGNAME= xenkernel415-${VERSION}
+CATEGORIES= sysutils
+MASTER_SITES= https://downloads.xenproject.org/release/xen/${VERSION}/
+DIST_SUBDIR= xen415
+
+MAINTAINER= bouyer@NetBSD.org
+HOMEPAGE= https://xenproject.org/
+COMMENT= Xen 4.15.x Kernel
+
+LICENSE= gnu-gpl-v2
+
+ONLY_FOR_PLATFORM= NetBSD-*.*-x86_64
+
+SSP_SUPPORTED= no
+
+NO_CONFIGURE= yes
+USE_TOOLS+= gmake bison
+
+PYTHON_FOR_BUILD_ONLY= YES
+
+MAKE_ENV+= OCAML_TOOLS=no
+.if defined(PKGREVISION) && !empty(PKGREVISION) && (${PKGREVISION} != "0")
+MAKE_ENV+= XEN_VENDORVERSION=nb${PKGREVISION}
+.else
+MAKE_ENV+= XEN_VENDORVERSION=nb0
+.endif
+
+INSTALLATION_DIRS= xen415-kernel
+XENKERNELDIR= ${PREFIX}/${INSTALLATION_DIRS}
+
+MESSAGE_SUBST+= XENKERNELDIR=${XENKERNELDIR}
+
+.include "../../mk/compiler.mk"
+.if !empty(PKGSRC_COMPILER:Mclang)
+EXTRA_CFLAGS+= -Qunused-arguments -no-integrated-as -Wno-error=format \
+ -Wno-error=parentheses-equality -Wno-error=enum-conversion \
+ -Wno-error=unused-function -Wno-error=unused-const-variable \
+ -Wno-error=ignored-attributes -Wno-error=constant-conversion \
+ -Wno-error=address-of-packed-member \
+ -Wno-error=initializer-overrides \
+ -Wno-error=tautological-compare -Wno-error=pragma-pack
+.elif !empty(PKGSRC_COMPILER:Mgcc)
+EXTRA_CFLAGS+= -falign-functions=16
+.endif
+
+MAKE_ENV+= EXTRA_CFLAGS=${EXTRA_CFLAGS:Q}
+
+do-build:
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} build-xen
+ ${CP} ${WRKSRC}/xen/xen.gz ${WRKDIR}/xen.gz
+ cd ${WRKSRC} && ${MAKE_PROGRAM} clean
+ echo "CONFIG_DEBUG=y" >> ${WRKSRC}/xen/.config
+ echo "CONFIG_DEBUG_INFO=y" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_DEBUG_LOCK_PROFILE is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_DEBUG_LOCKS is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_DEBUG_TRACE is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_XMEM_POOL_POISON is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_CRASH_DEBUG is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_GDBSX is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_FRAME_POINTER is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_GCOV is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_LOCK_PROFILE is not set" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_PERF_COUNTERS is not set" >> ${WRKSRC}/xen/.config
+ echo "CONFIG_VERBOSE_DEBUG=y" >> ${WRKSRC}/xen/.config
+ echo "CONFIG_SCRUB_DEBUG=y" >> ${WRKSRC}/xen/.config
+ echo "# CONFIG_UBSAN is not set" >> ${WRKSRC}/xen/.config
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} build-xen
+ ${CP} ${WRKSRC}/xen/xen.gz ${WRKDIR}/xen-debug.gz
+
+do-install:
+ ${INSTALL_DATA} ${WRKDIR}/xen.gz \
+ ${DESTDIR}${XENKERNELDIR}/xen.gz
+ ${INSTALL_DATA} ${WRKDIR}/xen-debug.gz \
+ ${DESTDIR}${XENKERNELDIR}/xen-debug.gz
+
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/xenkernel415/PLIST b/sysutils/xenkernel415/PLIST
new file mode 100644
index 00000000000..4290e17e4a1
--- /dev/null
+++ b/sysutils/xenkernel415/PLIST
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+xen415-kernel/xen-debug.gz
+xen415-kernel/xen.gz
diff --git a/sysutils/xenkernel415/distinfo b/sysutils/xenkernel415/distinfo
new file mode 100644
index 00000000000..5422f41ae32
--- /dev/null
+++ b/sysutils/xenkernel415/distinfo
@@ -0,0 +1,14 @@
+$NetBSD: distinfo,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+SHA1 (xen415/xen-4.15.0.tar.gz) = 4ea99cf3063db822dfbaf971bf8e9d50828d485a
+RMD160 (xen415/xen-4.15.0.tar.gz) = e314791e29244da385e482166776641929babad3
+SHA512 (xen415/xen-4.15.0.tar.gz) = 93683b8a97387ca5f003c635a11d163e61c87dbdc9a03081f9155fe87b49f1dfa74ce243fcd5e04dc009353a36e2375b786f1ebde828b5951a094cd64197b4c7
+Size (xen415/xen-4.15.0.tar.gz) = 40785399 bytes
+SHA1 (patch-Config.mk) = 9372a09efd05c9fbdbc06f8121e411fcb7c7ba65
+SHA1 (patch-xen_Makefile) = 465388d80de414ca3bb84faefa0f52d817e423a6
+SHA1 (patch-xen_Rules.mk) = c743dc63f51fc280d529a7d9e08650292c171dac
+SHA1 (patch-xen_arch_x86_Rules.mk) = 54392a7d719a21bc625a96b673056f88b96df97d
+SHA1 (patch-xen_arch_x86_boot_build32.mk) = b82c20de9b86ddaa9d05bbc1ff28f970eb78473c
+SHA1 (patch-xen_arch_x86_extable.c) = e439e6f3fe704d9b2894fc6b9e8f23f321a00f05
+SHA1 (patch-xen_arch_x86_mm_p2m.c) = 6e9b84dc8448eca9677f184e720bbfcb3c6d314e
+SHA1 (patch-xen_drivers_passthrough_x86_iommu.c) = 8b3a36a019490b1d125ea1f74274435382797da1
diff --git a/sysutils/xenkernel415/patches/patch-Config.mk b/sysutils/xenkernel415/patches/patch-Config.mk
new file mode 100644
index 00000000000..e7926100143
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-Config.mk
@@ -0,0 +1,14 @@
+$NetBSD: patch-Config.mk,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- Config.mk.orig 2018-04-17 19:21:31.000000000 +0200
++++ Config.mk 2018-04-23 13:29:47.000000000 +0200
+@@ -32,6 +32,9 @@
+ # Tools to run on system hosting the build
+ HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
+ HOSTCFLAGS += -fno-strict-aliasing
++HOSTCFLAGS += ${EXTRA_CFLAGS}
++CFLAGS += ${EXTRA_CFLAGS}
++
+
+ DISTDIR ?= $(XEN_ROOT)/dist
+ DESTDIR ?= /
diff --git a/sysutils/xenkernel415/patches/patch-xen_Makefile b/sysutils/xenkernel415/patches/patch-xen_Makefile
new file mode 100644
index 00000000000..324945f5bea
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-xen_Makefile
@@ -0,0 +1,13 @@
+$NetBSD: patch-xen_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- xen/Makefile.orig 2018-04-17 19:21:31.000000000 +0200
++++ xen/Makefile 2018-04-23 13:29:47.000000000 +0200
+@@ -167,7 +167,7 @@
+ -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
+ -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
+ -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
+- -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \
++ -e 's!@@compiler@@!$(shell $(CC) $(EXTRA_CFLAGS) $(CFLAGS) --version 2>&1 | head -1)!g' \
+ -e 's/@@version@@/$(XEN_VERSION)/g' \
+ -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
+ -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
diff --git a/sysutils/xenkernel415/patches/patch-xen_Rules.mk b/sysutils/xenkernel415/patches/patch-xen_Rules.mk
new file mode 100644
index 00000000000..86d3fd59c4c
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-xen_Rules.mk
@@ -0,0 +1,12 @@
+$NetBSD: patch-xen_Rules.mk,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- xen/Rules.mk.orig 2018-04-23 14:50:02.000000000 +0200
++++ xen/Rules.mk 2018-04-23 14:50:32.000000000 +0200
+@@ -1,4 +1,7 @@
+
++#reset cflags. Why is it needed in pkgsrc ?
++CFLAGS=
++
+ -include $(BASEDIR)/include/config/auto.conf
+
+ include $(XEN_ROOT)/Config.mk
diff --git a/sysutils/xenkernel415/patches/patch-xen_arch_x86_Rules.mk b/sysutils/xenkernel415/patches/patch-xen_arch_x86_Rules.mk
new file mode 100644
index 00000000000..6298f29e6b6
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-xen_arch_x86_Rules.mk
@@ -0,0 +1,10 @@
+$NetBSD: patch-xen_arch_x86_Rules.mk,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- xen/arch/x86/Rules.mk.orig 2020-12-08 15:28:32.000000000 +0100
++++ xen/arch/x86/Rules.mk 2020-12-08 17:27:58.740162095 +0100
+@@ -8,3 +8,5 @@
+ endif
+ c_flags += $(object_label_flags) $(CFLAGS-stack-boundary)
+ a_flags += $(object_label_flags) $(CFLAGS-stack-boundary)
++
++c_flags += $(EXTRA_CFLAGS)
diff --git a/sysutils/xenkernel415/patches/patch-xen_arch_x86_boot_build32.mk b/sysutils/xenkernel415/patches/patch-xen_arch_x86_boot_build32.mk
new file mode 100644
index 00000000000..87d46eb5bc3
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-xen_arch_x86_boot_build32.mk
@@ -0,0 +1,15 @@
+$NetBSD: patch-xen_arch_x86_boot_build32.mk,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+linux's toolchain doesn't generate a .eh_frame section but NetBSD does.
+remove it.
+
+--- xen/arch/x86/boot/build32.mk.orig 2018-04-17 19:21:31.000000000 +0200
++++ xen/arch/x86/boot/build32.mk 2018-04-23 13:29:47.000000000 +0200
+@@ -25,7 +25,7 @@
+ exit $$(expr $$idx + 1);; \
+ esac; \
+ done
+- $(OBJCOPY) -O binary -R .got.plt $< $@
++ $(OBJCOPY) -O binary -R .got.plt -R .eh_frame $< $@
+
+ %.lnk: %.o
+ $(LD) $(LDFLAGS_DIRECT) -N -T build32.lds -o $@ $<
diff --git a/sysutils/xenkernel415/patches/patch-xen_arch_x86_extable.c b/sysutils/xenkernel415/patches/patch-xen_arch_x86_extable.c
new file mode 100644
index 00000000000..de91f978757
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-xen_arch_x86_extable.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-xen_arch_x86_extable.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+silent nosy debug output
+
+--- xen/arch/x86/extable.c.orig 2020-12-08 18:32:35.707855990 +0100
++++ xen/arch/x86/extable.c 2020-12-08 18:32:05.786712864 +0100
+@@ -199,7 +199,7 @@
+ __start___pre_ex_table, __stop___pre_ex_table-1, addr);
+ if ( fixup )
+ {
+- dprintk(XENLOG_INFO, "Pre-exception: %p -> %p\n", _p(addr), _p(fixup));
++ // dprintk(XENLOG_INFO, "Pre-exception: %p -> %p\n", _p(addr), _p(fixup));
+ perfc_incr(exception_fixed);
+ }
+ return fixup;
diff --git a/sysutils/xenkernel415/patches/patch-xen_arch_x86_mm_p2m.c b/sysutils/xenkernel415/patches/patch-xen_arch_x86_mm_p2m.c
new file mode 100644
index 00000000000..bbbe0f74763
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-xen_arch_x86_mm_p2m.c
@@ -0,0 +1,21 @@
+$NetBSD: patch-xen_arch_x86_mm_p2m.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+silent a noisy warning
+
+--- xen/arch/x86/mm/p2m.c.orig 2020-05-03 21:13:56.173269058 +0200
++++ xen/arch/x86/mm/p2m.c 2020-05-03 21:15:38.477174874 +0200
+@@ -1367,10 +1367,13 @@
+ ret = 0;
+ else
+ ret = -EBUSY;
+- printk(XENLOG_G_WARNING
++
++ if (gfn_l != mfn_x(mfn)) {
++ printk(XENLOG_G_WARNING
+ "Cannot setup identity map d%d:%lx,"
+ " gfn already mapped to %lx.\n",
+ d->domain_id, gfn_l, mfn_x(mfn));
++ }
+ }
+
+ gfn_unlock(p2m, gfn, 0);
diff --git a/sysutils/xenkernel415/patches/patch-xen_drivers_passthrough_x86_iommu.c b/sysutils/xenkernel415/patches/patch-xen_drivers_passthrough_x86_iommu.c
new file mode 100644
index 00000000000..7eda9aa5bb6
--- /dev/null
+++ b/sysutils/xenkernel415/patches/patch-xen_drivers_passthrough_x86_iommu.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-xen_drivers_passthrough_x86_iommu.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Silent noisy warning
+
+--- xen/drivers/passthrough/x86/iommu.c.orig 2020-12-08 15:28:32.000000000 +0100
++++ xen/drivers/passthrough/x86/iommu.c 2020-12-08 17:32:05.407356434 +0100
+@@ -248,7 +248,7 @@
+ rc = iommu_map(d, _dfn(pfn), _mfn(pfn), 1ul << PAGE_ORDER_4K,
+ IOMMUF_readable | IOMMUF_writable, &flush_flags);
+
+- if ( rc )
++ if ( rc && (!paging_mode_translate(d) || rc != -16) )
+ printk(XENLOG_WARNING "%pd: identity %smapping of %lx failed: %d\n",
+ d, !paging_mode_translate(d) ? "IOMMU " : "", pfn, rc);
+
diff --git a/sysutils/xentools415/DESCR b/sysutils/xentools415/DESCR
new file mode 100644
index 00000000000..a0348cf2642
--- /dev/null
+++ b/sysutils/xentools415/DESCR
@@ -0,0 +1,5 @@
+The Xen virtual machine monitor allows running several virtual machines
+on a single physical machine. The xentools415 package contains the
+tools to create, destroy and control the virtual machines.
+
+This package contains the tools for Xen 4.15.x
diff --git a/sysutils/xentools415/MESSAGE b/sysutils/xentools415/MESSAGE
new file mode 100644
index 00000000000..997cbe2b4ab
--- /dev/null
+++ b/sysutils/xentools415/MESSAGE
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Please note that the xm command has been removed.
+You have to switch to the xl command, which is now functional on NetBSD.
+
+Also note that the rc.d scripts have been updated in this version.
+If you don't use PKG_RCD_SCRIPTS=YES then it is very important for
+you to copy the new rc.d scripts to /etc/rc.d.
+
+===========================================================================
diff --git a/sysutils/xentools415/MESSAGE.NetBSD b/sysutils/xentools415/MESSAGE.NetBSD
new file mode 100644
index 00000000000..454240f6b3e
--- /dev/null
+++ b/sysutils/xentools415/MESSAGE.NetBSD
@@ -0,0 +1,25 @@
+===========================================================================
+$NetBSD: MESSAGE.NetBSD,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Please ensure that the Xen-specific devices needed by xend(8) exist:
+
+ cd /dev && sh MAKEDEV xen
+
+There are example configuration files for setting up a guest domain in:
+
+ ${EGDIR}/
+
+Please also refer to the the "NetBSD/xen How-To" for more information on
+creating a Xen setup:
+
+ http://www.NetBSD.org/ports/xen/howto.html
+
+===========================================================================
+WARNING: this version switches from the unmaintained qemu-xen-traditional
+(aka qemu-dm) to qemu-upstream (aka qemu-system-i386, aka qemu-xen).
+To switch back to qemu-xen-traditional add
+device_model_version='qemu-xen-traditional'
+to your HVM domain config file.
+Use of qemu-xen-traditional is deprecated and is not recommened. It may have
+security issues.
+===========================================================================
diff --git a/sysutils/xentools415/Makefile b/sysutils/xentools415/Makefile
new file mode 100644
index 00000000000..b452312647e
--- /dev/null
+++ b/sysutils/xentools415/Makefile
@@ -0,0 +1,248 @@
+# $NetBSD: Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+#
+VERSION= 4.15.0
+
+DIST_SUBDIR= xen415
+DISTNAME= xen-${VERSION}
+PKGNAME= xentools415-${VERSION}
+#PKGREVISION= 0
+CATEGORIES= sysutils
+MASTER_SITES= https://downloads.xenproject.org/release/xen/${VERSION}/
+
+DISTFILES= ${DISTNAME}.tar.gz
+
+SEABIOS_VERSION= 1.14.0
+SEABIOS_DIST= seabios-${SEABIOS_VERSION}.tar.gz
+DISTFILES+= ${SEABIOS_DIST}
+SITES.${SEABIOS_DIST}= -http://xenbits.xen.org/gitweb/?p=seabios.git;a=snapshot;h=refs/tags/rel-${SEABIOS_VERSION};sf=tgz
+
+IPXE_VERSION= 988d2c13cdf0f0b4140685af35ced70ac5b3283c
+IPXE_DIST= ipxe-${IPXE_VERSION}.tar.gz
+DISTFILES+= ${IPXE_DIST}
+SITES.${IPXE_DIST}= -https://github.com/ipxe/ipxe/archive/${IPXE_VERSION}.tar.gz
+
+MAINTAINER= bouyer@NetBSD.org
+HOMEPAGE= https://xenproject.org/
+COMMENT= Userland Tools for Xen 4.15.x
+LICENSE= gnu-gpl-v2
+
+# XXX add version check: Xen requires dev86 >= 0.16.14
+BUILD_DEPENDS+= dev86-[0-9]*:../../devel/dev86 # needed to build firmware
+.if !exists(/usr/bin/iasl)
+BUILD_DEPENDS+= acpica-utils-[0-9]*:../../sysutils/acpica-utils
+.endif
+DEPENDS+= ${PYPKGPREFIX}-curses>=0:../../devel/py-curses
+
+PKG_SYSCONFSUBDIR= xen
+
+ONLY_FOR_PLATFORM= NetBSD-9.99.6[4-9]-x86_64 NetBSD-9.99.[7-9]*-x86_64
+ONLY_FOR_PLATFORM+= NetBSD-9.[1-9]-x86_64
+ONLY_FOR_PLATFORM+= NetBSD-9.[1-9]_*-x86_64
+ONLY_FOR_PLATFORM+= NetBSD-9.0_STABLE-x86_64
+
+SSP_SUPPORTED= no
+
+CONFLICTS+= libxen-[0-9]*
+CONFLICTS+= xenstoretools-[0-9]*
+
+CHECK_PORTABILITY_SKIP= tools/examples/* \
+ tools/qemu-xen/scripts/qemu-binfmt-conf.sh
+CHECK_RELRO_SKIP= libexec/xen/boot/hvmloader
+
+EGDIR= ${PREFIX}/share/examples/xen
+MESSAGE_SUBST+= EGDIR=${EGDIR}
+
+USE_TOOLS+= pod2man gmake pkg-config makeinfo perl bash cmake gsed bison
+USE_LANGUAGES= c c++
+
+GNU_CONFIGURE= YES
+CONFIGURE_ARGS+= --enable-rpath
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASE}
+
+MAKE_ENV+= PREFIX=${prefix:Q} WRKSRC=${WRKSRC}
+MAKE_ENV+= APPEND_LIB=${LDFLAGS:Q}
+MAKE_ENV+= XEN_EXAMPLES_DIR=${EGDIR}
+MAKE_ENV+= MV=${MV:Q} CP=${CP:Q}
+MAKE_ENV+= PYTHON=${PYTHONBIN:Q} PYTHON_COMMAND=${PYTHONBIN:Q}
+MAKE_ENV+= SED=${SED:Q}
+MAKE_ENV+= V=YES
+MAKE_ENV+= BARE_CPP="gcc -E"
+#MAKE_ENV+= NO_WERROR=1
+
+#BUILDLINK_TRANSFORM+= rm:-Werror
+
+PY_PATCHPLIST= yes
+REPLACE_PYTHON+= tools/misc/xencons
+REPLACE_PYTHON+= tools/misc/xenpvnetboot tools/misc/xensymoops
+REPLACE_PYTHON+= tools/python/scripts/convert-legacy-stream
+REPLACE_PYTHON+= tools/python/scripts/verify-stream-v2
+REPLACE_PYTHON+= tools/xenmon/xenmon.py tools/misc/xencov_split
+
+REPLACE_PERL+= tools/firmware/rombios/makesym.perl
+REPLACE_PERL+= tools/qemu-xen-traditional/texi2pod.pl
+REPLACE_PERL+= tools/examples/xeninfo.pl
+REPLACE_PERL+= tools/include/xen-external/bsd-sys-queue-h-seddery
+REPLACE_PERL+= tools/qemu-xen/scripts/texi2pod.pl
+REPLACE_PERL+= tools/qemu-xen/scripts/get_maintainer.pl
+REPLACE_PERL+= tools/qemu-xen/scripts/checkpatch.pl
+
+SUBST_CLASSES+= conf
+SUBST_STAGE.conf= pre-configure
+SUBST_FILES.conf= docs/misc/block-scripts.txt
+SUBST_FILES.conf+= docs/misc/vtd.txt
+SUBST_SED.conf= -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g"
+
+XEND_SCRIPTS= block vif-bridge vif-ip qemu-ifup hotplugpath.sh locking.sh
+
+SUBST_CLASSES+= getopt
+SUBST_STAGE.getopt= pre-configure
+SUBST_MESSAGE.getopt= Fixing getopt_long_only
+SUBST_FILES.getopt+= tools/fuzz/x86_instruction_emulator/afl-harness.c
+SUBST_SED.getopt+= -e 's,getopt_long_only,getopt_long,'
+
+SUBST_CLASSES+= rpath-link
+SUBST_STAGE.rpath-link= pre-configure
+SUBST_MESSAGE.rpath-link= Fixing rpath-link syntax
+SUBST_FILES.rpath-link+= tools/Rules.mk
+SUBST_SED.rpath-link+= -e 's/-rpath-link=/-rpath-link,/g'
+
+OPSYSVARS+= PROCPATH
+PROCPATH.NetBSD= /kern
+PROCPATH.*= /proc
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "NetBSD"
+MESSAGE_SRC= ${.CURDIR}/MESSAGE ${.CURDIR}/MESSAGE.NetBSD
+.endif
+
+RCD_SCRIPTS= xen-watchdog xencommons xendomains
+FILES_SUBST+= RCD_INTERPRETER=${PYTHONBIN:Q}
+FILES_SUBST+= PROCPATH=${PROCPATH:Q}
+FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
+FILES_SUBST+= PREFIX=${PREFIX}
+
+CONF_FILES+= ${EGDIR}/xl.conf ${PKG_SYSCONFDIR}/xl.conf
+CONF_FILES+= ${EGDIR}/oxenstored.conf ${PKG_SYSCONFDIR}/oxenstored.conf
+
+OWN_DIRS= ${PKG_SYSCONFDIR}/scripts ${VARBASE}/log/xen
+
+.for s in ${XEND_SCRIPTS}
+CONF_FILES_PERMS+= ${EGDIR}/scripts/${s} ${PKG_SYSCONFDIR}/scripts/${s} \
+ ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0755
+.endfor
+
+pre-build:
+ rm -f ${WRKSRC}/check/check_x11_devel
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xenstore-chmod.1.pod |\
+ pod2man -n xenstore-chmod >${WRKDIR}/xenstore-chmod.1
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xenstore-ls.1.pod |\
+ pod2man -n xenstore-ls >${WRKDIR}/xenstore-ls.1
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xenstore.1.pod |\
+ pod2man -n xenstore >${WRKDIR}/xenstore.1
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xentop.1.pod |\
+ pod2man -n xentop >${WRKDIR}/xentop.1
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xentrace.8.pod |\
+ pod2man -n xentrace >${WRKDIR}/xentrace.8
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xentrace_format.1.pod |\
+ pod2man -n xenstore_format >${WRKDIR}/xentrace_format.1
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xl.cfg.5.pod.in |\
+ pod2man -n xl.cfg >${WRKDIR}/xl.cfg.5
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xl.conf.5.pod |\
+ pod2man -n xl.conf >${WRKDIR}/xl.conf.5
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xl.1.pod.in |\
+ pod2man -n xl >${WRKDIR}/xl.1
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xlcpupool.cfg.5.pod |\
+ pod2man -n xlcpupool.cfg >${WRKDIR}/xlcpupool.cfg.5
+ ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+ ${WRKSRC}/docs/man/xl-disk-configuration.5.pod |\
+ pod2man -n xl-disk-configuration >${WRKDIR}/xl-disk-configuration.5
+
+INSTALLATION_DIRS= ${EGDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man5
+INSTALLATION_DIRS+= ${PKGMANDIR}/man8 share/doc/xen
+
+BUILD_DEFS+= VARBASE
+
+do-build:
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} build-tools
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} build-docs
+
+do-install:
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} DESTDIR=${DESTDIR} install-tools
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} DESTDIR=${DESTDIR} install-docs
+
+post-install:
+ ${INSTALL_MAN} ${WRKDIR}/xenstore-chmod.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+ ${INSTALL_MAN} ${WRKDIR}/xenstore-ls.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+ ${INSTALL_MAN} ${WRKDIR}/xenstore.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+ ${INSTALL_MAN} ${WRKDIR}/xentop.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+ ${INSTALL_MAN} ${WRKDIR}/xentrace.8 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8
+ ${INSTALL_MAN} ${WRKDIR}/xentrace_format.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+ ${INSTALL_MAN} ${WRKDIR}/xl.cfg.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
+ ${INSTALL_MAN} ${WRKDIR}/xl.conf.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
+ ${INSTALL_MAN} ${WRKDIR}/xl.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+ ${INSTALL_MAN} ${WRKDIR}/xlcpupool.cfg.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
+.for f in \
+ gamd-ucode-container.txt gqemu-backends.txt \
+ gblock-scripts.txt gqemu-deprivilege.txt \
+ gconsole.txt gstubdom.txt \
+ gcrashdb.txt gvtd-pi.txt \
+ gdistro_mapping.txt gvtd.txt \
+ gdump-core-format.txt gvtpm-platforms.txt \
+ ggrant-tables.txt gxen-error-handling.txt \
+ gkconfig-language.txt gxenmon.txt \
+ gkconfig.txt gxenpaging.txt \
+ gkexec_and_kdump.txt gxenstore-ring.txt \
+ glibxl_memory.txt gxenstore.txt \
+ gprintk-formats.txt gxsm-flask.txt \
+ ${INSTALL_DATA} ${WRKSRC}/docs/misc/$f ${DESTDIR}${PREFIX}/share/doc/xen
+.endfor
+
+.if (${OPSYS} == "NetBSD" && \
+ (empty(OS_VERSION:M6.99.[3-9]?) && empty(OS_VERSION:M[7-9].*)))
+CPPFLAGS+= -Dshm_open=open -Dshm_unlink=unlink
+.endif
+
+.include "../../mk/compiler.mk"
+.if !empty(PKGSRC_COMPILER:Mclang)
+EXTRA_HOSTCFLAGS+= -Wno-error=ignored-attributes
+EXTRA_CFLAGS+= -Wno-error=ignored-attributes -no-integrated-as \
+ -Wno-error=tautological-compare -Wno-error=null-dereference \
+ -Wno-error=empty-body -Wno-error=self-assign \
+ -Wno-error=sometimes-uninitialized \
+ -Wno-error=unused-function -Wno-error=format \
+ -Wno-error=unused-const-variable \
+ -Wno-error=gnu-designator -Wno-error=uninitialized \
+ -Wno-error=parentheses-equality \
+ -Wno-error=enum-conversion \
+ -Wno-error=address-of-packed-member
+BUILDLINK_TRANSFORM+= rm:-falign-jumps=1 rm:-falign-loops=1 \
+ rm:-mpreferred-stack-boundary=2
+.endif
+
+MAKE_ENV+= EXTRA_HOSTCFLAGS=${EXTRA_HOSTCFLAGS:Q} EXTRA_CFLAGS=${EXTRA_CFLAGS:M*:Q} TARGET_CC=${TARGET_CC}
+
+.include "../../lang/python/application.mk"
+.include "../../lang/python/extension.mk"
+#.include "../../devel/SDL/buildlink3.mk"
+.include "../../lang/ocaml/buildlink3.mk"
+.include "../../devel/ocaml-findlib/buildlink3.mk"
+.include "../../sysutils/pciutils/buildlink3.mk"
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../devel/yajl/buildlink3.mk"
+.include "../../devel/argp/buildlink3.mk"
+.include "../../security/libgcrypt/buildlink3.mk"
+.include "../../x11/pixman/buildlink3.mk"
+
+.include "../../mk/curses.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/xentools415/PLIST b/sysutils/xentools415/PLIST
new file mode 100644
index 00000000000..3aef19a8bb4
--- /dev/null
+++ b/sysutils/xentools415/PLIST
@@ -0,0 +1,825 @@
+@comment $NetBSD: PLIST,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+${PYSITELIB}/grub/ExtLinuxConf.py
+${PYSITELIB}/grub/ExtLinuxConf.pyc
+${PYSITELIB}/grub/GrubConf.py
+${PYSITELIB}/grub/GrubConf.pyc
+${PYSITELIB}/grub/LiloConf.py
+${PYSITELIB}/grub/LiloConf.pyc
+${PYSITELIB}/grub/__init__.py
+${PYSITELIB}/grub/__init__.pyc
+${PYSITELIB}/pygrub-0.6-py${PYVERSSUFFIX}.egg-info
+${PYSITELIB}/xen-3.0-py${PYVERSSUFFIX}.egg-info
+${PYSITELIB}/xen/__init__.py
+${PYSITELIB}/xen/__init__.pyc
+${PYSITELIB}/xen/lowlevel/__init__.py
+${PYSITELIB}/xen/lowlevel/__init__.pyc
+${PYSITELIB}/xen/lowlevel/xc.so
+${PYSITELIB}/xen/lowlevel/xs.so
+${PYSITELIB}/xen/migration/__init__.py
+${PYSITELIB}/xen/migration/__init__.pyc
+${PYSITELIB}/xen/migration/legacy.py
+${PYSITELIB}/xen/migration/legacy.pyc
+${PYSITELIB}/xen/migration/libxc.py
+${PYSITELIB}/xen/migration/libxc.pyc
+${PYSITELIB}/xen/migration/libxl.py
+${PYSITELIB}/xen/migration/libxl.pyc
+${PYSITELIB}/xen/migration/public.py
+${PYSITELIB}/xen/migration/public.pyc
+${PYSITELIB}/xen/migration/tests.py
+${PYSITELIB}/xen/migration/tests.pyc
+${PYSITELIB}/xen/migration/verify.py
+${PYSITELIB}/xen/migration/verify.pyc
+${PYSITELIB}/xen/migration/xl.py
+${PYSITELIB}/xen/migration/xl.pyc
+${PYSITELIB}/xen/util.py
+${PYSITELIB}/xen/util.pyc
+${PYSITELIB}/xenfsimage.so
+bin/pygrub
+bin/qemu-img-xen
+bin/xen-cpuid
+bin/xen-detect
+bin/xenalyze
+bin/xencons
+bin/xencov_split
+bin/xenstore
+bin/xenstore-chmod
+bin/xenstore-control
+bin/xenstore-exists
+bin/xenstore-list
+bin/xenstore-ls
+bin/xenstore-read
+bin/xenstore-rm
+bin/xenstore-watch
+bin/xenstore-write
+bin/xentrace_format
+include/_libxl_list.h
+include/_libxl_types.h
+include/_libxl_types_json.h
+include/libxl.h
+include/libxl_event.h
+include/libxl_json.h
+include/libxl_utils.h
+include/libxl_uuid.h
+include/libxlutil.h
+include/xen/COPYING
+include/xen/arch-arm.h
+include/xen/arch-arm/hvm/save.h
+include/xen/arch-arm/smccc.h
+include/xen/arch-x86/cpufeatureset.h
+include/xen/arch-x86/cpuid.h
+include/xen/arch-x86/hvm/save.h
+include/xen/arch-x86/hvm/start_info.h
+include/xen/arch-x86/pmu.h
+include/xen/arch-x86/xen-mca.h
+include/xen/arch-x86/xen-x86_32.h
+include/xen/arch-x86/xen-x86_64.h
+include/xen/arch-x86/xen.h
+include/xen/arch-x86_32.h
+include/xen/arch-x86_64.h
+include/xen/argo.h
+include/xen/callback.h
+include/xen/device_tree_defs.h
+include/xen/dom0_ops.h
+include/xen/domctl.h
+include/xen/elfnote.h
+include/xen/errno.h
+include/xen/event_channel.h
+include/xen/features.h
+include/xen/foreign/arm32.h
+include/xen/foreign/arm64.h
+include/xen/foreign/x86_32.h
+include/xen/foreign/x86_64.h
+include/xen/grant_table.h
+include/xen/hvm/dm_op.h
+include/xen/hvm/e820.h
+include/xen/hvm/hvm_info_table.h
+include/xen/hvm/hvm_op.h
+include/xen/hvm/hvm_vcpu.h
+include/xen/hvm/hvm_xs_strings.h
+include/xen/hvm/ioreq.h
+include/xen/hvm/params.h
+include/xen/hvm/pvdrivers.h
+include/xen/hvm/save.h
+include/xen/hypfs.h
+include/xen/io/9pfs.h
+include/xen/io/blkif.h
+include/xen/io/cameraif.h
+include/xen/io/console.h
+include/xen/io/displif.h
+include/xen/io/fbif.h
+include/xen/io/fsif.h
+include/xen/io/kbdif.h
+include/xen/io/libxenvchan.h
+include/xen/io/netif.h
+include/xen/io/pciif.h
+include/xen/io/protocols.h
+include/xen/io/pvcalls.h
+include/xen/io/ring.h
+include/xen/io/sndif.h
+include/xen/io/tpmif.h
+include/xen/io/usbif.h
+include/xen/io/vscsiif.h
+include/xen/io/xenbus.h
+include/xen/io/xs_wire.h
+include/xen/kexec.h
+include/xen/memory.h
+include/xen/nmi.h
+include/xen/physdev.h
+include/xen/platform.h
+include/xen/pmu.h
+include/xen/sched.h
+include/xen/sysctl.h
+include/xen/sys/evtchn.h
+include/xen/sys/privcmd.h
+include/xen/tmem.h
+include/xen/trace.h
+include/xen/vcpu.h
+include/xen/version.h
+include/xen/vm_event.h
+include/xen/xen-compat.h
+include/xen/xen.h
+include/xen/xencomm.h
+include/xen/xenoprof.h
+include/xen/xsm/flask_op.h
+include/xencall.h
+include/xenctrl.h
+include/xenctrl_compat.h
+include/xendevicemodel.h
+include/xenevtchn.h
+include/xenforeignmemory.h
+include/xenfsimage.h
+include/xenfsimage_grub.h
+include/xenfsimage_plugin.h
+include/xengnttab.h
+include/xenguest.h
+include/xenhypfs.h
+include/xenstat.h
+include/xenstore-compat/xs.h
+include/xenstore-compat/xs_lib.h
+include/xenstore.h
+include/xenstore_lib.h
+include/xentoolcore.h
+include/xentoolcore_internal.h
+include/xentoollog.h
+include/xs.h
+include/xs_lib.h
+lib/debug${LOCALBASE}/libexec/xen/boot/xen-shim-syms
+lib/libxencall.a
+lib/libxencall.so
+lib/libxencall.so.1
+lib/libxencall.so.1.2
+lib/libxenctrl.a
+lib/libxenctrl.so
+lib/libxenctrl.so.4.15
+lib/libxenctrl.so.4.15.0
+lib/libxendevicemodel.a
+lib/libxendevicemodel.so
+lib/libxendevicemodel.so.1
+lib/libxendevicemodel.so.1.4
+lib/libxenevtchn.a
+lib/libxenevtchn.so
+lib/libxenevtchn.so.1
+lib/libxenevtchn.so.1.2
+lib/libxenforeignmemory.a
+lib/libxenforeignmemory.so
+lib/libxenforeignmemory.so.1
+lib/libxenforeignmemory.so.1.4
+lib/libxenfsimage.so
+lib/libxenfsimage.so.4.15
+lib/libxenfsimage.so.4.15.0
+lib/libxengnttab.a
+lib/libxengnttab.so
+lib/libxengnttab.so.1
+lib/libxengnttab.so.1.2
+lib/libxenguest.a
+lib/libxenguest.so
+lib/libxenguest.so.4.15
+lib/libxenguest.so.4.15.0
+lib/libxenhypfs.a
+lib/libxenhypfs.so
+lib/libxenhypfs.so.1
+lib/libxenhypfs.so.1.0
+lib/libxenlight.a
+lib/libxenlight.so
+lib/libxenlight.so.4.15
+lib/libxenlight.so.4.15.0
+lib/libxenstat.a
+lib/libxenstat.so
+lib/libxenstat.so.4.15
+lib/libxenstat.so.4.15.0
+lib/libxenstore.a
+lib/libxenstore.so
+lib/libxenstore.so.3.0
+lib/libxenstore.so.3.0.3
+lib/libxentoolcore.a
+lib/libxentoolcore.so
+lib/libxentoolcore.so.1
+lib/libxentoolcore.so.1.0
+lib/libxentoollog.a
+lib/libxentoollog.so
+lib/libxentoollog.so.1
+lib/libxentoollog.so.1.0
+lib/libxlutil.a
+lib/libxlutil.so
+lib/libxlutil.so.4.15
+lib/libxlutil.so.4.15.0
+lib/ocaml/site-lib/xenbus/META
+lib/ocaml/site-lib/xenbus/dllxenbus_stubs.so
+lib/ocaml/site-lib/xenbus/libxenbus_stubs.a
+lib/ocaml/site-lib/xenbus/xenbus.a
+lib/ocaml/site-lib/xenbus/xenbus.cma
+lib/ocaml/site-lib/xenbus/xenbus.cmi
+lib/ocaml/site-lib/xenbus/xenbus.cmo
+lib/ocaml/site-lib/xenbus/xenbus.cmx
+lib/ocaml/site-lib/xenbus/xenbus.cmxa
+lib/ocaml/site-lib/xenctrl/META
+lib/ocaml/site-lib/xenctrl/dllxenctrl_stubs.so
+lib/ocaml/site-lib/xenctrl/libxenctrl_stubs.a
+lib/ocaml/site-lib/xenctrl/xenctrl.a
+lib/ocaml/site-lib/xenctrl/xenctrl.cma
+lib/ocaml/site-lib/xenctrl/xenctrl.cmi
+lib/ocaml/site-lib/xenctrl/xenctrl.cmx
+lib/ocaml/site-lib/xenctrl/xenctrl.cmxa
+lib/ocaml/site-lib/xeneventchn/META
+lib/ocaml/site-lib/xeneventchn/dllxeneventchn_stubs.so
+lib/ocaml/site-lib/xeneventchn/libxeneventchn_stubs.a
+lib/ocaml/site-lib/xeneventchn/xeneventchn.a
+lib/ocaml/site-lib/xeneventchn/xeneventchn.cma
+lib/ocaml/site-lib/xeneventchn/xeneventchn.cmi
+lib/ocaml/site-lib/xeneventchn/xeneventchn.cmx
+lib/ocaml/site-lib/xeneventchn/xeneventchn.cmxa
+lib/ocaml/site-lib/xenlight/META
+lib/ocaml/site-lib/xenlight/dllxenlight_stubs.so
+lib/ocaml/site-lib/xenlight/libxenlight_stubs.a
+lib/ocaml/site-lib/xenlight/xenlight.a
+lib/ocaml/site-lib/xenlight/xenlight.cma
+lib/ocaml/site-lib/xenlight/xenlight.cmi
+lib/ocaml/site-lib/xenlight/xenlight.cmx
+lib/ocaml/site-lib/xenlight/xenlight.cmxa
+lib/ocaml/site-lib/xenmmap/META
+lib/ocaml/site-lib/xenmmap/dllxenmmap_stubs.so
+lib/ocaml/site-lib/xenmmap/libxenmmap_stubs.a
+lib/ocaml/site-lib/xenmmap/xenmmap.a
+lib/ocaml/site-lib/xenmmap/xenmmap.cma
+lib/ocaml/site-lib/xenmmap/xenmmap.cmi
+lib/ocaml/site-lib/xenmmap/xenmmap.cmx
+lib/ocaml/site-lib/xenmmap/xenmmap.cmxa
+lib/ocaml/site-lib/xenstore/META
+lib/ocaml/site-lib/xenstore/xenstore.a
+lib/ocaml/site-lib/xenstore/xenstore.cma
+lib/ocaml/site-lib/xenstore/xenstore.cmi
+lib/ocaml/site-lib/xenstore/xenstore.cmo
+lib/ocaml/site-lib/xenstore/xenstore.cmx
+lib/ocaml/site-lib/xenstore/xenstore.cmxa
+lib/ocaml/site-lib/xentoollog/META
+lib/ocaml/site-lib/xentoollog/dllxentoollog_stubs.so
+lib/ocaml/site-lib/xentoollog/libxentoollog_stubs.a
+lib/ocaml/site-lib/xentoollog/xentoollog.a
+lib/ocaml/site-lib/xentoollog/xentoollog.cma
+lib/ocaml/site-lib/xentoollog/xentoollog.cmi
+lib/ocaml/site-lib/xentoollog/xentoollog.cmx
+lib/ocaml/site-lib/xentoollog/xentoollog.cmxa
+lib/pkgconfig/xencall.pc
+lib/pkgconfig/xencontrol.pc
+lib/pkgconfig/xendevicemodel.pc
+lib/pkgconfig/xenevtchn.pc
+lib/pkgconfig/xenforeignmemory.pc
+lib/pkgconfig/xengnttab.pc
+lib/pkgconfig/xenguest.pc
+lib/pkgconfig/xenhypfs.pc
+lib/pkgconfig/xenlight.pc
+lib/pkgconfig/xenstat.pc
+lib/pkgconfig/xenstore.pc
+lib/pkgconfig/xentoolcore.pc
+lib/pkgconfig/xentoollog.pc
+lib/pkgconfig/xlutil.pc
+lib/xenfsimage/ext2fs/fsimage.so
+lib/xenfsimage/fat/fsimage.so
+lib/xenfsimage/iso9660/fsimage.so
+lib/xenfsimage/reiserfs/fsimage.so
+lib/xenfsimage/ufs/fsimage.so
+lib/xenfsimage/xfs/fsimage.so
+lib/xenfsimage/zfs/fsimage.so
+libexec/xen/bin/convert-legacy-stream
+libexec/xen/bin/libxl-save-helper
+libexec/xen/bin/lsevtchn
+libexec/xen/bin/pygrub
+libexec/xen/bin/qemu-dm
+libexec/xen/bin/qemu-edid
+libexec/xen/bin/qemu-img
+libexec/xen/bin/qemu-io
+libexec/xen/bin/qemu-nbd
+libexec/xen/bin/qemu-storage-daemon
+libexec/xen/bin/qemu-system-i386
+libexec/xen/bin/readnotes
+libexec/xen/bin/verify-stream-v2
+libexec/xen/bin/xen-init-dom0
+libexec/xen/bin/xenconsole
+libexec/xen/bin/xenctx
+libexec/xen/bin/xenpaging
+libexec/xen/bin/xenpvnetboot
+libexec/xen/boot/hvmloader
+libexec/xen/boot/ipxe.bin
+libexec/xen/boot/seabios.bin
+libexec/xen/boot/xen-shim
+man/man1/xenhypfs.1
+man/man1/xenstore-chmod.1
+man/man1/xenstore-ls.1
+man/man1/xenstore-read.1
+man/man1/xenstore-write.1
+man/man1/xenstore.1
+man/man1/xentop.1
+man/man1/xentrace_format.1
+man/man1/xl.1
+man/man5/xl-disk-configuration.5
+man/man5/xl-network-configuration.5
+man/man5/xl-pci-configuration.5
+man/man5/xl.cfg.5
+man/man5/xl.conf.5
+man/man5/xlcpupool.cfg.5
+man/man7/xen-pci-device-reservations.7
+man/man7/xen-pv-channel.7
+man/man7/xen-tscmode.7
+man/man7/xen-vtpm.7
+man/man7/xen-vtpmmgr.7
+man/man7/xl-numa-placement.7
+man/man8/xentrace.8
+sbin/flask-get-bool
+sbin/flask-getenforce
+sbin/flask-label-pci
+sbin/flask-loadpolicy
+sbin/flask-set-bool
+sbin/flask-setenforce
+sbin/gdbsx
+sbin/oxenstored
+sbin/xen-access
+sbin/xen-diag
+sbin/xen-hptool
+sbin/xen-hvmcrash
+sbin/xen-hvmctx
+sbin/xen-kdd
+sbin/xen-livepatch
+sbin/xen-lowmemd
+sbin/xen-memshare
+sbin/xen-mfndump
+sbin/xen-ucode
+sbin/xenbaked
+sbin/xenconsoled
+sbin/xencov
+sbin/xenhypfs
+sbin/xenlockprof
+sbin/xenmon
+sbin/xenperf
+sbin/xenpm
+sbin/xenpmd
+sbin/xenstored
+sbin/xentop
+sbin/xentrace
+sbin/xentrace_setmask
+sbin/xentrace_setsize
+sbin/xenwatchdogd
+sbin/xl
+share/doc/xen/html/hypercall/arm/.deps
+share/doc/xen/html/hypercall/arm/include,public,arch-arm,hvm,save.h.html
+share/doc/xen/html/hypercall/arm/include,public,arch-arm,smccc.h.html
+share/doc/xen/html/hypercall/arm/include,public,arch-arm.h.html
+share/doc/xen/html/hypercall/arm/include,public,argo.h.html
+share/doc/xen/html/hypercall/arm/include,public,callback.h.html
+share/doc/xen/html/hypercall/arm/include,public,device_tree_defs.h.html
+share/doc/xen/html/hypercall/arm/include,public,dom0_ops.h.html
+share/doc/xen/html/hypercall/arm/include,public,domctl.h.html
+share/doc/xen/html/hypercall/arm/include,public,elfnote.h.html
+share/doc/xen/html/hypercall/arm/include,public,errno.h.html
+share/doc/xen/html/hypercall/arm/include,public,event_channel.h.html
+share/doc/xen/html/hypercall/arm/include,public,features.h.html
+share/doc/xen/html/hypercall/arm/include,public,grant_table.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,dm_op.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,e820.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,hvm_info_table.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,hvm_op.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,hvm_vcpu.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,hvm_xs_strings.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,ioreq.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,params.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,pvdrivers.h.html
+share/doc/xen/html/hypercall/arm/include,public,hvm,save.h.html
+share/doc/xen/html/hypercall/arm/include,public,hypfs.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,9pfs.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,blkif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,cameraif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,console.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,displif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,fbif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,fsif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,kbdif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,libxenvchan.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,netif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,pciif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,protocols.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,pvcalls.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,ring.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,sndif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,tpmif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,usbif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,vscsiif.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,xenbus.h.html
+share/doc/xen/html/hypercall/arm/include,public,io,xs_wire.h.html
+share/doc/xen/html/hypercall/arm/include,public,kexec.h.html
+share/doc/xen/html/hypercall/arm/include,public,memory.h.html
+share/doc/xen/html/hypercall/arm/include,public,nmi.h.html
+share/doc/xen/html/hypercall/arm/include,public,physdev.h.html
+share/doc/xen/html/hypercall/arm/include,public,platform.h.html
+share/doc/xen/html/hypercall/arm/include,public,pmu.h.html
+share/doc/xen/html/hypercall/arm/include,public,sched.h.html
+share/doc/xen/html/hypercall/arm/include,public,sysctl.h.html
+share/doc/xen/html/hypercall/arm/include,public,tmem.h.html
+share/doc/xen/html/hypercall/arm/include,public,trace.h.html
+share/doc/xen/html/hypercall/arm/include,public,vcpu.h.html
+share/doc/xen/html/hypercall/arm/include,public,version.h.html
+share/doc/xen/html/hypercall/arm/include,public,vm_event.h.html
+share/doc/xen/html/hypercall/arm/include,public,xen-compat.h.html
+share/doc/xen/html/hypercall/arm/include,public,xen.h.html
+share/doc/xen/html/hypercall/arm/include,public,xencomm.h.html
+share/doc/xen/html/hypercall/arm/include,public,xenoprof.h.html
+share/doc/xen/html/hypercall/arm/include,public,xsm,flask_op.h.html
+share/doc/xen/html/hypercall/arm/include,xen,errno.h.html
+share/doc/xen/html/hypercall/arm/index.html
+share/doc/xen/html/hypercall/index.html
+share/doc/xen/html/hypercall/x86_32/.deps
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,cpufeatureset.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,cpuid.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,hvm,save.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,hvm,start_info.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,pmu.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,xen-mca.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,xen-x86_32.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86,xen.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,arch-x86_32.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,argo.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,callback.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,device_tree_defs.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,dom0_ops.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,domctl.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,elfnote.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,errno.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,event_channel.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,features.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,grant_table.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,dm_op.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,e820.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,hvm_info_table.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,hvm_op.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,hvm_vcpu.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,hvm_xs_strings.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,ioreq.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,params.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,pvdrivers.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hvm,save.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,hypfs.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,9pfs.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,blkif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,cameraif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,console.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,displif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,fbif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,fsif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,kbdif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,libxenvchan.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,netif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,pciif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,protocols.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,pvcalls.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,ring.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,sndif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,tpmif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,usbif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,vscsiif.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,xenbus.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,io,xs_wire.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,kexec.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,memory.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,nmi.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,physdev.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,platform.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,pmu.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,sched.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,sysctl.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,tmem.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,trace.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,vcpu.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,version.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,vm_event.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,xen-compat.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,xen.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,xencomm.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,xenoprof.h.html
+share/doc/xen/html/hypercall/x86_32/include,public,xsm,flask_op.h.html
+share/doc/xen/html/hypercall/x86_32/include,xen,errno.h.html
+share/doc/xen/html/hypercall/x86_32/index.html
+share/doc/xen/html/hypercall/x86_64/.deps
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,cpufeatureset.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,cpuid.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,hvm,save.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,hvm,start_info.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,pmu.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,xen-mca.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,xen-x86_64.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86,xen.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,arch-x86_64.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,argo.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,callback.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,device_tree_defs.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,dom0_ops.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,domctl.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,elfnote.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,errno.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,event_channel.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,features.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,grant_table.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,dm_op.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,e820.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,hvm_info_table.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,hvm_op.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,hvm_vcpu.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,hvm_xs_strings.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,ioreq.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,params.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,pvdrivers.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hvm,save.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,hypfs.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,9pfs.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,blkif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,cameraif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,console.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,displif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,fbif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,fsif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,kbdif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,libxenvchan.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,netif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,pciif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,protocols.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,pvcalls.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,ring.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,sndif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,tpmif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,usbif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,vscsiif.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,xenbus.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,io,xs_wire.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,kexec.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,memory.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,nmi.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,physdev.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,platform.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,pmu.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,sched.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,sysctl.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,tmem.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,trace.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,vcpu.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,version.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,vm_event.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,xen-compat.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,xen.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,xencomm.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,xenoprof.h.html
+share/doc/xen/html/hypercall/x86_64/include,public,xsm,flask_op.h.html
+share/doc/xen/html/hypercall/x86_64/include,xen,errno.h.html
+share/doc/xen/html/hypercall/x86_64/index.html
+share/doc/xen/html/index.html
+share/doc/xen/html/man/index.html
+share/doc/xen/html/man/xen-pci-device-reservations.7.html
+share/doc/xen/html/man/xen-pv-channel.7.html
+share/doc/xen/html/man/xen-tscmode.7.html
+share/doc/xen/html/man/xen-vtpm.7.html
+share/doc/xen/html/man/xen-vtpmmgr.7.html
+share/doc/xen/html/man/xenhypfs.1.html
+share/doc/xen/html/man/xenstore-chmod.1.html
+share/doc/xen/html/man/xenstore-ls.1.html
+share/doc/xen/html/man/xenstore-read.1.html
+share/doc/xen/html/man/xenstore-write.1.html
+share/doc/xen/html/man/xenstore.1.html
+share/doc/xen/html/man/xentop.1.html
+share/doc/xen/html/man/xentrace.8.html
+share/doc/xen/html/man/xentrace_format.1.html
+share/doc/xen/html/man/xl-disk-configuration.5.html
+share/doc/xen/html/man/xl-network-configuration.5.html
+share/doc/xen/html/man/xl-numa-placement.7.html
+share/doc/xen/html/man/xl-pci-configuration.5.html
+share/doc/xen/html/man/xl.1.html
+share/doc/xen/html/man/xl.cfg.5.html
+share/doc/xen/html/man/xl.conf.5.html
+share/doc/xen/html/man/xlcpupool.cfg.5.html
+share/doc/xen/html/misc/amd-ucode-container.txt
+share/doc/xen/html/misc/arm/big.LITTLE.txt
+share/doc/xen/html/misc/arm/booting.txt
+share/doc/xen/html/misc/arm/device-tree/acpi.txt
+share/doc/xen/html/misc/arm/device-tree/booting.txt
+share/doc/xen/html/misc/arm/device-tree/guest.txt
+share/doc/xen/html/misc/arm/device-tree/index.html
+share/doc/xen/html/misc/arm/device-tree/passthrough.txt
+share/doc/xen/html/misc/arm/early-printk.txt
+share/doc/xen/html/misc/arm/index.html
+share/doc/xen/html/misc/arm/passthrough.txt
+share/doc/xen/html/misc/arm/silicon-errata.txt
+share/doc/xen/html/misc/block-scripts.txt
+share/doc/xen/html/misc/console.txt
+share/doc/xen/html/misc/crashdb.txt
+share/doc/xen/html/misc/distro_mapping.txt
+share/doc/xen/html/misc/dump-core-format.txt
+share/doc/xen/html/misc/grant-tables.txt
+share/doc/xen/html/misc/index.html
+share/doc/xen/html/misc/kexec_and_kdump.txt
+share/doc/xen/html/misc/libxl_memory.txt
+share/doc/xen/html/misc/printk-formats.txt
+share/doc/xen/html/misc/qemu-backends.txt
+share/doc/xen/html/misc/stubdom.txt
+share/doc/xen/html/misc/vtd-pi.txt
+share/doc/xen/html/misc/vtd.txt
+share/doc/xen/html/misc/vtpm-platforms.txt
+share/doc/xen/html/misc/xen-error-handling.txt
+share/doc/xen/html/misc/xenmon.txt
+share/doc/xen/html/misc/xenpaging.txt
+share/doc/xen/html/misc/xenstore-ring.txt
+share/doc/xen/html/misc/xenstore.txt
+share/doc/xen/html/misc/xsm-flask.txt
+share/examples/xen/README
+share/examples/xen/cpupool
+share/examples/xen/oxenstored.conf
+share/examples/xen/scripts/block
+share/examples/xen/scripts/hotplugpath.sh
+share/examples/xen/scripts/locking.sh
+share/examples/xen/scripts/qemu-ifup
+share/examples/xen/scripts/vif-bridge
+share/examples/xen/scripts/vif-ip
+share/examples/xen/xl.bash
+share/examples/xen/xl.conf
+share/examples/xen/xlexample.hvm
+share/examples/xen/xlexample.pvhlinux
+share/examples/xen/xlexample.pvlinux
+share/qemu-xen/applications/qemu.desktop
+share/qemu-xen/icons/hicolor/128x128/apps/qemu.png
+share/qemu-xen/icons/hicolor/16x16/apps/qemu.png
+share/qemu-xen/icons/hicolor/24x24/apps/qemu.png
+share/qemu-xen/icons/hicolor/256x256/apps/qemu.png
+share/qemu-xen/icons/hicolor/32x32/apps/qemu.bmp
+share/qemu-xen/icons/hicolor/32x32/apps/qemu.png
+share/qemu-xen/icons/hicolor/48x48/apps/qemu.png
+share/qemu-xen/icons/hicolor/512x512/apps/qemu.png
+share/qemu-xen/icons/hicolor/64x64/apps/qemu.png
+share/qemu-xen/icons/hicolor/scalable/apps/qemu.svg
+share/qemu-xen/qemu/QEMU,cgthree.bin
+share/qemu-xen/qemu/QEMU,tcx.bin
+share/qemu-xen/qemu/bamboo.dtb
+share/qemu-xen/qemu/bios-256k.bin
+share/qemu-xen/qemu/bios-microvm.bin
+share/qemu-xen/qemu/bios.bin
+share/qemu-xen/qemu/canyonlands.dtb
+share/qemu-xen/qemu/edk2-aarch64-code.fd
+share/qemu-xen/qemu/edk2-arm-code.fd
+share/qemu-xen/qemu/edk2-arm-vars.fd
+share/qemu-xen/qemu/edk2-i386-code.fd
+share/qemu-xen/qemu/edk2-i386-secure-code.fd
+share/qemu-xen/qemu/edk2-i386-vars.fd
+share/qemu-xen/qemu/edk2-licenses.txt
+share/qemu-xen/qemu/edk2-x86_64-code.fd
+share/qemu-xen/qemu/edk2-x86_64-secure-code.fd
+share/qemu-xen/qemu/efi-e1000.rom
+share/qemu-xen/qemu/efi-e1000e.rom
+share/qemu-xen/qemu/efi-eepro100.rom
+share/qemu-xen/qemu/efi-ne2k_pci.rom
+share/qemu-xen/qemu/efi-pcnet.rom
+share/qemu-xen/qemu/efi-rtl8139.rom
+share/qemu-xen/qemu/efi-virtio.rom
+share/qemu-xen/qemu/efi-vmxnet3.rom
+share/qemu-xen/qemu/firmware/50-edk2-i386-secure.json
+share/qemu-xen/qemu/firmware/50-edk2-x86_64-secure.json
+share/qemu-xen/qemu/firmware/60-edk2-aarch64.json
+share/qemu-xen/qemu/firmware/60-edk2-arm.json
+share/qemu-xen/qemu/firmware/60-edk2-i386.json
+share/qemu-xen/qemu/firmware/60-edk2-x86_64.json
+share/qemu-xen/qemu/hppa-firmware.img
+share/qemu-xen/qemu/keymaps/ar
+share/qemu-xen/qemu/keymaps/bepo
+share/qemu-xen/qemu/keymaps/cz
+share/qemu-xen/qemu/keymaps/da
+share/qemu-xen/qemu/keymaps/de
+share/qemu-xen/qemu/keymaps/de-ch
+share/qemu-xen/qemu/keymaps/en-gb
+share/qemu-xen/qemu/keymaps/en-us
+share/qemu-xen/qemu/keymaps/es
+share/qemu-xen/qemu/keymaps/et
+share/qemu-xen/qemu/keymaps/fi
+share/qemu-xen/qemu/keymaps/fo
+share/qemu-xen/qemu/keymaps/fr
+share/qemu-xen/qemu/keymaps/fr-be
+share/qemu-xen/qemu/keymaps/fr-ca
+share/qemu-xen/qemu/keymaps/fr-ch
+share/qemu-xen/qemu/keymaps/hr
+share/qemu-xen/qemu/keymaps/hu
+share/qemu-xen/qemu/keymaps/is
+share/qemu-xen/qemu/keymaps/it
+share/qemu-xen/qemu/keymaps/ja
+share/qemu-xen/qemu/keymaps/lt
+share/qemu-xen/qemu/keymaps/lv
+share/qemu-xen/qemu/keymaps/mk
+share/qemu-xen/qemu/keymaps/nl
+share/qemu-xen/qemu/keymaps/no
+share/qemu-xen/qemu/keymaps/pl
+share/qemu-xen/qemu/keymaps/pt
+share/qemu-xen/qemu/keymaps/pt-br
+share/qemu-xen/qemu/keymaps/ru
+share/qemu-xen/qemu/keymaps/sl
+share/qemu-xen/qemu/keymaps/sv
+share/qemu-xen/qemu/keymaps/th
+share/qemu-xen/qemu/keymaps/tr
+share/qemu-xen/qemu/kvmvapic.bin
+share/qemu-xen/qemu/linuxboot.bin
+share/qemu-xen/qemu/linuxboot_dma.bin
+share/qemu-xen/qemu/multiboot.bin
+share/qemu-xen/qemu/openbios-ppc
+share/qemu-xen/qemu/openbios-sparc32
+share/qemu-xen/qemu/openbios-sparc64
+share/qemu-xen/qemu/opensbi-riscv32-sifive_u-fw_jump.bin
+share/qemu-xen/qemu/opensbi-riscv32-virt-fw_jump.bin
+share/qemu-xen/qemu/opensbi-riscv64-sifive_u-fw_jump.bin
+share/qemu-xen/qemu/opensbi-riscv64-virt-fw_jump.bin
+share/qemu-xen/qemu/palcode-clipper
+share/qemu-xen/qemu/petalogix-ml605.dtb
+share/qemu-xen/qemu/petalogix-s3adsp1800.dtb
+share/qemu-xen/qemu/pvh.bin
+share/qemu-xen/qemu/pxe-e1000.rom
+share/qemu-xen/qemu/pxe-eepro100.rom
+share/qemu-xen/qemu/pxe-ne2k_pci.rom
+share/qemu-xen/qemu/pxe-pcnet.rom
+share/qemu-xen/qemu/pxe-rtl8139.rom
+share/qemu-xen/qemu/pxe-virtio.rom
+share/qemu-xen/qemu/qemu-nsis.bmp
+share/qemu-xen/qemu/qemu_vga.ndrv
+share/qemu-xen/qemu/s390-ccw.img
+share/qemu-xen/qemu/s390-netboot.img
+share/qemu-xen/qemu/sgabios.bin
+share/qemu-xen/qemu/skiboot.lid
+share/qemu-xen/qemu/slof.bin
+share/qemu-xen/qemu/trace-events-all
+share/qemu-xen/qemu/u-boot-sam460-20100605.bin
+share/qemu-xen/qemu/u-boot.e500
+share/qemu-xen/qemu/vgabios-ati.bin
+share/qemu-xen/qemu/vgabios-bochs-display.bin
+share/qemu-xen/qemu/vgabios-cirrus.bin
+share/qemu-xen/qemu/vgabios-qxl.bin
+share/qemu-xen/qemu/vgabios-ramfb.bin
+share/qemu-xen/qemu/vgabios-stdvga.bin
+share/qemu-xen/qemu/vgabios-virtio.bin
+share/qemu-xen/qemu/vgabios-vmware.bin
+share/qemu-xen/qemu/vgabios.bin
+share/xen/qemu/bamboo.dtb
+share/xen/qemu/bios.bin
+share/xen/qemu/keymaps/ar
+share/xen/qemu/keymaps/common
+share/xen/qemu/keymaps/da
+share/xen/qemu/keymaps/de
+share/xen/qemu/keymaps/de-ch
+share/xen/qemu/keymaps/en-gb
+share/xen/qemu/keymaps/en-us
+share/xen/qemu/keymaps/es
+share/xen/qemu/keymaps/et
+share/xen/qemu/keymaps/fi
+share/xen/qemu/keymaps/fo
+share/xen/qemu/keymaps/fr
+share/xen/qemu/keymaps/fr-be
+share/xen/qemu/keymaps/fr-ca
+share/xen/qemu/keymaps/fr-ch
+share/xen/qemu/keymaps/hr
+share/xen/qemu/keymaps/hu
+share/xen/qemu/keymaps/is
+share/xen/qemu/keymaps/it
+share/xen/qemu/keymaps/ja
+share/xen/qemu/keymaps/lt
+share/xen/qemu/keymaps/lv
+share/xen/qemu/keymaps/mk
+share/xen/qemu/keymaps/modifiers
+share/xen/qemu/keymaps/nl
+share/xen/qemu/keymaps/nl-be
+share/xen/qemu/keymaps/no
+share/xen/qemu/keymaps/pl
+share/xen/qemu/keymaps/pt
+share/xen/qemu/keymaps/pt-br
+share/xen/qemu/keymaps/ru
+share/xen/qemu/keymaps/sl
+share/xen/qemu/keymaps/sv
+share/xen/qemu/keymaps/th
+share/xen/qemu/keymaps/tr
+share/xen/qemu/openbios-ppc
+share/xen/qemu/openbios-sparc32
+share/xen/qemu/openbios-sparc64
+share/xen/qemu/ppc_rom.bin
+share/xen/qemu/pxe-e1000.bin
+share/xen/qemu/pxe-ne2k_pci.bin
+share/xen/qemu/pxe-pcnet.bin
+share/xen/qemu/pxe-rtl8139.bin
+share/xen/qemu/vgabios-cirrus.bin
+share/xen/qemu/vgabios.bin
+share/xen/qemu/video.x
+@pkgdir share/examples/xen/auto
diff --git a/sysutils/xentools415/distinfo b/sysutils/xentools415/distinfo
new file mode 100644
index 00000000000..b66817d48ed
--- /dev/null
+++ b/sysutils/xentools415/distinfo
@@ -0,0 +1,72 @@
+$NetBSD: distinfo,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+SHA1 (xen415/ipxe-988d2c13cdf0f0b4140685af35ced70ac5b3283c.tar.gz) = 062f21086b853150eddb8cbae31f3f65b9df5520
+RMD160 (xen415/ipxe-988d2c13cdf0f0b4140685af35ced70ac5b3283c.tar.gz) = accba07024249a41f62731e4ff9f0dd9b45a7345
+SHA512 (xen415/ipxe-988d2c13cdf0f0b4140685af35ced70ac5b3283c.tar.gz) = d888e0e653727ee9895fa866d8895e6d23a568b4e9e8439db4c4d790996700c60b0655e3a3129e599736ec2b4f7b987ce79d625ba208f06665fced8bddf94403
+Size (xen415/ipxe-988d2c13cdf0f0b4140685af35ced70ac5b3283c.tar.gz) = 3937560 bytes
+SHA1 (xen415/seabios-1.14.0.tar.gz) = 254e4de7194932fc55afea9237cfa7822895bfb6
+RMD160 (xen415/seabios-1.14.0.tar.gz) = deb7b18529820fa03fb892c0d338a5293a17e32b
+SHA512 (xen415/seabios-1.14.0.tar.gz) = f282175484c99488f4349ff4d3af9a74d96df3e8dcbe679fcea5b8b559f95f600756939d99d6e61dabace206d3d9ccefdc8fa2bc7709d34d6a0dc085d6c79238
+Size (xen415/seabios-1.14.0.tar.gz) = 628981 bytes
+SHA1 (xen415/xen-4.15.0.tar.gz) = 4ea99cf3063db822dfbaf971bf8e9d50828d485a
+RMD160 (xen415/xen-4.15.0.tar.gz) = e314791e29244da385e482166776641929babad3
+SHA512 (xen415/xen-4.15.0.tar.gz) = 93683b8a97387ca5f003c635a11d163e61c87dbdc9a03081f9155fe87b49f1dfa74ce243fcd5e04dc009353a36e2375b786f1ebde828b5951a094cd64197b4c7
+Size (xen415/xen-4.15.0.tar.gz) = 40785399 bytes
+SHA1 (patch-.._seabios-rel-1.14.0_src_string.c) = 87e2e28fe47c196e74fea073c7e7f7d03990fbe3
+SHA1 (patch-Config.mk) = d108a1743b5b5313d3ea957b02a005b49f5b3bf6
+SHA1 (patch-Makefile) = 6c580cbea532d08a38cf5e54228bd0210a98da21
+SHA1 (patch-docs_man_xl.1.pod.in) = 280a3717b9f15578d90f85392249ef97844b6765
+SHA1 (patch-docs_man_xl.cfg.5.pod.in) = 5970961552f29c4536a884161a208a27a20dccf4
+SHA1 (patch-docs_man_xlcpupool.cfg.5.pod) = ab3a2529cd10458948557fd7ab032e80df8b1d81
+SHA1 (patch-docs_misc_block-scripts.txt) = 29a49edc4d15c4c8db822fd1d6356d07aeb27b86
+SHA1 (patch-docs_misc_vtd.txt) = 26c12a3023315f35a6f59b6715b811c989c67680
+SHA1 (patch-tools_Makefile) = 65dcdf590339717db22fd89fadab3aaa68d9b6a4
+SHA1 (patch-tools_configure) = 93cb52d3d650aa9b04b4eb0a00f8fa51c46b81ce
+SHA1 (patch-tools_console_daemon_utils.c) = ea0f66a3edbf6cb643580d0fae190064c0cbf0e0
+SHA1 (patch-tools_examples_Makefile) = d43095ab76444fd16a6f63b93fc68606452fb893
+SHA1 (patch-tools_firmware_Makefile) = e3394f66acc09f166cf2ba5e66b9dc3fdedbbabf
+SHA1 (patch-tools_firmware_etherboot_Makefile) = 61741d59c72430d53682ea83deed91ee4ff3d220
+SHA1 (patch-tools_hotplug_NetBSD_Makefile) = c032af025b18e888019247c47016dcf649c4f391
+SHA1 (patch-tools_hotplug_common_Makefile) = 590186dfb31713e8d9ee675186f826bcbcba3c15
+SHA1 (patch-tools_include_xen-sys_NetBSD_evtchn.h) = b22184d6bdde315994635e12f96e993e1c47c1f4
+SHA1 (patch-tools_include_xen-sys_NetBSD_privcmd.h) = b47ef90b0e823b270c491b9206ae10b9f230971d
+SHA1 (patch-tools_libs_ctrl_Makefile) = e377e34e6f719b7433888eee94dba2ec264120bf
+SHA1 (patch-tools_libs_libs.mk) = 29b0faa8293d3579d67205505ea251edff1bd688
+SHA1 (patch-tools_libs_light_libxl.c) = 354079709784ea8534929e65c61c3dcf54f2cce9
+SHA1 (patch-tools_libs_light_libxl_pci.c) = 6a88ebe073f7abed25a3763fc039084239a7c29c
+SHA1 (patch-tools_libs_util_libxlu_pci.c) = 60af75fe9356b91c63ecc82bf1be00d17a9e8989
+SHA1 (patch-tools_libs_xenstore_xenstored_control.c) = 3ddd7db4e11573bb749f9317022e778f491e44a0
+SHA1 (patch-tools_libxl_libxl_dom.c) = 4aa62de9adbc1eb659ba22d03e3fed42619e5a21
+SHA1 (patch-tools_libxl_libxl_event.c) = 9446c88d01b419cc7531b6f6d959816410e74024
+SHA1 (patch-tools_libxl_libxl_internal.h) = abcfaec70521b3ada6b4eae743119c24f141ea8f
+SHA1 (patch-tools_misc_xenhypfs.c) = 2e5919e33f8027777a84bfc380071e54c8e7b807
+SHA1 (patch-tools_ocaml_common.make) = 305994b93fe29fb42e4aa57e19a039abef4e76fe
+SHA1 (patch-tools_ocaml_xenstored_Makefile) = b267702cf4090c7b45bba530e60327fced24e3e5
+SHA1 (patch-tools_ocaml_xenstored_utils.ml) = dcb2a0a90cc74b10d71fe01b8ca48c08a7dd4715
+SHA1 (patch-tools_pygrub_Makefile) = 8149759d17e1d22fbf182e18617b8aa7f0e830fc
+SHA1 (patch-tools_python_Makefile) = 92706e044b1933d6699aab5e4fa89e53b83f23dd
+SHA1 (patch-tools_qemu-xen-traditional_Makefile) = 5fbb55bf84f9856043be301d5d06530190fe9a60
+SHA1 (patch-tools_qemu-xen-traditional_block-raw-posix.c) = eb3efea4b0c7fd744f627f1926fca737ba826b99
+SHA1 (patch-tools_qemu-xen-traditional_configure) = 6a42dcac010f90439a347c0f6e886b07185cb19a
+SHA1 (patch-tools_qemu-xen-traditional_hw_e1000.c) = ec86584529cc743ea27768ad1fab523ee9fb6bea
+SHA1 (patch-tools_qemu-xen-traditional_hw_ide.c) = b541546390c6d142bc6079dbd51cfd65b5223e9e
+SHA1 (patch-tools_qemu-xen-traditional_hw_pass-through.c) = 45848fb5038bdd6def218b35dd0a6496a14102f1
+SHA1 (patch-tools_qemu-xen-traditional_hw_pass-through.h) = 6edb7a9a03d99b84801bf595c4d68acbc361bb4b
+SHA1 (patch-tools_qemu-xen-traditional_hw_piix4acpi.c) = 280265db035e239b173efd9d63b629201d2c0cfa
+SHA1 (patch-tools_qemu-xen-traditional_hw_pt-graphics.c) = b9c18042f40ccacb3f24ab0f1e3c6e1a5bf5521a
+SHA1 (patch-tools_qemu-xen-traditional_hw_pt-msi.c) = a953380dbc3e64528c39e26d2c45c0cbd3e4d738
+SHA1 (patch-tools_qemu-xen-traditional_hw_pt-msi.h) = 787447cc24518fe5ae16942d72d3038db612419d
+SHA1 (patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak) = 3fdfbb7c9c2243a4cf5dabc5a6dd13c12f9d5850
+SHA1 (patch-tools_qemu-xen-traditional_net.c) = 0999993172070db5dc8d7c7daaa4999a3edaadb8
+SHA1 (patch-tools_qemu-xen-traditional_xen-hooks.mak) = bc59cb87742036dfa75869572b21b58dd5a2c5ee
+SHA1 (patch-tools_qemu-xen_audio_audio.c) = a1c33d8df7a15515592d5978412d02683847cce5
+SHA1 (patch-tools_qemu-xen_configure) = 38eee924f66c226a09c2408312fc0f67d99d2b81
+SHA1 (patch-tools_qemu-xen_net_tap-bsd.c) = ac1ed72daeb051eae7352542630a9a02c99e485e
+SHA1 (patch-tools_qemu-xen_net_tap.c) = 53d8c1799136c412b775d7d02d72b1abc63f4dd3
+SHA1 (patch-tools_xenpaging_xenpaging.c) = 3ade1afeb17210632ca350cdbb649f30d4697493
+SHA1 (patch-tools_xenstore_xs_lib.c) = e3a8f6e3b149c3ab0f4ec8dcfa455983f94e6c16
+SHA1 (patch-tools_xl_Makefile) = 76f401d3f3dddb4fd48cf386494583db658e56b0
+SHA1 (patch-xen_Makefile) = fe7450f929aca11049c52c4fe53818441f1dc2ee
+SHA1 (patch-xen_Rules.mk) = c743dc63f51fc280d529a7d9e08650292c171dac
+SHA1 (patch-xen_arch_x86_Makefile) = 99db5e673e367f2a6c8c4fe776b3889cfb3372b1
+SHA1 (patch-xen_include_Makefile) = 71987b559a344b098b97e5a7439232ceda198798
diff --git a/sysutils/xentools415/patches/patch-.._seabios-rel-1.14.0_src_string.c b/sysutils/xentools415/patches/patch-.._seabios-rel-1.14.0_src_string.c
new file mode 100644
index 00000000000..fc5697bde69
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-.._seabios-rel-1.14.0_src_string.c
@@ -0,0 +1,18 @@
+$NetBSD: patch-.._seabios-rel-1.14.0_src_string.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+when the code is compiled -fwhole-program, memcpy() will be ommitted by gcc
+because nothing in the file references it. Later the link fails with
+undefined references to memcpy().
+Force the inclusion with (externally_visible) attribute
+
+--- ../seabios-rel-1.14.0/src/string.c.orig 2021-04-17 22:32:25.409876075 +0200
++++ ../seabios-rel-1.14.0/src/string.c 2021-04-17 22:32:39.873615679 +0200
+@@ -149,7 +149,7 @@
+ memcpy(d_fl, s_fl, len);
+ }
+
+-void *
++__attribute__((externally_visible)) void *
+ #undef memcpy
+ memcpy(void *d1, const void *s1, size_t len)
+ #if MODESEGMENT == 0
diff --git a/sysutils/xentools415/patches/patch-Config.mk b/sysutils/xentools415/patches/patch-Config.mk
new file mode 100644
index 00000000000..862659c614f
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-Config.mk
@@ -0,0 +1,34 @@
+$NetBSD: patch-Config.mk,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Make sure to pass pkgsrc CFLAGS.
+Use -R instead if -rpath, to appease our linker (--enable-rpath bug ?)
+
+--- Config.mk.orig 2020-12-08 15:28:31.000000000 +0100
++++ Config.mk 2020-12-14 11:48:10.669586105 +0100
+@@ -33,7 +33,7 @@
+
+ # Tools to run on system hosting the build
+ HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
+-HOSTCFLAGS += -fno-strict-aliasing
++HOSTCFLAGS += -fno-strict-aliasing ${EXTRA_HOSTCFLAGS}
+
+ DISTDIR ?= $(XEN_ROOT)/dist
+ DESTDIR ?= /
+@@ -188,6 +188,8 @@
+
+ CFLAGS += -Wall -Wstrict-prototypes
+
++CFLAGS += ${EXTRA_CFLAGS}
++
+ $(call cc-option-add,HOSTCFLAGS,HOSTCC,-Wdeclaration-after-statement)
+ $(call cc-option-add,CFLAGS,CC,-Wdeclaration-after-statement)
+ $(call cc-option-add,CFLAGS,CC,-Wno-unused-but-set-variable)
+@@ -198,7 +200,7 @@
+ LDFLAGS += $(foreach i, $(PREPEND_LIB), -L$(i))
+ CFLAGS += $(foreach i, $(PREPEND_INCLUDES), -I$(i))
+ ifeq ($(XEN_TOOLS_RPATH),y)
+-LDFLAGS += -Wl,-rpath,$(libdir)
++LDFLAGS += -Wl,-R$(libdir)
+ endif
+ APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i))
+ APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i))
diff --git a/sysutils/xentools415/patches/patch-Makefile b/sysutils/xentools415/patches/patch-Makefile
new file mode 100644
index 00000000000..9d7e14b856b
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-Makefile
@@ -0,0 +1,30 @@
+$NetBSD: patch-Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- Makefile.orig 2019-12-17 15:23:09.000000000 +0100
++++ Makefile 2020-05-08 20:05:12.875067651 +0200
+@@ -65,9 +65,9 @@
+ .PHONY: build-stubdom
+ build-stubdom: mini-os-dir build-tools-public-headers
+ $(MAKE) -C stubdom build
+-ifeq (x86_64,$(XEN_TARGET_ARCH))
+- XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom pv-grub
+-endif
++#ifeq (x86_64,$(XEN_TARGET_ARCH))
++# XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom pv-grub
++#endif
+
+ .PHONY: build-docs
+ build-docs:
+@@ -136,9 +136,9 @@
+ .PHONY: install-stubdom
+ install-stubdom: mini-os-dir install-tools
+ $(MAKE) -C stubdom install
+-ifeq (x86_64,$(XEN_TARGET_ARCH))
+- XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
+-endif
++#ifeq (x86_64,$(XEN_TARGET_ARCH))
++# XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
++#endif
+
+ .PHONY: tools/firmware/seabios-dir-force-update
+ tools/firmware/seabios-dir-force-update:
diff --git a/sysutils/xentools415/patches/patch-docs_man_xl.1.pod.in b/sysutils/xentools415/patches/patch-docs_man_xl.1.pod.in
new file mode 100644
index 00000000000..a6603361df0
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-docs_man_xl.1.pod.in
@@ -0,0 +1,17 @@
+$NetBSD: patch-docs_man_xl.1.pod.in,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- docs/man/xl.1.pod.in.orig 2021-04-06 19:14:18.000000000 +0200
++++ docs/man/xl.1.pod.in 2021-04-17 13:34:37.085288645 +0200
+@@ -33,10 +33,10 @@
+
+ =over 4
+
+-=item start the script B</etc/init.d/xencommons> at boot time
++=item start the script B</etc/rc.d/xencommons> at boot time
+
+ Most B<xl> operations rely upon B<xenstored> and B<xenconsoled>: make
+-sure you start the script B</etc/init.d/xencommons> at boot time to
++sure you start the script B</etc/rc.d/xencommons> at boot time to
+ initialize all the daemons needed by B<xl>.
+
+ =item setup a B<xenbr0> bridge in dom0
diff --git a/sysutils/xentools415/patches/patch-docs_man_xl.cfg.5.pod.in b/sysutils/xentools415/patches/patch-docs_man_xl.cfg.5.pod.in
new file mode 100644
index 00000000000..130331138e8
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-docs_man_xl.cfg.5.pod.in
@@ -0,0 +1,29 @@
+$NetBSD: patch-docs_man_xl.cfg.5.pod.in,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- docs/man/xl.cfg.5.pod.in.orig 2018-04-17 19:21:31.000000000 +0200
++++ docs/man/xl.cfg.5.pod.in 2018-04-23 16:14:18.000000000 +0200
+@@ -4,13 +4,13 @@
+
+ =head1 SYNOPSIS
+
+- /etc/xen/xldomain
++ @XENDCONFDIR@/xldomain
+
+ =head1 DESCRIPTION
+
+ Creating a VM (a domain in Xen terminology, sometimes called a guest)
+ with xl requires the provision of a domain configuration file. Typically,
+-these live in F</etc/xen/DOMAIN.cfg>, where DOMAIN is the name of the
++these live in F<@XENDCONFDIR@/DOMAIN.cfg>, where DOMAIN is the name of the
+ domain.
+
+ =head1 SYNTAX
+@@ -2623,7 +2623,7 @@
+
+ =head1 FILES
+
+-F</etc/xen/NAME.cfg>
++F<@XENDCONFDIR@/NAME.cfg>
+ F<@XEN_DUMP_DIR@/NAME>
+
+ =head1 BUGS
diff --git a/sysutils/xentools415/patches/patch-docs_man_xlcpupool.cfg.5.pod b/sysutils/xentools415/patches/patch-docs_man_xlcpupool.cfg.5.pod
new file mode 100644
index 00000000000..166e01cc64f
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-docs_man_xlcpupool.cfg.5.pod
@@ -0,0 +1,28 @@
+$NetBSD: patch-docs_man_xlcpupool.cfg.5.pod,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- docs/man/xlcpupool.cfg.5.pod.orig 2017-03-24 17:41:23.000000000 +0100
++++ docs/man/xlcpupool.cfg.5.pod 2017-03-24 17:41:50.000000000 +0100
+@@ -4,12 +4,12 @@
+
+ =head1 SYNOPSIS
+
+- /etc/xen/xlcpupool
++ @XENDCONFDIR@/xlcpupool
+
+ =head1 DESCRIPTION
+
+ To create a Cpupool with xl requires the provision of a cpupool config
+-file. Typically these live in `/etc/xen/CPUPOOL.cfg` where CPUPOOL is
++file. Typically these live in `@XENDCONFDIR@/CPUPOOL.cfg` where CPUPOOL is
+ the name of the cpupool.
+
+ =head1 SYNTAX
+@@ -117,7 +117,7 @@
+
+ =head1 FILES
+
+-F</etc/xen/CPUPOOL.cfg>
++F<@XENDCONFDIR@/CPUPOOL.cfg>
+
+ =head1 BUGS
+
diff --git a/sysutils/xentools415/patches/patch-docs_misc_block-scripts.txt b/sysutils/xentools415/patches/patch-docs_misc_block-scripts.txt
new file mode 100644
index 00000000000..206dde1dd65
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-docs_misc_block-scripts.txt
@@ -0,0 +1,13 @@
+$NetBSD: patch-docs_misc_block-scripts.txt,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- ./docs/misc/block-scripts.txt.orig 2018-04-23 16:23:34.000000000 +0200
++++ ./docs/misc/block-scripts.txt 2018-04-23 16:23:39.000000000 +0200
+@@ -18,7 +18,7 @@
+
+ It is highly recommended that custom hotplug scripts as much as
+ possible include and use the common Xen functionality. If the script
+-is run from the normal block script location (/etc/xen/scripts by
++is run from the normal block script location (@XENDCONFDIR@/scripts by
+ default), then this can be done by adding the following to the top of
+ the script:
+
diff --git a/sysutils/xentools415/patches/patch-docs_misc_vtd.txt b/sysutils/xentools415/patches/patch-docs_misc_vtd.txt
new file mode 100644
index 00000000000..a210b4127f5
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-docs_misc_vtd.txt
@@ -0,0 +1,22 @@
+$NetBSD: patch-docs_misc_vtd.txt,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- docs/misc/vtd.txt.orig 2020-05-08 16:46:26.400241453 +0200
++++ docs/misc/vtd.txt 2020-05-08 16:46:50.253734556 +0200
+@@ -39,7 +39,7 @@
+ echo -n 0000:01:00.0 >/sys/bus/pci/drivers/pciback/bind
+
+ 12) reboot system (not requires if you use the dynamic hiding method)
+-13) add "pci" line in /etc/xen/hvm.conf for to assigned devices
++13) add "pci" line in @XENDCONFDIR@/hvm.conf for to assigned devices
+ pci = [ '01:00.0', '03:00.0' ]
+ 15) start hvm guest and use "lspci" to see the passthru device and
+ "ifconfig" to see if IP address has been assigned to NIC devices.
+@@ -77,7 +77,7 @@
+ echo "0000:01:00.0" > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
+ echo "0000:01:00.0" > /sys/bus/pci/drivers/pci-stub/bind
+
+-12) add "pci" line in /etc/xen/hvm.conf for to assigned devices
++12) add "pci" line in @XENDCONFDIR@/hvm.conf for to assigned devices
+ pci = [ '01:00.0' ]
+ 13) start hvm guest and use "lspci" to see the passthru device and
+ "ifconfig" to see if IP address has been assigned to NIC devices.
diff --git a/sysutils/xentools415/patches/patch-tools_Makefile b/sysutils/xentools415/patches/patch-tools_Makefile
new file mode 100644
index 00000000000..46bc4b717e9
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_Makefile
@@ -0,0 +1,21 @@
+$NetBSD: patch-tools_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/Makefile.orig 2020-12-08 15:50:17.000000000 +0100
++++ tools/Makefile 2020-12-09 15:44:35.415904040 +0100
+@@ -34,7 +34,7 @@
+ SUBDIRS-$(CONFIG_X86) += xenpaging
+ SUBDIRS-$(CONFIG_X86) += debugger/gdbsx
+ SUBDIRS-$(CONFIG_X86) += debugger/kdd
+-SUBDIRS-$(CONFIG_TESTS) += tests
++#XXX SUBDIRS-$(CONFIG_TESTS) += tests
+
+ SUBDIRS-y += python
+ SUBDIRS-y += pygrub
+@@ -247,6 +247,7 @@
+ --bindir=$(LIBEXEC_BIN) \
+ --datadir=$(SHAREDIR)/qemu-xen \
+ --localstatedir=$(localstatedir) \
++ --disable-opengl \
+ --docdir=$(LIBEXEC)/share/doc \
+ --mandir=$(LIBEXEC)/share/man \
+ --libexecdir=$(LIBEXEC)/libexec \
diff --git a/sysutils/xentools415/patches/patch-tools_configure b/sysutils/xentools415/patches/patch-tools_configure
new file mode 100644
index 00000000000..78ddfde7510
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_configure
@@ -0,0 +1,30 @@
+$NetBSD: patch-tools_configure,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/configure.orig 2020-12-08 15:54:42.000000000 +0100
++++ tools/configure 2020-12-09 15:47:21.690205178 +0100
+@@ -2444,7 +2444,7 @@
+
+
+
+-ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/xenstored/oxenstored.conf"
++ac_config_files="$ac_config_files ../config/Tools.mk ../config/Paths.mk hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/xenstored/oxenstored.conf"
+
+ ac_config_headers="$ac_config_headers config.h"
+
+@@ -3894,7 +3894,7 @@
+
+ if test "x$sysconfdir" = 'x${prefix}/etc' ; then
+ case "$host_os" in
+- *freebsd*)
++ *freebsd*|*netbsd*)
+ sysconfdir=$prefix/etc
+ ;;
+ *solaris*)
+@@ -10713,6 +10713,7 @@
+ do
+ case $ac_config_target in
+ "../config/Tools.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools.mk" ;;
++ "../config/Paths.mk") CONFIG_FILES="$CONFIG_FILES ../config/Paths.mk" ;;
+ "hotplug/FreeBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xencommons" ;;
+ "hotplug/FreeBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xendriverdomain" ;;
+ "hotplug/Linux/init.d/sysconfig.xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xencommons" ;;
diff --git a/sysutils/xentools415/patches/patch-tools_console_daemon_utils.c b/sysutils/xentools415/patches/patch-tools_console_daemon_utils.c
new file mode 100644
index 00000000000..71b497d94f9
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_console_daemon_utils.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-tools_console_daemon_utils.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/console/daemon/utils.c.orig 2020-12-08 15:28:31.000000000 +0100
++++ tools/console/daemon/utils.c 2020-12-09 16:22:49.947276738 +0100
+@@ -107,13 +107,15 @@
+ xs = xs_open(0);
+ if (xs == NULL) {
+ dolog(LOG_ERR,
+- "Failed to contact xenstore (%m). Is it running?");
++ "Failed to contact xenstore (%s). Is it running?",
++ strerror(errno));
+ goto out;
+ }
+
+ xc = xc_interface_open(0,0,0);
+ if (!xc) {
+- dolog(LOG_ERR, "Failed to contact hypervisor (%m)");
++ dolog(LOG_ERR, "Failed to contact hypervisor (%s)",
++ strerror(errno));
+ goto out;
+ }
+
diff --git a/sysutils/xentools415/patches/patch-tools_examples_Makefile b/sysutils/xentools415/patches/patch-tools_examples_Makefile
new file mode 100644
index 00000000000..bf7ab5115e2
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_examples_Makefile
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_examples_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/examples/Makefile.orig 2021-01-10 21:34:35.490019719 +0100
++++ tools/examples/Makefile 2021-01-10 21:35:00.852608954 +0100
+@@ -1,6 +1,7 @@
+ XEN_ROOT = $(CURDIR)/../..
+ include $(XEN_ROOT)/tools/Rules.mk
+
++XEN_CONFIG_DIR=${XEN_EXAMPLES_DIR}
+ # Xen configuration dir and configs to go there.
+ XEN_READMES = README
+
diff --git a/sysutils/xentools415/patches/patch-tools_firmware_Makefile b/sysutils/xentools415/patches/patch-tools_firmware_Makefile
new file mode 100644
index 00000000000..fb7ee1bf68f
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_firmware_Makefile
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_firmware_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/firmware/Makefile.orig 2020-05-14 14:19:32.000000000 +0200
++++ tools/firmware/Makefile 2020-08-26 19:39:04.950176746 +0200
+@@ -24,7 +24,7 @@
+ cp ovmf-makefile ovmf-dir/Makefile;
+
+ seabios-dir:
+- GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) $(SEABIOS_UPSTREAM_REVISION) seabios-dir
++ ln -sf ../../../seabios-rel-1.14.0 ${WRKSRC}/tools/firmware/seabios-dir
+ cp seabios-config seabios-dir/.config;
+ $(MAKE) -C seabios-dir olddefconfig CC=$(SEABIOSCC) LD=$(SEABIOSLD)
+ rm -f seabios-dir/.version
diff --git a/sysutils/xentools415/patches/patch-tools_firmware_etherboot_Makefile b/sysutils/xentools415/patches/patch-tools_firmware_etherboot_Makefile
new file mode 100644
index 00000000000..f425af7dea8
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_firmware_etherboot_Makefile
@@ -0,0 +1,26 @@
+$NetBSD: patch-tools_firmware_etherboot_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/firmware/etherboot/Makefile.orig 2019-12-17 15:23:09.000000000 +0100
++++ tools/firmware/etherboot/Makefile 2020-05-08 16:59:46.337172477 +0200
+@@ -32,18 +32,10 @@
+ %.rom: $D/src/arch/i386/Makefile
+ $(MAKE) -C $D/src bin/$(*F).rom
+
+-$T:
+- set -e; if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \
+- $(GIT) clone $(IPXE_GIT_URL) $D.git; \
+- (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \
+- $(IPXE_GIT_TAG) | gzip -n >../_$T); \
+- rm -rf $D.git; \
+- fi
+- mv _$T $T
++$D:
++ ln -sf $(WRKSRC)/../ipxe-${IPXE_GIT_TAG} $D
+
+-$D/src/arch/i386/Makefile: $T Config
+- rm -rf $D
+- gzip -dc $T | tar xf -
++$D/src/arch/i386/Makefile: $D Config
+ for i in $$(cat patches/series) ; do \
+ patch -d $D -p1 --quiet <patches/$$i || exit 1 ; \
+ done
diff --git a/sysutils/xentools415/patches/patch-tools_hotplug_NetBSD_Makefile b/sysutils/xentools415/patches/patch-tools_hotplug_NetBSD_Makefile
new file mode 100644
index 00000000000..262e559fbbd
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_hotplug_NetBSD_Makefile
@@ -0,0 +1,46 @@
+$NetBSD: patch-tools_hotplug_NetBSD_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/hotplug/NetBSD/Makefile.orig 2021-02-03 15:23:25.000000000 +0100
++++ tools/hotplug/NetBSD/Makefile 2021-02-03 15:28:32.949717159 +0100
+@@ -10,7 +10,7 @@
+ XEN_SCRIPTS += qemu-ifup
+
+ XEN_SCRIPT_DATA =
+-XEN_RCD_PROG = rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain
++#XEN_RCD_PROG = rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain
+
+ .PHONY: all
+ all:
+@@ -26,10 +26,11 @@
+
+ .PHONY: install-scripts
+ install-scripts:
+- $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
++ $(INSTALL_DIR) $(DESTDIR)$(XEN_EXAMPLES_DIR)
++ $(INSTALL_DIR) $(DESTDIR)$(XEN_EXAMPLES_DIR)/scripts
+ set -e; for i in $(XEN_SCRIPTS); \
+ do \
+- $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
++ $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_EXAMPLES_DIR)/scripts; \
+ done
+ set -e; for i in $(XEN_SCRIPT_DATA); \
+ do \
+@@ -43,12 +44,12 @@
+
+ .PHONY: install-rcd
+ install-rcd:
+- $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
+- set -e; for i in $(XEN_RCD_PROG); \
+- do \
+- $(INSTALL_PROG) $$i $(DESTDIR)$(INITD_DIR); \
+- done
+- $(INSTALL_DATA) ../common/hotplugpath.sh $(DESTDIR)$(INITD_DIR)/xen-hotplugpath.sh
++# $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
++# set -e; for i in $(XEN_RCD_PROG); \
++# do \
++# $(INSTALL_PROG) $$i $(DESTDIR)$(INITD_DIR); \
++# done
++# $(INSTALL_DATA) ../common/hotplugpath.sh $(DESTDIR)$(INITD_DIR)/xen-hotplugpath.sh
+
+ .PHONY: uninstall-rcd
+ uninstall-rcd:
diff --git a/sysutils/xentools415/patches/patch-tools_hotplug_common_Makefile b/sysutils/xentools415/patches/patch-tools_hotplug_common_Makefile
new file mode 100644
index 00000000000..15d6cb37ce2
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_hotplug_common_Makefile
@@ -0,0 +1,24 @@
+$NetBSD: patch-tools_hotplug_common_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/hotplug/common/Makefile.orig 2018-04-17 19:21:31.000000000 +0200
++++ tools/hotplug/common/Makefile 2018-04-23 16:03:55.000000000 +0200
+@@ -26,15 +26,15 @@
+
+ .PHONY: install-scripts
+ install-scripts: build
+- [ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
+- $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
++ [ -d $(DESTDIR)${XEN_EXAMPLES_DIR}/scripts ] || \
++ $(INSTALL_DIR) $(DESTDIR)${XEN_EXAMPLES_DIR}/scripts
+ set -e; for i in $(XEN_SCRIPTS); \
+ do \
+- $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
++ $(INSTALL_PROG) $$i $(DESTDIR)${XEN_EXAMPLES_DIR}/scripts; \
+ done
+ set -e; for i in $(XEN_SCRIPT_DATA); \
+ do \
+- $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
++ $(INSTALL_DATA) $$i $(DESTDIR)${XEN_EXAMPLES_DIR}/scripts; \
+ done
+
+ .PHONY: uninstall-scripts
diff --git a/sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_evtchn.h b/sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_evtchn.h
new file mode 100644
index 00000000000..81dcda95053
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_evtchn.h
@@ -0,0 +1,96 @@
+$NetBSD: patch-tools_include_xen-sys_NetBSD_evtchn.h,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Use system-provided headers instead of local, outdated definitions
+
+--- tools/include/xen-sys/NetBSD/evtchn.h.orig 2021-04-17 13:48:20.754547947 +0200
++++ tools/include/xen-sys/NetBSD/evtchn.h 2021-04-17 13:51:39.136816295 +0200
+@@ -1,86 +1,3 @@
+-/* $NetBSD: patch-tools_include_xen-sys_NetBSD_evtchn.h,v 1.1 2021/04/18 12:31:26 bouyer Exp $ */
+-/******************************************************************************
+- * evtchn.h
+- *
+- * Interface to /dev/xen/evtchn.
+- *
+- * Copyright (c) 2003-2005, K A Fraser
+- *
+- * This file may be distributed separately from the Linux kernel, or
+- * incorporated into other software packages, subject to the following license:
+- *
+- * Permission is hereby granted, free of charge, to any person obtaining a copy
+- * of this source file (the "Software"), to deal in the Software without
+- * restriction, including without limitation the rights to use, copy, modify,
+- * merge, publish, distribute, sublicense, and/or sell copies of the Software,
+- * and to permit persons to whom the Software is furnished to do so, subject to
+- * the following conditions:
+- *
+- * The above copyright notice and this permission notice shall be included in
+- * all copies or substantial portions of the Software.
+- *
+- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+- * IN THE SOFTWARE.
+- */
+-
+-#ifndef __NetBSD_EVTCHN_H__
+-#define __NetBSD_EVTCHN_H__
+-
+-/*
+- * Bind a fresh port to VIRQ @virq.
+- */
+-#define IOCTL_EVTCHN_BIND_VIRQ \
+- _IOWR('E', 4, struct ioctl_evtchn_bind_virq)
+-struct ioctl_evtchn_bind_virq {
+- unsigned int virq;
+- unsigned int port;
+-};
+-
+-/*
+- * Bind a fresh port to remote <@remote_domain, @remote_port>.
+- */
+-#define IOCTL_EVTCHN_BIND_INTERDOMAIN \
+- _IOWR('E', 5, struct ioctl_evtchn_bind_interdomain)
+-struct ioctl_evtchn_bind_interdomain {
+- unsigned int remote_domain, remote_port;
+- unsigned int port;
+-};
+-
+-/*
+- * Allocate a fresh port for binding to @remote_domain.
+- */
+-#define IOCTL_EVTCHN_BIND_UNBOUND_PORT \
+- _IOWR('E', 6, struct ioctl_evtchn_bind_unbound_port)
+-struct ioctl_evtchn_bind_unbound_port {
+- unsigned int remote_domain;
+- unsigned int port;
+-};
+-
+-/*
+- * Unbind previously allocated @port.
+- */
+-#define IOCTL_EVTCHN_UNBIND \
+- _IOW('E', 7, struct ioctl_evtchn_unbind)
+-struct ioctl_evtchn_unbind {
+- unsigned int port;
+-};
+-
+-/*
+- * Send event to previously allocated @port.
+- */
+-#define IOCTL_EVTCHN_NOTIFY \
+- _IOW('E', 8, struct ioctl_evtchn_notify)
+-struct ioctl_evtchn_notify {
+- unsigned int port;
+-};
+-
+-/* Clear and reinitialise the event buffer. Clear error condition. */
+-#define IOCTL_EVTCHN_RESET \
+- _IO('E', 9)
+-
+-#endif /* __NetBSD_EVTCHN_H__ */
++/* use the system-provided headers */
++#include <xen/xenio.h>
++#include <xen/xenio3.h>
diff --git a/sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_privcmd.h b/sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_privcmd.h
new file mode 100644
index 00000000000..7f71ca3da8d
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_include_xen-sys_NetBSD_privcmd.h
@@ -0,0 +1,116 @@
+$NetBSD: patch-tools_include_xen-sys_NetBSD_privcmd.h,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Use system-provided headers instead of local, outdated definitions
+
+--- tools/include/xen-sys/NetBSD/privcmd.h.orig 2021-04-17 13:48:20.759557127 +0200
++++ tools/include/xen-sys/NetBSD/privcmd.h 2021-04-17 13:53:28.776879861 +0200
+@@ -1,106 +1,3 @@
+-/* NetBSD: xenio.h,v 1.3 2005/05/24 12:07:12 yamt Exp $ */
+-
+-/******************************************************************************
+- * privcmd.h
+- *
+- * Copyright (c) 2003-2004, K A Fraser
+- *
+- * This file may be distributed separately from the Linux kernel, or
+- * incorporated into other software packages, subject to the following license:
+- *
+- * Permission is hereby granted, free of charge, to any person obtaining a copy
+- * of this source file (the "Software"), to deal in the Software without
+- * restriction, including without limitation the rights to use, copy, modify,
+- * merge, publish, distribute, sublicense, and/or sell copies of the Software,
+- * and to permit persons to whom the Software is furnished to do so, subject to
+- * the following conditions:
+- *
+- * The above copyright notice and this permission notice shall be included in
+- * all copies or substantial portions of the Software.
+- *
+- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+- * IN THE SOFTWARE.
+- */
+-
+-#ifndef __NetBSD_PRIVCMD_H__
+-#define __NetBSD_PRIVCMD_H__
+-
+-/* Interface to /dev/xen/privcmd */
+-
+-typedef struct privcmd_hypercall
+-{
+- unsigned long op;
+- unsigned long arg[5];
+- long retval;
+-} privcmd_hypercall_t;
+-
+-typedef struct privcmd_mmap_entry {
+- unsigned long va;
+- unsigned long mfn;
+- unsigned long npages;
+-} privcmd_mmap_entry_t;
+-
+-typedef struct privcmd_mmap {
+- int num;
+- domid_t dom; /* target domain */
+- privcmd_mmap_entry_t *entry;
+-} privcmd_mmap_t;
+-
+-typedef struct privcmd_mmapbatch {
+- int num; /* number of pages to populate */
+- domid_t dom; /* target domain */
+- unsigned long addr; /* virtual address */
+- unsigned long *arr; /* array of mfns - top nibble set on err */
+-} privcmd_mmapbatch_t;
+-
+-typedef struct privcmd_blkmsg
+-{
+- unsigned long op;
+- void *buf;
+- int buf_size;
+-} privcmd_blkmsg_t;
+-
+-/*
+- * @cmd: IOCTL_PRIVCMD_HYPERCALL
+- * @arg: &privcmd_hypercall_t
+- * Return: Value returned from execution of the specified hypercall.
+- */
+-#define IOCTL_PRIVCMD_HYPERCALL \
+- _IOWR('P', 0, privcmd_hypercall_t)
+-
+-#if defined(_KERNEL)
+-/* compat */
+-#define IOCTL_PRIVCMD_INITDOMAIN_EVTCHN_OLD \
+- _IO('P', 1)
+-#endif /* defined(_KERNEL) */
+-
+-#define IOCTL_PRIVCMD_MMAP \
+- _IOW('P', 2, privcmd_mmap_t)
+-#define IOCTL_PRIVCMD_MMAPBATCH \
+- _IOW('P', 3, privcmd_mmapbatch_t)
+-#define IOCTL_PRIVCMD_GET_MACH2PHYS_START_MFN \
+- _IOR('P', 4, unsigned long)
+-
+-/*
+- * @cmd: IOCTL_PRIVCMD_INITDOMAIN_EVTCHN
+- * @arg: n/a
+- * Return: Port associated with domain-controller end of control event channel
+- * for the initial domain.
+- */
+-#define IOCTL_PRIVCMD_INITDOMAIN_EVTCHN \
+- _IOR('P', 5, int)
+-
+-/* Interface to /dev/xenevt */
+-/* EVTCHN_RESET: Clear and reinit the event buffer. Clear error condition. */
+-#define EVTCHN_RESET _IO('E', 1)
+-/* EVTCHN_BIND: Bind to the specified event-channel port. */
+-#define EVTCHN_BIND _IOW('E', 2, unsigned long)
+-/* EVTCHN_UNBIND: Unbind from the specified event-channel port. */
+-#define EVTCHN_UNBIND _IOW('E', 3, unsigned long)
+-
+-#endif /* __NetBSD_PRIVCMD_H__ */
++/* use the system-provided headers */
++#include <xen/xenio.h>
++#include <xen/xenio3.h>
diff --git a/sysutils/xentools415/patches/patch-tools_libs_ctrl_Makefile b/sysutils/xentools415/patches/patch-tools_libs_ctrl_Makefile
new file mode 100644
index 00000000000..26b528c86c5
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libs_ctrl_Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_libs_ctrl_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+PKG_CONFIG is an environnement variable, rename to PKG_CONFIG_PC
+
+--- tools/libs/ctrl/Makefile.orig 2020-12-09 18:39:19.902854035 +0100
++++ tools/libs/ctrl/Makefile 2020-12-09 18:39:37.171930411 +0100
+@@ -50,7 +50,7 @@
+ CFLAGS-$(CONFIG_Linux) += -D_GNU_SOURCE
+
+ LIBHEADER := xenctrl.h xenctrl_compat.h
+-PKG_CONFIG := xencontrol.pc
++PKG_CONFIG_PC := xencontrol.pc
+ PKG_CONFIG_NAME := Xencontrol
+
+ NO_HEADERS_CHK := y
diff --git a/sysutils/xentools415/patches/patch-tools_libs_libs.mk b/sysutils/xentools415/patches/patch-tools_libs_libs.mk
new file mode 100644
index 00000000000..21815606ba3
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libs_libs.mk
@@ -0,0 +1,58 @@
+$NetBSD: patch-tools_libs_libs.mk,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+PKG_CONFIG is defined in environnement, rename to PKG_CONFIG_PC
+
+--- tools/libs/libs.mk.orig 2021-04-06 19:14:18.000000000 +0200
++++ tools/libs/libs.mk 2021-04-17 13:40:31.365641659 +0200
+@@ -1,7 +1,7 @@
+ # Common Makefile for building a lib.
+ #
+ # Variables taken as input:
+-# PKG_CONFIG: name of pkg-config file (xen$(LIBNAME).pc if empty)
++# PKG_CONFIG_PC: name of pkg-config file (xen$(LIBNAME).pc if empty)
+ # MAJOR: major version of lib (Xen version if empty)
+ # MINOR: minor version of lib (0 if empty)
+
+@@ -29,7 +29,7 @@
+ comma:= ,
+ empty:=
+ space:= $(empty) $(empty)
+-PKG_CONFIG ?= $(LIB_FILE_NAME).pc
++PKG_CONFIG_PC ?= $(LIB_FILE_NAME).pc
+ PKG_CONFIG_NAME ?= Xen$(LIBNAME)
+ PKG_CONFIG_DESC ?= The $(PKG_CONFIG_NAME) library for Xen hypervisor
+ PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+@@ -38,13 +38,13 @@
+ PKG_CONFIG_REQPRIV := $(subst $(space),$(comma),$(strip $(foreach lib,$(patsubst ctrl,control,$(USELIBS_$(LIBNAME))),xen$(lib))))
+
+ ifneq ($(CONFIG_LIBXC_MINIOS),y)
+-PKG_CONFIG_INST := $(PKG_CONFIG)
++PKG_CONFIG_INST := $(PKG_CONFIG_PC)
+ $(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+ $(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+ $(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+ endif
+
+-PKG_CONFIG_LOCAL := $(PKG_CONFIG_DIR)/$(PKG_CONFIG)
++PKG_CONFIG_LOCAL := $(PKG_CONFIG_DIR)/$(PKG_CONFIG_PC)
+
+ LIBHEADER ?= $(LIB_FILE_NAME).h
+ LIBHEADERS = $(foreach h, $(LIBHEADER), $(XEN_INCLUDE)/$(h))
+@@ -112,7 +112,7 @@
+ $(SYMLINK_SHLIB) lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/lib$(LIB_FILE_NAME).so.$(MAJOR)
+ $(SYMLINK_SHLIB) lib$(LIB_FILE_NAME).so.$(MAJOR) $(DESTDIR)$(libdir)/lib$(LIB_FILE_NAME).so
+ for i in $(LIBHEADERS); do $(INSTALL_DATA) $$i $(DESTDIR)$(includedir); done
+- $(INSTALL_DATA) $(PKG_CONFIG) $(DESTDIR)$(PKG_INSTALLDIR)
++ $(INSTALL_DATA) $(PKG_CONFIG_PC) $(DESTDIR)$(PKG_INSTALLDIR)
+
+ .PHONY: uninstall
+ uninstall:
+@@ -132,7 +132,7 @@
+ rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
+ rm -f lib$(LIB_FILE_NAME).so.$(MAJOR).$(MINOR) lib$(LIB_FILE_NAME).so.$(MAJOR)
+ rm -f headers.chk headers.lst
+- rm -f $(PKG_CONFIG)
++ rm -f $(PKG_CONFIG_PC)
+ rm -f _paths.h
+
+ .PHONY: distclean
diff --git a/sysutils/xentools415/patches/patch-tools_libs_light_libxl.c b/sysutils/xentools415/patches/patch-tools_libs_light_libxl.c
new file mode 100644
index 00000000000..fcb22f03f4d
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libs_light_libxl.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-tools_libs_light_libxl.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+error: array subscript has type 'char' [-Werror=char-subscripts]
+
+--- tools/libs/light/libxl.c.orig 2021-04-17 22:11:04.304715386 +0200
++++ tools/libs/light/libxl.c 2021-04-17 22:12:29.062613549 +0200
+@@ -673,7 +673,7 @@
+ goto out;
+ }
+
+- while (isblank(*params))
++ while (isblank((unsigned char)*params))
+ params++;
+
+ for (par = params; *par; par = end) {
+@@ -703,7 +703,7 @@
+ goto out;
+ }
+
+- while (isblank(*end))
++ while (isblank((unsigned char)*end))
+ end++;
+ }
+
diff --git a/sysutils/xentools415/patches/patch-tools_libs_light_libxl_pci.c b/sysutils/xentools415/patches/patch-tools_libs_light_libxl_pci.c
new file mode 100644
index 00000000000..46d5696856d
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libs_light_libxl_pci.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_libs_light_libxl_pci.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+error: array subscript has type 'char' [-Werror=char-subscripts]
+
+--- tools/libs/light/libxl_pci.c.orig 2021-04-17 22:15:01.075399964 +0200
++++ tools/libs/light/libxl_pci.c 2021-04-17 22:15:30.482517194 +0200
+@@ -777,7 +777,7 @@
+ }
+
+ for (i = 0; i < n; i++) {
+- if (!isgraph(name[i])) {
++ if (!isgraph((unsigned char)name[i])) {
+ LOG(ERROR, "Names may only include printable characters");
+ return ERROR_FAIL;
+ }
diff --git a/sysutils/xentools415/patches/patch-tools_libs_util_libxlu_pci.c b/sysutils/xentools415/patches/patch-tools_libs_util_libxlu_pci.c
new file mode 100644
index 00000000000..bec8000968a
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libs_util_libxlu_pci.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_libs_util_libxlu_pci.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+error: array subscript has type 'char' [-Werror=char-subscripts]
+
+--- ./tools/libs/util/libxlu_pci.c.orig 2021-04-17 22:17:52.998629860 +0200
++++ ./tools/libs/util/libxlu_pci.c 2021-04-17 22:18:06.194127140 +0200
+@@ -19,7 +19,7 @@
+ int n;
+
+ /* Count occurrences of ':' to detrmine presence/absence of the 'domain' */
+- while (isxdigit(*ptr) || *ptr == ':') {
++ while (isxdigit((unsigned char)*ptr) || *ptr == ':') {
+ if (*ptr == ':')
+ colons++;
+ ptr++;
diff --git a/sysutils/xentools415/patches/patch-tools_libs_xenstore_xenstored_control.c b/sysutils/xentools415/patches/patch-tools_libs_xenstore_xenstored_control.c
new file mode 100644
index 00000000000..7eea884d485
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libs_xenstore_xenstored_control.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_libs_xenstore_xenstored_control.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+error: array subscript has type 'char' [-Werror=char-subscripts]
+
+--- tools/xenstore/xenstored_control.c.orig 2021-04-17 22:20:28.658953461 +0200
++++ tools/xenstore/xenstored_control.c 2021-04-17 22:20:41.265121523 +0200
+@@ -601,7 +601,7 @@
+ if (lu_status->cmdline) {
+ argc = 4; /* At least one arg + progname + "-U" + NULL. */
+ for (i = 0; lu_status->cmdline[i]; i++)
+- if (isspace(lu_status->cmdline[i]))
++ if (isspace((unsigned char)lu_status->cmdline[i]))
+ argc++;
+ argv = talloc_array(ctx, char *, argc);
+ if (!argv)
diff --git a/sysutils/xentools415/patches/patch-tools_libxl_libxl_dom.c b/sysutils/xentools415/patches/patch-tools_libxl_libxl_dom.c
new file mode 100644
index 00000000000..53383dfe351
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libxl_libxl_dom.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_libxl_libxl_dom.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/libs/light/libxl_dom.c.orig 2020-12-08 15:28:31.000000000 +0100
++++ tools/libs/light/libxl_dom.c 2020-12-09 15:59:56.104509990 +0100
+@@ -1228,7 +1228,7 @@
+ goto out;
+ }
+ uuid_string = GCSPRINTF(LIBXL_UUID_FMT, LIBXL_UUID_BYTES(info.uuid));
+- path = GCSPRINTF(XEN_LIB_DIR "/userdata-%s.%u.%s.%s",
++ path = GCSPRINTF(XEN_RUN_DIR "/userdata-%s.%u.%s.%s",
+ wh, domid, uuid_string, userdata_userid);
+
+ out:
diff --git a/sysutils/xentools415/patches/patch-tools_libxl_libxl_event.c b/sysutils/xentools415/patches/patch-tools_libxl_libxl_event.c
new file mode 100644
index 00000000000..ea2418c8dd3
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libxl_libxl_event.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-tools_libxl_libxl_event.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+The SIGCHLD handler just writes to a pipe where the reader is the
+same process. The idea is that this will cause poll(2) in the main
+thread to exit with the reaper pipe readable, and do child cleanup here.
+
+Unfortunably, is the child also has a write pipe back to the
+parent (as e.g. with pygrub), the loop in afterpoll_internal() may see the
+POLLHUP event on this pipe before the POLLIN even on the reaper pipe, and
+this will be considered as an error (from e.g. pygrub).
+
+work around by filtering POLLHUP events here
+
+--- tools/libs/light/libxl_event.c.orig 2020-12-08 15:28:31.000000000 +0100
++++ tools/libs/light/libxl_event.c 2020-12-09 16:00:48.840221028 +0100
+@@ -1443,7 +1443,7 @@
+
+ revents = afterpoll_check_fd(poller,fds,nfds,
+ efd->fd,efd->events);
+- if (revents)
++ if (revents & ~POLLHUP)
+ goto found_fd_event;
+ }
+ /* no ordinary fd events, then */
diff --git a/sysutils/xentools415/patches/patch-tools_libxl_libxl_internal.h b/sysutils/xentools415/patches/patch-tools_libxl_libxl_internal.h
new file mode 100644
index 00000000000..ef83efb7c5b
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_libxl_libxl_internal.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-tools_libxl_libxl_internal.h,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+bump some timeouts to more reasonable values. 40s is not enough
+if there is lots of them (e.g lots of network interfaces) and they
+need to be serialized.
+
+--- tools/libs/light/libxl_internal.h.orig 2020-12-08 15:28:31.000000000 +0100
++++ tools/libs/light/libxl_internal.h 2020-12-09 16:01:49.819103324 +0100
+@@ -93,11 +93,11 @@
+ #include "_libxl_types_internal_json.h"
+
+ #define LIBXL_INIT_TIMEOUT 10
+-#define LIBXL_DESTROY_TIMEOUT 10
+-#define LIBXL_HOTPLUG_TIMEOUT 40
++#define LIBXL_DESTROY_TIMEOUT 180
++#define LIBXL_HOTPLUG_TIMEOUT 180
+ /* QEMU may be slow to load and start due to a bug in Linux where the I/O
+ * subsystem sometime produce high latency under load. */
+-#define LIBXL_DEVICE_MODEL_START_TIMEOUT 60
++#define LIBXL_DEVICE_MODEL_START_TIMEOUT 180
+ #define LIBXL_DEVICE_MODEL_SAVE_FILE XEN_LIB_DIR "/qemu-save" /* .$domid */
+ #define LIBXL_DEVICE_MODEL_RESTORE_FILE XEN_LIB_DIR "/qemu-resume" /* .$domid */
+ #define LIBXL_QMP_CMD_TIMEOUT 10
diff --git a/sysutils/xentools415/patches/patch-tools_misc_xenhypfs.c b/sysutils/xentools415/patches/patch-tools_misc_xenhypfs.c
new file mode 100644
index 00000000000..838786ede48
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_misc_xenhypfs.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_misc_xenhypfs.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+error: array subscript has type 'char' [-Werror=char-subscripts]
+
+--- tools/misc/xenhypfs.c.orig 2021-04-17 22:22:30.893118826 +0200
++++ tools/misc/xenhypfs.c 2021-04-17 22:23:04.525580088 +0200
+@@ -22,7 +22,7 @@
+ char *c;
+
+ for (c = string; *c; c++) {
+- if (isgraph(*c) || isspace(*c))
++ if (isgraph((unsigned char)*c) || isspace((unsigned char)*c))
+ printf("%c", *c);
+ else
+ printf("\\x%02x", *c);
diff --git a/sysutils/xentools415/patches/patch-tools_ocaml_common.make b/sysutils/xentools415/patches/patch-tools_ocaml_common.make
new file mode 100644
index 00000000000..2330df06891
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_ocaml_common.make
@@ -0,0 +1,23 @@
+$NetBSD: patch-tools_ocaml_common.make,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Handle ocaml-findlib 1.7.3 already appending destdir
+
+--- tools/ocaml/common.make.orig 2020-12-08 15:28:31.000000000 +0100
++++ tools/ocaml/common.make 2021-01-09 19:27:02.447285099 +0100
+@@ -3,7 +3,7 @@
+ CC ?= gcc
+ OCAMLOPT ?= ocamlopt
+ OCAMLC ?= ocamlc
+-OCAMLMKLIB ?= ocamlmklib
++OCAMLMKLIB ?= ocamlmklib -elfmode
+ OCAMLDEP ?= ocamldep
+ OCAMLLEX ?= ocamllex
+ OCAMLYACC ?= ocamlyacc
+@@ -17,6 +17,6 @@
+
+ VERSION := 4.1
+
+-OCAMLDESTDIR ?= $(DESTDIR)$(shell $(OCAMLFIND) printconf destdir)
++OCAMLDESTDIR ?= $(shell $(OCAMLFIND) printconf destdir)
+
+ o= >$@.new && mv -f $@.new $@
diff --git a/sysutils/xentools415/patches/patch-tools_ocaml_xenstored_Makefile b/sysutils/xentools415/patches/patch-tools_ocaml_xenstored_Makefile
new file mode 100644
index 00000000000..57516cf15c1
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_ocaml_xenstored_Makefile
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_ocaml_xenstored_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/ocaml/xenstored/Makefile.orig 2016-02-09 14:44:19.000000000 +0000
++++ tools/ocaml/xenstored/Makefile
+@@ -1,6 +1,7 @@
+ XEN_ROOT = $(CURDIR)/../../..
+ OCAML_TOPLEVEL = $(CURDIR)/..
+ include $(OCAML_TOPLEVEL)/common.make
++XEN_CONFIG_DIR=${XEN_EXAMPLES_DIR}
+
+ # Include configure output (config.h)
+ CFLAGS += -include $(XEN_ROOT)/tools/config.h
diff --git a/sysutils/xentools415/patches/patch-tools_ocaml_xenstored_utils.ml b/sysutils/xentools415/patches/patch-tools_ocaml_xenstored_utils.ml
new file mode 100644
index 00000000000..ffd4a228575
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_ocaml_xenstored_utils.ml
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_ocaml_xenstored_utils.ml,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/ocaml/xenstored/utils.ml.orig 2021-01-10 18:02:05.000000000 +0100
++++ tools/ocaml/xenstored/utils.ml 2021-01-10 20:20:53.433611357 +0100
+@@ -86,7 +86,7 @@
+ let buf = Bytes.make 20 '\000' in
+ let sz = Unix.read fd buf 0 20 in
+ Unix.close fd;
+- int_of_string (Bytes.sub_string buf 0 sz)
++ int_of_string (String.trim (Bytes.sub_string buf 0 sz))
+
+ (* @path may be guest data and needs its length validating. @connection_path
+ * is generated locally in xenstored and always of the form "/local/domain/$N/" *)
diff --git a/sysutils/xentools415/patches/patch-tools_pygrub_Makefile b/sysutils/xentools415/patches/patch-tools_pygrub_Makefile
new file mode 100644
index 00000000000..61126b77ce9
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_pygrub_Makefile
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_pygrub_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/pygrub/Makefile.orig 2020-12-14 15:48:30.300876169 +0100
++++ tools/pygrub/Makefile 2020-12-14 15:48:47.821580386 +0100
+@@ -3,7 +3,7 @@
+ include $(XEN_ROOT)/tools/Rules.mk
+
+ PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS)
+-PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
++PY_LDFLAGS = $(SHLIB_LDFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)
+ INSTALL_LOG = build/installed_files.txt
+
+ .PHONY: all
diff --git a/sysutils/xentools415/patches/patch-tools_python_Makefile b/sysutils/xentools415/patches/patch-tools_python_Makefile
new file mode 100644
index 00000000000..7b9354631ec
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_python_Makefile
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_python_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/python/Makefile.orig 2020-12-14 15:32:06.314547060 +0100
++++ tools/python/Makefile 2020-12-14 15:33:29.005101260 +0100
+@@ -5,7 +5,7 @@
+ all: build
+
+ PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS)
+-PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
++PY_LDFLAGS = $(SHLIB_LDFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)
+ INSTALL_LOG = build/installed_files.txt
+
+ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" \
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_Makefile b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_Makefile
new file mode 100644
index 00000000000..504bb17d741
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_Makefile
@@ -0,0 +1,84 @@
+$NetBSD: patch-tools_qemu-xen-traditional_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/Makefile.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/Makefile 2015-01-19 14:16:12.000000000 +0100
+@@ -1,7 +1,7 @@
+ # Makefile for QEMU.
+
+-include config-host.mak
+-include $(SRC_PATH)/rules.mak
++-include config-host.mak
++-include $(SRC_PATH)/rules.mak
+
+ .PHONY: all clean cscope distclean dvi html info install install-doc \
+ recurse-all speed tar tarbin test
+@@ -231,30 +231,30 @@
+ endif
+
+ install-doc: $(DOCS)
+- mkdir -p "$(DESTDIR)$(docdir)"
+- $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
++ $(INSTALL_DIR) "$(DESTDIR)$(docdir)"
++ $(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
+ ifndef CONFIG_WIN32
+- mkdir -p "$(DESTDIR)$(mandir)/man1"
+- $(INSTALL) -m 644 qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
+- mkdir -p "$(DESTDIR)$(mandir)/man8"
+- $(INSTALL) -m 644 qemu-nbd.8 "$(DESTDIR)$(mandir)/man8"
++ $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
++ $(INSTALL_DATA) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
++ $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8"
++ $(INSTALL_DATA) qemu-nbd.8 "$(DESTDIR)$(mandir)/man8"
+ endif
+
+ install: all $(if $(BUILD_DOCS),install-doc)
+- mkdir -p "$(DESTDIR)$(bindir)"
++ $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
+ ifneq ($(TOOLS),)
+ $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
+ endif
+ ifneq ($(BLOBS),)
+- mkdir -p "$(DESTDIR)$(datadir)"
++ $(INSTALL_DIR) "$(DESTDIR)$(datadir)"
+ set -e; for x in $(BLOBS); do \
+- $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
++ $(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
+ done
+ endif
+ ifndef CONFIG_WIN32
+- mkdir -p "$(DESTDIR)$(datadir)/keymaps"
++ $(INSTALL_DIR) "$(DESTDIR)$(datadir)/keymaps"
+ set -e; for x in $(KEYMAPS); do \
+- $(INSTALL) -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
++ $(INSTALL_DATA) $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
+ done
+ endif
+ for d in $(TARGET_DIRS); do \
+@@ -275,7 +275,7 @@
+
+ # documentation
+ %.html: %.texi
+- texi2html -monolithic -number $<
++ texi2html -monolithic -number-sections $<
+
+ %.info: %.texi
+ makeinfo $< -o $@
+@@ -284,15 +284,15 @@
+ texi2dvi $<
+
+ qemu.1: qemu-doc.texi
+- $(SRC_PATH)/texi2pod.pl $< qemu.pod
++ perl $(SRC_PATH)/texi2pod.pl $< qemu.pod
+ pod2man --section=1 --center=" " --release=" " qemu.pod > $@
+
+ qemu-img.1: qemu-img.texi
+- $(SRC_PATH)/texi2pod.pl $< qemu-img.pod
++ perl $(SRC_PATH)/texi2pod.pl $< qemu-img.pod
+ pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@
+
+ qemu-nbd.8: qemu-nbd.texi
+- $(SRC_PATH)/texi2pod.pl $< qemu-nbd.pod
++ perl $(SRC_PATH)/texi2pod.pl $< qemu-nbd.pod
+ pod2man --section=8 --center=" " --release=" " qemu-nbd.pod > $@
+
+ info: qemu-doc.info qemu-tech.info
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c
new file mode 100644
index 00000000000..ad074bb5973
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c
@@ -0,0 +1,62 @@
+$NetBSD: patch-tools_qemu-xen-traditional_block-raw-posix.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+- if given a block device, use the character device instead.
+
+--- tools/qemu-xen-traditional/block-raw-posix.c.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/block-raw-posix.c 2015-01-19 13:16:38.000000000 +0100
+@@ -65,6 +65,7 @@
+ #include <sys/disklabel.h>
+ #include <sys/dkio.h>
+ #include <sys/disk.h>
++#include <sys/param.h>
+ #endif
+
+ #ifdef __OpenBSD__
+@@ -72,6 +73,13 @@
+ #include <sys/disklabel.h>
+ #include <sys/dkio.h>
+ #endif
++#if defined(__NetBSD__)
++#include <sys/ioctl.h>
++#include <sys/disklabel.h>
++#include <sys/dkio.h>
++#define SLIST_ENTRY(x) int /*XXXX !*/
++#include <sys/disk.h>
++#endif
+
+ //#define DEBUG_FLOPPY
+
+@@ -1008,6 +1016,33 @@
+ {
+ BDRVRawState *s = bs->opaque;
+ int fd, open_flags, ret;
++#ifdef __NetBSD__
++ struct stat sb;
++ static char namebuf[MAXPATHLEN];
++ const char *dp;
++
++ if (lstat(filename, &sb) < 0) {
++ fprintf(stderr, "%s: stat failed: %s\n", filename, strerror(errno));
++ return -errno;
++ }
++ if (S_ISLNK(sb.st_mode)) {
++ fprintf(stderr, "%s: symolink links not supported by qemu-dm\n",
++ filename);
++ return -EINVAL;
++ }
++ if (S_ISBLK(sb.st_mode)) {
++ dp = strrchr(filename, '/');
++ if (dp == NULL) {
++ snprintf(namebuf, MAXPATHLEN, "r%s", filename);
++ } else {
++ snprintf(namebuf, MAXPATHLEN, "%.*s/r%s",
++ (int)(dp - filename), filename, dp + 1);
++ }
++ fprintf(stderr, "%s is a block device", filename);
++ filename = namebuf;
++ fprintf(stderr, ", using %s\n", filename);
++ }
++#endif
+
+ posix_aio_init();
+
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_configure b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_configure
new file mode 100644
index 00000000000..6f2380d23ff
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_configure
@@ -0,0 +1,41 @@
+$NetBSD: patch-tools_qemu-xen-traditional_configure,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/configure.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/configure 2015-01-20 22:58:07.000000000 +0100
+@@ -1089,7 +1089,7 @@
+ # Check if tools are available to build documentation.
+ if [ -x "`which texi2html 2>/dev/null`" ] && \
+ [ -x "`which pod2man 2>/dev/null`" ]; then
+- build_docs="yes"
++# build_docs="yes"
+ fi
+
+ ##########################################
+@@ -1124,7 +1124,7 @@
+ if test -z "$prefix" ; then
+ prefix="/usr/local"
+ fi
+- mansuffix="/share/man"
++ mansuffix="/man"
+ datasuffix="/share/qemu"
+ docsuffix="/share/doc/qemu"
+ binsuffix="/bin"
+@@ -1216,6 +1216,8 @@
+ echo "MAKE=$make" >> $config_mak
+ echo "INSTALL=$install" >> $config_mak
+ echo "INSTALL_PROG=$install -m 0755" >> $config_mak
++echo "INSTALL_DATA=$install -m0644" >> $config_mak
++echo "INSTALL_DIR=$install -d -m0755 -p" >> $config_mak
+ echo "CC=$cc" >> $config_mak
+ echo "HOST_CC=$host_cc" >> $config_mak
+ echo "AR=$ar" >> $config_mak
+@@ -1493,7 +1495,9 @@
+ # XXX: suppress that
+ if [ "$bsd" = "yes" ] ; then
+ echo "#define O_LARGEFILE 0" >> $config_h
++ echo "#ifndef MAP_ANONYMOUS" >> $config_h
+ echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
++ echo "#endif" >> $config_h
+ echo "#define _BSD 1" >> $config_h
+ fi
+
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_e1000.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_e1000.c
new file mode 100644
index 00000000000..62600147e47
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_e1000.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_e1000.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+From sysutils/xentools33/patches/patch-ak.
+
+qemu-0.13.x will include this fix:
+http://git.qemu.org/qemu.git/commit/?id=9651ac55e5de0e1534d898316cc851af6ffc4334
+
+--- tools/qemu-xen-traditional/hw/e1000.c.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/hw/e1000.c 2015-01-19 13:16:38.000000000 +0100
+@@ -265,16 +265,20 @@
+
+ s->eecd_state.old_eecd = val & (E1000_EECD_SK | E1000_EECD_CS |
+ E1000_EECD_DI|E1000_EECD_FWE_MASK|E1000_EECD_REQ);
++ if (!(E1000_EECD_CS & val)) // CS inactive; nothing to do
++ return;
++ if (E1000_EECD_CS & (val ^ oldval)) { // CS rise edge; reset state
++ s->eecd_state.val_in = 0;
++ s->eecd_state.bitnum_in = 0;
++ s->eecd_state.bitnum_out = 0;
++ s->eecd_state.reading = 0;
++ }
+ if (!(E1000_EECD_SK & (val ^ oldval))) // no clock edge
+ return;
+ if (!(E1000_EECD_SK & val)) { // falling edge
+ s->eecd_state.bitnum_out++;
+ return;
+ }
+- if (!(val & E1000_EECD_CS)) { // rising, no CS (EEPROM reset)
+- memset(&s->eecd_state, 0, sizeof s->eecd_state);
+- return;
+- }
+ s->eecd_state.val_in <<= 1;
+ if (val & E1000_EECD_DI)
+ s->eecd_state.val_in |= 1;
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_ide.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_ide.c
new file mode 100644
index 00000000000..126403631d5
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_ide.c
@@ -0,0 +1,37 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_ide.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/hw/ide.c.orig 2014-01-09 13:44:42.000000000 +0100
++++ tools/qemu-xen-traditional/hw/ide.c 2015-06-11 16:15:49.000000000 +0200
+@@ -757,10 +757,15 @@
+ put_le16(p + 58, oldsize >> 16);
+ if (s->mult_sectors)
+ put_le16(p + 59, 0x100 | s->mult_sectors);
+- put_le16(p + 60, s->nb_sectors);
+- put_le16(p + 61, s->nb_sectors >> 16);
++ if (s->nb_sectors > 0x10000000)
++ oldsize = 0x10000000; /* report only 128GB */
++ else
++ oldsize = s->nb_sectors;
++ put_le16(p + 60, oldsize);
++ put_le16(p + 61, oldsize >> 16);
+ put_le16(p + 62, 0x07); /* single word dma0-2 supported */
+ put_le16(p + 63, 0x07); /* mdma0-2 supported */
++ put_le16(p + 64, 0x03); /* pio3-4 supported */
+ put_le16(p + 65, 120);
+ put_le16(p + 66, 120);
+ put_le16(p + 67, 120);
+@@ -812,13 +817,12 @@
+ put_le16(p + 53, 7); /* words 64-70, 54-58, 88 valid */
+ put_le16(p + 62, 7); /* single word dma0-2 supported */
+ put_le16(p + 63, 7); /* mdma0-2 supported */
+- put_le16(p + 64, 0x3f); /* PIO modes supported */
+ #else
+ put_le16(p + 49, 1 << 9); /* LBA supported, no DMA */
+ put_le16(p + 53, 3); /* words 64-70, 54-58 valid */
+ put_le16(p + 63, 0x103); /* DMA modes XXX: may be incorrect */
+- put_le16(p + 64, 1); /* PIO modes */
+ #endif
++ put_le16(p + 64, 3); /* pio3-4 supported */
+ put_le16(p + 65, 0xb4); /* minimum DMA multiword tx cycle time */
+ put_le16(p + 66, 0xb4); /* recommended DMA multiword tx cycle time */
+ put_le16(p + 67, 0x12c); /* minimum PIO cycle time without flow control */
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c
new file mode 100644
index 00000000000..538dc7ce8cb
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pass-through.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/hw/pass-through.c.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/hw/pass-through.c 2015-01-19 13:16:38.000000000 +0100
+@@ -84,8 +84,6 @@
+ */
+
+ #include "pass-through.h"
+-#include "pci/header.h"
+-#include "pci/pci.h"
+ #include "pt-msi.h"
+ #include "qemu-xen.h"
+ #include "iomulti.h"
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h
new file mode 100644
index 00000000000..71c3c447497
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h
@@ -0,0 +1,18 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pass-through.h,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/hw/pass-through.h.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/hw/pass-through.h 2015-01-19 13:16:38.000000000 +0100
+@@ -20,8 +20,13 @@
+
+ #include "hw.h"
+ #include "pci.h"
++#ifdef __NetBSD__
++#include "pciutils/header.h"
++#include "pciutils/pci.h"
++#else
+ #include "pci/header.h"
+ #include "pci/pci.h"
++#endif
+ #include "exec-all.h"
+ #include "sys-queue.h"
+ #include "qemu-timer.h"
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c
new file mode 100644
index 00000000000..96f03e11ff9
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_piix4acpi.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/hw/piix4acpi.c.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/hw/piix4acpi.c 2015-01-19 13:16:38.000000000 +0100
+@@ -41,8 +41,12 @@
+ #define PIIX4ACPI_LOG(level, fmt, ...) do { if (level <= PIIX4ACPI_LOGLEVEL) qemu_log(fmt, ## __VA_ARGS__); } while (0)
+
+ #ifdef CONFIG_PASSTHROUGH
++#ifdef __NetBSD__
++#include <pciutils/header.h>
++#else
+ #include <pci/header.h>
+ #endif
++#endif
+
+ /* PM1a_CNT bits, as defined in the ACPI specification. */
+ #define SCI_EN (1 << 0)
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c
new file mode 100644
index 00000000000..42145154469
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-graphics.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/hw/pt-graphics.c.orig 2015-01-19 16:14:46.000000000 +0100
++++ tools/qemu-xen-traditional/hw/pt-graphics.c 2015-01-19 16:14:51.000000000 +0100
+@@ -4,8 +4,6 @@
+
+ #include "pass-through.h"
+ #include "pci.h"
+-#include "pci/header.h"
+-#include "pci/pci.h"
+
+ #include <unistd.h>
+ #include <sys/ioctl.h>
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c
new file mode 100644
index 00000000000..056618d58b8
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-msi.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/hw/pt-msi.c.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/hw/pt-msi.c 2015-01-19 13:16:38.000000000 +0100
+@@ -22,6 +22,10 @@
+ #include "pt-msi.h"
+ #include <sys/mman.h>
+
++#ifdef __NetBSD__
++#define MAP_LOCKED MAP_WIRED
++#endif
++
+ void msi_set_enable(struct pt_dev *dev, int en)
+ {
+ uint16_t val = 0;
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h
new file mode 100644
index 00000000000..1d144f5afa4
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-msi.h,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/hw/pt-msi.h.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/hw/pt-msi.h 2015-01-19 13:16:38.000000000 +0100
+@@ -1,7 +1,6 @@
+ #ifndef _PT_MSI_H
+ #define _PT_MSI_H
+
+-#include "pci/pci.h"
+ #include "pass-through.h"
+
+ #define PCI_CAP_ID_MSI 0x05 /* Message Signalled Interrupts */
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak
new file mode 100644
index 00000000000..9eb4cfd7426
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen-traditional/i386-dm/hookstarget.mak.orig 2014-10-06 17:50:24.000000000 +0200
++++ tools/qemu-xen-traditional/i386-dm/hookstarget.mak 2015-01-19 13:16:38.000000000 +0100
+@@ -2,5 +2,5 @@
+
+ install-hook:
+ $(INSTALL_DIR) "$(DESTDIR)/$(bindir)"
+- $(INSTALL_DIR) "$(DESTDIR)/$(configdir)"
+- $(INSTALL_PROG) $(QEMU_ROOT)/i386-dm/qemu-ifup-$(IOEMU_OS) "$(DESTDIR)/$(configdir)/qemu-ifup"
++ $(INSTALL_DIR) "$(DESTDIR)/$(XEN_EXAMPLES_DIR)/scripts"
++ $(INSTALL_PROG) $(QEMU_ROOT)/i386-dm/qemu-ifup-$(IOEMU_OS) "$(DESTDIR)/$(XEN_EXAMPLES_DIR)/scripts/qemu-ifup"
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_net.c b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_net.c
new file mode 100644
index 00000000000..b979fc95220
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_net.c
@@ -0,0 +1,46 @@
+$NetBSD: patch-tools_qemu-xen-traditional_net.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+--- tools/qemu-xen-traditional/net.c.orig 2016-11-29 17:36:38.000000000 +0100
++++ tools/qemu-xen-traditional/net.c 2017-03-29 18:16:54.000000000 +0200
+@@ -990,6 +990,7 @@
+ #define DEFAULT_NETWORK_DOWN_SCRIPT ""
+ #endif
+
++#if !defined(CONFIG_STUBDOM)
+ static int launch_script(const char *setup_script, const char *ifname,
+ const char *script_arg, int fd)
+ {
+@@ -1028,6 +1029,7 @@
+ }
+ return 0;
+ }
++#endif
+
+ static int net_tap_init(VLANState *vlan, const char *model,
+ const char *name, const char *ifname1,
+@@ -1048,12 +1050,14 @@
+
+ if (!setup_script || !strcmp(setup_script, "no"))
+ setup_script = "";
++#if !defined(CONFIG_STUBDOM)
+ if (setup_script[0] != '\0') {
+ if (launch_script(setup_script, ifname, script_arg, fd)) {
+ close(fd);
+ return -1;
+ }
+ }
++#endif
+ s = net_tap_fd_init(vlan, model, name, fd);
+ if (!s)
+ return -1;
+@@ -1965,9 +1969,11 @@
+ if (vc->fd_read == tap_receive) {
+ TAPState *s = vc->opaque;
+
++#ifndef CONFIG_STUBDOM
+ if (s->down_script[0])
+ launch_script(s->down_script, s->down_script_arg,
+ s->script_arg, s->fd);
++#endif
+ }
+ #if defined(CONFIG_VDE)
+ if (vc->fd_read == vde_from_qemu) {
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak
new file mode 100644
index 00000000000..3d1cbda2d28
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak
@@ -0,0 +1,34 @@
+$NetBSD: patch-tools_qemu-xen-traditional_xen-hooks.mak,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+enable PCI passthrough when pciutils is present
+
+--- tools/qemu-xen-traditional/xen-hooks.mak.orig 2020-12-08 16:54:20.000000000 +0100
++++ tools/qemu-xen-traditional/xen-hooks.mak 2020-12-09 16:07:04.817171636 +0100
+@@ -61,17 +61,25 @@
+ ifdef CONFIG_STUBDOM
+ CONFIG_PASSTHROUGH=1
+ else
+- ifeq (,$(wildcard /usr/include/pci))
++ ifeq ($(CONFIG_NetBSD), y)
++CONFIG_PASSTHROUGH=1
++ else
++ ifeq (,$(wildcard /usr/include/pci))
+ $(warning === pciutils-dev package not found - missing /usr/include/pci)
+ $(warning === PCI passthrough capability has been disabled)
+- else
++ else
+ CONFIG_PASSTHROUGH=1
++ endif
+ endif
+ endif
+
+ ifdef CONFIG_PASSTHROUGH
+ OBJS+= pass-through.o pt-msi.o pt-graphics.o
++ifeq ($(CONFIG_NetBSD), y)
++LIBS += -Wl,-R${PREFIX}/lib -L${PREFIX}/lib -lpciutils -lpci
++else
+ LIBS += -lpci
++endif
+ CFLAGS += -DCONFIG_PASSTHROUGH
+ $(info === PCI passthrough capability has been enabled ===)
+ endif
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen_audio_audio.c b/sysutils/xentools415/patches/patch-tools_qemu-xen_audio_audio.c
new file mode 100644
index 00000000000..485aadeb70e
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen_audio_audio.c
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_qemu-xen_audio_audio.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen/audio/audio.c.orig 2020-12-08 16:58:46.000000000 +0100
++++ tools/qemu-xen/audio/audio.c 2020-12-09 16:09:37.068801135 +0100
+@@ -890,6 +890,7 @@
+ if (audio_get_pdo_in(hw->s->dev)->mixing_engine) {
+ return audio_pcm_sw_read(sw, buf, size);
+ } else {
++#undef read
+ return hw->pcm_ops->read(hw, buf, size);
+ }
+ }
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen_configure b/sysutils/xentools415/patches/patch-tools_qemu-xen_configure
new file mode 100644
index 00000000000..54b3622e6ee
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen_configure
@@ -0,0 +1,14 @@
+$NetBSD: patch-tools_qemu-xen_configure,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+-lrt is needed for shm_open()
+
+--- tools/qemu-xen/configure.orig 2019-09-27 12:21:35.000000000 +0200
++++ tools/qemu-xen/configure 2020-05-08 20:09:00.341400664 +0200
+@@ -841,6 +841,7 @@
+ audio_drv_list="oss try-sdl"
+ audio_possible_drivers="oss sdl"
+ oss_lib="-lossaudio"
++ LIBS="-lrt $LIBS"
+ HOST_VARIANT_DIR="netbsd"
+ supported_os="yes"
+ ;;
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap-bsd.c b/sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap-bsd.c
new file mode 100644
index 00000000000..fcea2b24196
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap-bsd.c
@@ -0,0 +1,44 @@
+$NetBSD: patch-tools_qemu-xen_net_tap-bsd.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/qemu-xen/net/tap-bsd.c.orig 2020-05-18 10:41:00.816005830 +0200
++++ tools/qemu-xen/net/tap-bsd.c 2020-05-18 15:02:30.497691415 +0200
+@@ -40,7 +40,7 @@
+ #include <sys/param.h>
+ #endif
+
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__NetBSD__)
+ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
+ int vnet_hdr_required, int mq_required, Error **errp)
+ {
+@@ -112,7 +112,7 @@
+ return fd;
+ }
+
+-#else /* __FreeBSD__ */
++#else /* __FreeBSD__ || __NetBSD__ */
+
+ #define PATH_NET_TAP "/dev/tap"
+
+@@ -137,6 +137,7 @@
+ }
+
+ if (ifname[0] != '\0') {
++#ifdef SIOCSIFNAME
+ /* User requested the interface to have a specific name */
+ s = socket(AF_LOCAL, SOCK_DGRAM, 0);
+ if (s < 0) {
+@@ -153,10 +154,12 @@
+ close(fd);
+ return -1;
+ }
++#else
++ pstrcpy(ifname, ifname_size, ifr.ifr_name);
++#endif
+ } else {
+ pstrcpy(ifname, ifname_size, ifr.ifr_name);
+ }
+-
+ return fd;
+ }
+
diff --git a/sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap.c b/sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap.c
new file mode 100644
index 00000000000..cfff74beb80
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_qemu-xen_net_tap.c
@@ -0,0 +1,70 @@
+$NetBSD: patch-tools_qemu-xen_net_tap.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+From Roman Shaposhnik via xen-devel: pass bridge name to ifup script
+
+--- tools/qemu-xen/net/tap.c.orig
++++ tools/qemu-xen/net/tap.c
+@@ -62,7 +62,7 @@
+ Notifier exit;
+ } TAPState;
+
+-static void launch_script(const char *setup_script, const char *ifname,
++static void launch_script(const char *setup_script, const char *ifname, const char *bridge,
+ int fd, Error **errp);
+
+ static void tap_send(void *opaque);
+@@ -300,7 +300,7 @@
+ Error *err = NULL;
+
+ if (s->down_script[0]) {
+- launch_script(s->down_script, s->down_script_arg, s->fd, &err);
++ launch_script(s->down_script, s->down_script_arg, "bn1", s->fd, &err);
+ if (err) {
+ error_report_err(err);
+ }
+@@ -397,7 +397,7 @@
+ return s;
+ }
+
+-static void launch_script(const char *setup_script, const char *ifname,
++static void launch_script(const char *setup_script, const char *ifname, const char *bridge,
+ int fd, Error **errp)
+ {
+ int pid, status;
+@@ -422,6 +422,7 @@
+ parg = args;
+ *parg++ = (char *)setup_script;
+ *parg++ = (char *)ifname;
++ *parg++ = (char *)bridge;
+ *parg = NULL;
+ execv(setup_script, args);
+ _exit(1);
+@@ -607,7 +608,7 @@
+
+ static int net_tap_init(const NetdevTapOptions *tap, int *vnet_hdr,
+ const char *setup_script, char *ifname,
+- size_t ifname_sz, int mq_required, Error **errp)
++ size_t ifname_sz, const char *bridge, int mq_required, Error **errp)
+ {
+ Error *err = NULL;
+ int fd, vnet_hdr_required;
+@@ -629,7 +630,7 @@
+ if (setup_script &&
+ setup_script[0] != '\0' &&
+ strcmp(setup_script, "no") != 0) {
+- launch_script(setup_script, ifname, fd, &err);
++ launch_script(setup_script, ifname, bridge, fd, &err);
+ if (err) {
+ error_propagate(errp, err);
+ close(fd);
+@@ -918,7 +919,9 @@
+
+ for (i = 0; i < queues; i++) {
+ fd = net_tap_init(tap, &vnet_hdr, i >= 1 ? "no" : script,
+- ifname, sizeof ifname, queues > 1, errp);
++ ifname, sizeof ifname,
++ tap->has_br ? tap->br : "bn1",
++ queues > 1, errp);
+ if (fd == -1) {
+ return -1;
+ }
diff --git a/sysutils/xentools415/patches/patch-tools_xenpaging_xenpaging.c b/sysutils/xentools415/patches/patch-tools_xenpaging_xenpaging.c
new file mode 100644
index 00000000000..5d3243601ff
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_xenpaging_xenpaging.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_xenpaging_xenpaging.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Fix "error: 'buffer' may be used uninitialized"
+
+--- tools/xenpaging/xenpaging.c.orig 2021-04-17 14:43:41.053494277 +0200
++++ tools/xenpaging/xenpaging.c 2021-04-17 14:44:17.167271008 +0200
+@@ -180,7 +180,7 @@
+
+ static void *init_page(void)
+ {
+- void *buffer;
++ void *buffer = NULL; /* XXX gcc */
+
+ /* Allocated page memory */
+ errno = posix_memalign(&buffer, XC_PAGE_SIZE, XC_PAGE_SIZE);
diff --git a/sysutils/xentools415/patches/patch-tools_xenstore_xs_lib.c b/sysutils/xentools415/patches/patch-tools_xenstore_xs_lib.c
new file mode 100644
index 00000000000..54ef209a734
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_xenstore_xs_lib.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_xenstore_xs_lib.c,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/xenstore/xs_lib.c.orig
++++ tools/xenstore/xs_lib.c
+@@ -52,7 +52,7 @@ static const char *xs_daemon_path(void)
+ const char *xs_daemon_tdb(void)
+ {
+ static char buf[PATH_MAX];
+- snprintf(buf, sizeof(buf), "%s/tdb", xs_daemon_rootdir());
++ snprintf(buf, sizeof(buf), "%s/tdb", xs_daemon_rundir());
+ return buf;
+ }
+
diff --git a/sysutils/xentools415/patches/patch-tools_xl_Makefile b/sysutils/xentools415/patches/patch-tools_xl_Makefile
new file mode 100644
index 00000000000..73313e2cd77
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-tools_xl_Makefile
@@ -0,0 +1,16 @@
+$NetBSD: patch-tools_xl_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- tools/xl/Makefile.orig 2021-01-26 12:35:19.000000000 +0100
++++ tools/xl/Makefile 2021-01-26 19:21:03.038848363 +0100
+@@ -43,9 +43,9 @@
+ .PHONY: install
+ install: all
+ $(INSTALL_DIR) $(DESTDIR)$(sbindir)
+- $(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR)
++ $(INSTALL_DIR) $(DESTDIR)$(XEN_EXAMPLES_DIR)
+ $(INSTALL_PROG) xl $(DESTDIR)$(sbindir)
+- $(INSTALL_DATA) bash-completion $(DESTDIR)$(BASH_COMPLETION_DIR)/xl
++ $(INSTALL_DATA) bash-completion $(DESTDIR)$(XEN_EXAMPLES_DIR)/xl.bash
+
+ .PHONY: uninstall
+ uninstall:
diff --git a/sysutils/xentools415/patches/patch-xen_Makefile b/sysutils/xentools415/patches/patch-xen_Makefile
new file mode 100644
index 00000000000..0acfccaac6e
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-xen_Makefile
@@ -0,0 +1,16 @@
+$NetBSD: patch-xen_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+Use a more strict pattern; on NetBSD it includes some extra compiler
+outputs.
+
+--- xen/Makefile.orig 2020-12-10 16:06:07.432987067 +0100
++++ xen/Makefile 2020-12-10 16:06:10.485550293 +0100
+@@ -411,7 +411,7 @@
+ echo "#ifndef __ASM_OFFSETS_H__"; \
+ echo "#define __ASM_OFFSETS_H__"; \
+ echo ""; \
+- sed -rne "/^[^#].*==>/{s:.*==>(.*)<==.*:\1:; s: [\$$#]: :; p;}"; \
++ sed -rne "/^[^#]ascii.*==>/{s:.*==>(.*)<==.*:\1:; s: [\$$#]: :; p;}"; \
+ echo ""; \
+ echo "#endif") <$< >$@
+
diff --git a/sysutils/xentools415/patches/patch-xen_Rules.mk b/sysutils/xentools415/patches/patch-xen_Rules.mk
new file mode 100644
index 00000000000..86d3fd59c4c
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-xen_Rules.mk
@@ -0,0 +1,12 @@
+$NetBSD: patch-xen_Rules.mk,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+--- xen/Rules.mk.orig 2018-04-23 14:50:02.000000000 +0200
++++ xen/Rules.mk 2018-04-23 14:50:32.000000000 +0200
+@@ -1,4 +1,7 @@
+
++#reset cflags. Why is it needed in pkgsrc ?
++CFLAGS=
++
+ -include $(BASEDIR)/include/config/auto.conf
+
+ include $(XEN_ROOT)/Config.mk
diff --git a/sysutils/xentools415/patches/patch-xen_arch_x86_Makefile b/sysutils/xentools415/patches/patch-xen_arch_x86_Makefile
new file mode 100644
index 00000000000..8504724e486
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-xen_arch_x86_Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-xen_arch_x86_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+also filter out flags added by pkgsrc
+
+--- xen/arch/x86/Makefile.orig 2020-12-11 18:09:56.686501836 +0100
++++ xen/arch/x86/Makefile 2020-12-11 18:10:47.737620837 +0100
+@@ -252,7 +252,7 @@
+
+ efi.lds: AFLAGS-y += -DEFI
+ xen.lds efi.lds: xen.lds.S
+- $(CPP) -P $(filter-out -Wa$(comma)%,$(a_flags)) -MQ $@ -o $@ $<
++ $(CPP) -P $(filter-out -Wa$(comma)% -g3,$(a_flags)) -MQ $@ -o $@ $<
+
+ boot/mkelf32: boot/mkelf32.c
+ $(HOSTCC) $(HOSTCFLAGS) -o $@ $<
diff --git a/sysutils/xentools415/patches/patch-xen_include_Makefile b/sysutils/xentools415/patches/patch-xen_include_Makefile
new file mode 100644
index 00000000000..d2917bf59ae
--- /dev/null
+++ b/sysutils/xentools415/patches/patch-xen_include_Makefile
@@ -0,0 +1,15 @@
+$NetBSD: patch-xen_include_Makefile,v 1.1 2021/04/18 12:31:26 bouyer Exp $
+
+also filter out flags added by pkgsrc
+
+--- xen/include/Makefile.orig 2020-12-10 17:08:48.270718042 +0100
++++ xen/include/Makefile 2020-12-10 17:11:56.553825047 +0100
+@@ -57,7 +57,7 @@
+ mv -f $@.new $@
+
+ compat/%.i: compat/%.c Makefile
+- $(CPP) $(filter-out -Wa$(comma)% -include %/include/xen/config.h,$(XEN_CFLAGS)) $(cppflags-y) -o $@ $<
++ $(filter-out -Wa$(comma)% -g3 -include %/include/xen/config.h,$(CPP) $(XEN_CFLAGS)) $(cppflags-y) -o $@ $<
+
+ compat/%.c: public/%.h xlat.lst Makefile $(BASEDIR)/tools/compat-build-source.py
+ mkdir -p $(@D)