pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/sysutils



Module Name:    pkgsrc
Committed By:   bouyer
Date:           Tue Jul 24 13:40:11 UTC 2018

Added Files:
        pkgsrc/sysutils/xenkernel411: DESCR MESSAGE Makefile PLIST distinfo
        pkgsrc/sysutils/xenkernel411/patches: patch-Config.mk
            patch-xen_Makefile patch-xen_Rules.mk patch-xen_arch_x86_Rules.mk
            patch-xen_arch_x86_boot_build32.mk patch-xen_tools_symbols.c
            patch-zz-JBeulich patch-zz-bouyer
        pkgsrc/sysutils/xentools411: DESCR MESSAGE MESSAGE.NetBSD Makefile
            PLIST distinfo
        pkgsrc/sysutils/xentools411/patches: patch-.._ipxe_src_core_settings.c
            patch-.._ipxe_src_net_fcels.c patch-Config.mk patch-Makefile
            patch-docs_man_xl-disk-configuration.pod.5
            patch-docs_man_xl.cfg.pod.5.in patch-docs_man_xl.conf.pod.5
            patch-docs_man_xl.pod.1.in patch-docs_man_xlcpupool.cfg.pod.5
            patch-docs_misc_block-scripts.txt patch-extras_mini-os_Config.mk
            patch-extras_mini-os_arch_x86_arch.mk
            patch-extras_mini-os_include_fcntl.h
            patch-extras_mini-os_include_time.h patch-extras_mini-os_lib_sys.c
            patch-extras_mini-os_lock.c patch-m4_paths.m4 patch-tools_Makefile
            patch-tools_Rules.mk patch-tools_configure
            patch-tools_console_daemon_utils.c
            patch-tools_debugger_gdbsx_Makefile patch-tools_examples_Makefile
            patch-tools_firmware_etherboot_Makefile
            patch-tools_firmware_hvmloader_Makefile
            patch-tools_hotplug_NetBSD_Makefile
            patch-tools_hotplug_NetBSD_block
            patch-tools_hotplug_NetBSD_vif-bridge
            patch-tools_hotplug_NetBSD_vif-ip
            patch-tools_hotplug_common_Makefile
            patch-tools_include_xen-sys_NetBSD_gntdev.h
            patch-tools_libs_call_netbsd.c patch-tools_libs_call_private.h
            patch-tools_libs_evtchn_netbsd.c
            patch-tools_libs_foreignmemory_compat.c
            patch-tools_libs_foreignmemory_netbsd.c
            patch-tools_libs_foreignmemory_private.h
            patch-tools_libxl_libxl__create.c patch-tools_libxl_libxl_dom.c
            patch-tools_libxl_libxl_event.c patch-tools_libxl_libxl_internal.h
            patch-tools_libxl_libxl_uuid.c patch-tools_ocaml_common.make
            patch-tools_ocaml_xenstored_Makefile
            patch-tools_ocaml_xenstored_utils.ml
            patch-tools_qemu-xen-traditional_Makefile
            patch-tools_qemu-xen-traditional_block-raw-posix.c
            patch-tools_qemu-xen-traditional_configure
            patch-tools_qemu-xen-traditional_hw_e1000.c
            patch-tools_qemu-xen-traditional_hw_ide.c
            patch-tools_qemu-xen-traditional_hw_pass-through.c
            patch-tools_qemu-xen-traditional_hw_pass-through.h
            patch-tools_qemu-xen-traditional_hw_piix4acpi.c
            patch-tools_qemu-xen-traditional_hw_pt-graphics.c
            patch-tools_qemu-xen-traditional_hw_pt-msi.c
            patch-tools_qemu-xen-traditional_hw_pt-msi.h
            patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak
            patch-tools_qemu-xen-traditional_net.c
            patch-tools_qemu-xen-traditional_xen-hooks.mak
            patch-tools_qemu-xen_audio_audio.c patch-tools_qemu-xen_configure
            patch-tools_qemu-xen_qemu-doc.texi
            patch-tools_xenpaging_xenpaging.c patch-tools_xenstore_xc.c
            patch-tools_xenstore_xs_lib.c patch-tools_xentrace_xentrace.c
            patch-tools_xl_Makefile patch-xen_Rules.mk
            patch-xen_tools_symbols.c

Log Message:
Add Xen 4.11.0 packages.
Note that there is a bug in 4.11 (also present in recent 4.6 and 4.8)
which causes an infrequent assert failure when running NetBSD PV guests.
The root cause has not been found, but a workaround is inclued which doesn't
seems to have ill effects. See xenkernel411/patches/patch-zz-bouyer
for details.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/xenkernel411/DESCR \
    pkgsrc/sysutils/xenkernel411/MESSAGE \
    pkgsrc/sysutils/xenkernel411/Makefile pkgsrc/sysutils/xenkernel411/PLIST \
    pkgsrc/sysutils/xenkernel411/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/xenkernel411/patches/patch-Config.mk \
    pkgsrc/sysutils/xenkernel411/patches/patch-xen_Makefile \
    pkgsrc/sysutils/xenkernel411/patches/patch-xen_Rules.mk \
    pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_Rules.mk \
    pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_boot_build32.mk \
    pkgsrc/sysutils/xenkernel411/patches/patch-xen_tools_symbols.c \
    pkgsrc/sysutils/xenkernel411/patches/patch-zz-JBeulich \
    pkgsrc/sysutils/xenkernel411/patches/patch-zz-bouyer
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/xentools411/DESCR \
    pkgsrc/sysutils/xentools411/MESSAGE \
    pkgsrc/sysutils/xentools411/MESSAGE.NetBSD \
    pkgsrc/sysutils/xentools411/Makefile pkgsrc/sysutils/xentools411/PLIST \
    pkgsrc/sysutils/xentools411/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_core_settings.c \
    pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c \
    pkgsrc/sysutils/xentools411/patches/patch-Config.mk \
    pkgsrc/sysutils/xentools411/patches/patch-Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl-disk-configuration.pod.5 \
    pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.cfg.pod.5.in \
    pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.conf.pod.5 \
    pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.pod.1.in \
    pkgsrc/sysutils/xentools411/patches/patch-docs_man_xlcpupool.cfg.pod.5 \
    pkgsrc/sysutils/xentools411/patches/patch-docs_misc_block-scripts.txt \
    pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_Config.mk \
    pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_arch_x86_arch.mk \
    pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_fcntl.h \
    pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_time.h \
    pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lib_sys.c \
    pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lock.c \
    pkgsrc/sysutils/xentools411/patches/patch-m4_paths.m4 \
    pkgsrc/sysutils/xentools411/patches/patch-tools_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_Rules.mk \
    pkgsrc/sysutils/xentools411/patches/patch-tools_configure \
    pkgsrc/sysutils/xentools411/patches/patch-tools_console_daemon_utils.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_debugger_gdbsx_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_examples_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_etherboot_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_hvmloader_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_block \
    pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-bridge \
    pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-ip \
    pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_common_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_include_xen-sys_NetBSD_gntdev.h \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_netbsd.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_private.h \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libs_evtchn_netbsd.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_compat.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_netbsd.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_private.h \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl__create.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_dom.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_event.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_internal.h \
    pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_uuid.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_common.make \
    pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_utils.ml \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_configure \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_e1000.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_ide.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_net.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_audio_audio.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_configure \
    pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_qemu-doc.texi \
    pkgsrc/sysutils/xentools411/patches/patch-tools_xenpaging_xenpaging.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xc.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xs_lib.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_xentrace_xentrace.c \
    pkgsrc/sysutils/xentools411/patches/patch-tools_xl_Makefile \
    pkgsrc/sysutils/xentools411/patches/patch-xen_Rules.mk \
    pkgsrc/sysutils/xentools411/patches/patch-xen_tools_symbols.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/sysutils/xenkernel411/DESCR
diff -u /dev/null pkgsrc/sysutils/xenkernel411/DESCR:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/DESCR  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,14 @@
+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.8 Xen kernel itself.  PCI passthrough is
+not supported.  PAE is mandatory; on i386 one must use XEN3PAE_DOM[0U].
Index: pkgsrc/sysutils/xenkernel411/MESSAGE
diff -u /dev/null pkgsrc/sysutils/xenkernel411/MESSAGE:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/MESSAGE        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2018/07/24 13:40:11 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.
+===========================================================================
Index: pkgsrc/sysutils/xenkernel411/Makefile
diff -u /dev/null pkgsrc/sysutils/xenkernel411/Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/Makefile       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,78 @@
+# $NetBSD: Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+VERSION=       4.11.0
+#PKGREVISION=  4
+DISTNAME=      xen-${VERSION}
+PKGNAME=       xenkernel411-${VERSION}
+CATEGORIES=    sysutils
+MASTER_SITES=  https://downloads.xenproject.org/release/xen/${VERSION}/
+DIST_SUBDIR=   xen411
+
+MAINTAINER=    bouyer%NetBSD.org@localhost
+HOMEPAGE=      http://xenproject.org/
+COMMENT=       Xen 4.11.x Kernel
+
+LICENSE=       gnu-gpl-v2
+
+ONLY_FOR_PLATFORM=     Linux-2.6*-x86_64
+ONLY_FOR_PLATFORM+=    NetBSD-[5-9].*-x86_64
+
+SSP_SUPPORTED= no
+
+NO_CONFIGURE=  yes
+USE_TOOLS+=    gmake
+
+PYTHON_FOR_BUILD_ONLY=         YES
+PYTHON_VERSIONS_INCOMPATIBLE=  34 35 36
+
+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=     xen411-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
+.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_CRASH_DEBUG 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"
Index: pkgsrc/sysutils/xenkernel411/PLIST
diff -u /dev/null pkgsrc/sysutils/xenkernel411/PLIST:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/PLIST  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+xen411-kernel/xen-debug.gz
+xen411-kernel/xen.gz
Index: pkgsrc/sysutils/xenkernel411/distinfo
diff -u /dev/null pkgsrc/sysutils/xenkernel411/distinfo:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/distinfo       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,14 @@
+$NetBSD: distinfo,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+SHA1 (xen411/xen-4.11.0.tar.gz) = 32b0657002bcd1992dcb6b7437dd777463f3b59a
+RMD160 (xen411/xen-4.11.0.tar.gz) = a2195b67ffd4bc1e6fc36bfc580ee9efe1ae708c
+SHA512 (xen411/xen-4.11.0.tar.gz) = 33d431c194f10d5ee767558404a1f80a66b3df019012b0bbd587fcbc9524e1bba7ea04269020ce891fe9d211d2f81c63bf78abedcdbe1595aee26251c803a50a
+Size (xen411/xen-4.11.0.tar.gz) = 25131533 bytes
+SHA1 (patch-Config.mk) = 9372a09efd05c9fbdbc06f8121e411fcb7c7ba65
+SHA1 (patch-xen_Makefile) = 465388d80de414ca3bb84faefa0f52d817e423a6
+SHA1 (patch-xen_Rules.mk) = c743dc63f51fc280d529a7d9e08650292c171dac
+SHA1 (patch-xen_arch_x86_Rules.mk) = 0bedfc53a128a87b6a249ae04fbdf6a053bfb70b
+SHA1 (patch-xen_arch_x86_boot_build32.mk) = b82c20de9b86ddaa9d05bbc1ff28f970eb78473c
+SHA1 (patch-xen_tools_symbols.c) = 6070b3b5ccc38a196283cfc1c52f5d87858beb18
+SHA1 (patch-zz-JBeulich) = d9eed028cbaf24cfd3fd725fdbb8d0264a19d615
+SHA1 (patch-zz-bouyer) = fb8a8e27d1879663d2f4dd198484626eaf20dd50

Index: pkgsrc/sysutils/xenkernel411/patches/patch-Config.mk
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-Config.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-Config.mk        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,14 @@
+$NetBSD: patch-Config.mk,v 1.1 2018/07/24 13:40:11 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     ?= /
Index: pkgsrc/sysutils/xenkernel411/patches/patch-xen_Makefile
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-xen_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-xen_Makefile     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-xen_Makefile,v 1.1 2018/07/24 13:40:11 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' \
Index: pkgsrc/sysutils/xenkernel411/patches/patch-xen_Rules.mk
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-xen_Rules.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-xen_Rules.mk     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-xen_Rules.mk,v 1.1 2018/07/24 13:40:11 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
Index: pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_Rules.mk
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_Rules.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_Rules.mk    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-xen_arch_x86_Rules.mk,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- xen/arch/x86/Rules.mk.orig 2018-04-17 19:21:31.000000000 +0200
++++ xen/arch/x86/Rules.mk      2018-04-23 13:31:24.000000000 +0200
+@@ -8,6 +8,7 @@
+ CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
+ CFLAGS += -DXEN_IMG_OFFSET=$(XEN_IMG_OFFSET)
+ CFLAGS += '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))'
++CFLAGS += $(EXTRA_CFLAGS)
+ 
+ # Prevent floating-point variables from creeping into Xen.
+ CFLAGS += -msoft-float
Index: pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_boot_build32.mk
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_boot_build32.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-xen_arch_x86_boot_build32.mk     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,15 @@
+$NetBSD: patch-xen_arch_x86_boot_build32.mk,v 1.1 2018/07/24 13:40:11 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 $@ $<
Index: pkgsrc/sysutils/xenkernel411/patches/patch-xen_tools_symbols.c
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-xen_tools_symbols.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-xen_tools_symbols.c      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,19 @@
+$NetBSD: patch-xen_tools_symbols.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+fix "error: array subscript has type 'char'"
+
+--- xen/tools/symbols.c.orig   2018-04-17 19:21:31.000000000 +0200
++++ xen/tools/symbols.c        2018-04-23 13:29:47.000000000 +0200
+@@ -173,11 +173,11 @@
+       /* include the type field in the symbol name, so that it gets
+        * compressed together */
+       s->len = strlen(str) + 1;
+-      if (islower(stype) && filename)
++      if (islower((uint8_t)stype) && filename)
+               s->len += strlen(filename) + 1;
+       s->sym = malloc(s->len + 1);
+       sym = SYMBOL_NAME(s);
+-      if (islower(stype) && filename) {
++      if (islower((uint8_t)stype) && filename) {
+               sym = stpcpy(sym, filename);
+               *sym++ = '#';
+       }
Index: pkgsrc/sysutils/xenkernel411/patches/patch-zz-JBeulich
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-zz-JBeulich:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-zz-JBeulich      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,59 @@
+$NetBSD: patch-zz-JBeulich,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+x86: further avoid setting TLB flush time stamp
+
+NetBSD's use of linear page tables in 32-bit mode exposes an issue with
+us still storing TLB flush time stamps too early, corrupting the
+linear_pt_count field living in the same union. Since we go that path
+(for page tables) only when neither PGT_validated nor PGT_partial are
+set on a page, we don't really require a flush to happen (see also the
+code comment), yet we're also no concerned if one happens which isn't
+needed (which might occur when we never write the time stamp).
+
+Reported-by: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
+Signed-off-by: Jan Beulich <jbeulich%suse.com@localhost>
+
+--- ./xen/arch/x86/mm.c.orig   2018-07-09 15:47:19.000000000 +0200
++++ ./xen/arch/x86/mm.c        2018-07-16 12:38:47.000000000 +0200
+@@ -2538,8 +2538,17 @@
+         switch ( nx & (PGT_locked | PGT_count_mask) )
+         {
+         case 0:
+-            if ( unlikely((nx & PGT_type_mask) <= PGT_l4_page_table) &&
+-                 likely(nx & (PGT_validated|PGT_partial)) )
++            /*
++             * set_tlbflush_timestamp() accesses the same union linear_pt_count
++             * lives in. Pages (including page table ones), however, don't need
++             * their flush time stamp set except when the last reference is
++             * dropped. For PT pages this happens in _put_final_page_type(). PT
++             * pages which don't have PGT_validated set do not require flushing,
++             * as they would never have been installed into a PT hierarchy.
++             */
++            if ( likely((nx & PGT_type_mask) > PGT_l4_page_table) )
++                set_tlbflush_timestamp(page);
++            else if ( likely(nx & (PGT_validated|PGT_partial)) )
+             {
+                 int rc;
+ 
+@@ -2560,19 +2569,8 @@
+                 return rc;
+             }
+ 
+-            if ( !ptpg || !PGT_type_equal(x, ptpg->u.inuse.type_info) )
+-            {
+-                /*
+-                 * set_tlbflush_timestamp() accesses the same union
+-                 * linear_pt_count lives in. Pages (including page table ones),
+-                 * however, don't need their flush time stamp set except when
+-                 * the last reference is being dropped. For page table pages
+-                 * this happens in _put_final_page_type().
+-                 */
+-                set_tlbflush_timestamp(page);
+-            }
+-            else
+-                BUG_ON(!IS_ENABLED(CONFIG_PV_LINEAR_PT));
++            BUG_ON(!IS_ENABLED(CONFIG_PV_LINEAR_PT) && ptpg &&
++              PGT_type_equal(x, ptpg->u.inuse.type_info));
+ 
+             /* fall through */
+         default:
Index: pkgsrc/sysutils/xenkernel411/patches/patch-zz-bouyer
diff -u /dev/null pkgsrc/sysutils/xenkernel411/patches/patch-zz-bouyer:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xenkernel411/patches/patch-zz-bouyer        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,23 @@
+$NetBSD: patch-zz-bouyer,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+Dirty hack to avoid assert failure. This has been discussed on xen-devel
+but no solution has been fonud so far.
+The box producing http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/
+is running with this patch; the printk has fired but the
+hypervisor keeps running.
+
+--- xen/arch/x86/mm.c.orig     2018-07-19 10:32:07.000000000 +0200
++++ xen/arch/x86/mm.c  2018-07-21 20:47:47.000000000 +0200
+@@ -674,7 +674,12 @@
+     typeof(pg->linear_pt_count) oc;
+ 
+     oc = arch_fetch_and_add(&pg->linear_pt_count, -1);
+-    ASSERT(oc > 0);
++    if (oc <= 0) {
++            gdprintk(XENLOG_WARNING,
++                 "mm.c:dec_linear_entries(): oc %d would fail assert\n", oc);
++          pg->linear_pt_count = 0;
++    }
++    /* ASSERT(oc > 0); */
+ }
+ 
+ static bool inc_linear_uses(struct page_info *pg)

Index: pkgsrc/sysutils/xentools411/DESCR
diff -u /dev/null pkgsrc/sysutils/xentools411/DESCR:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/DESCR   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,5 @@
+The Xen virtual machine monitor allows running several virtual machines
+on a single physical machine.  The xentools48 package contains the
+tools to create, destroy and control the virtual machines.
+
+This package contains the tools for Xen 4.8.x
Index: pkgsrc/sysutils/xentools411/MESSAGE
diff -u /dev/null pkgsrc/sysutils/xentools411/MESSAGE:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/MESSAGE Tue Jul 24 13:40:11 2018
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2018/07/24 13:40:11 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.
+
+===========================================================================
Index: pkgsrc/sysutils/xentools411/MESSAGE.NetBSD
diff -u /dev/null pkgsrc/sysutils/xentools411/MESSAGE.NetBSD:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/MESSAGE.NetBSD  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,17 @@
+===========================================================================
+$NetBSD: MESSAGE.NetBSD,v 1.1 2018/07/24 13:40:11 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
+
+===========================================================================
Index: pkgsrc/sysutils/xentools411/Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/Makefile        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,283 @@
+# $NetBSD: Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+#
+VERSION=       4.11.0
+VERSION_IPXE=  356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d
+DIST_IPXE=     ipxe-git-${VERSION_IPXE}.tar.gz
+
+DIST_SUBDIR=           xen411
+DISTNAME=              xen-${VERSION}
+PKGNAME=               xentools411-${VERSION}
+CATEGORIES=            sysutils
+MASTER_SITES=          https://downloads.xenproject.org/release/xen/${VERSION}/
+
+DISTFILES=             ${DISTNAME}.tar.gz
+
+XEN_EXTFILES=          http://xenbits.xensource.com/xen-extfiles/
+DISTFILES+=                    ${DIST_IPXE}
+SITES.${DIST_IPXE} +=          ${XEN_EXTFILES}
+
+MAINTAINER=            bouyer%NetBSD.org@localhost
+HOMEPAGE=              http://xenproject.org/
+COMMENT=               Userland Tools for Xen 4.11.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) # XXX broken with iasl 20171110
+BUILD_DEPENDS+=        acpica-utils-[0-9]*:../../sysutils/acpica-utils
+#.endif
+DEPENDS+=      ${PYPKGPREFIX}-curses>=0:../../devel/py-curses
+
+PKG_SYSCONFSUBDIR=     xen
+
+ONLY_FOR_PLATFORM=     Linux-2.6*-x86_64
+ONLY_FOR_PLATFORM+=    NetBSD-[5-9].*-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
+USE_LANGUAGES=         c
+
+GNU_CONFIGURE=         YES
+#CONFIGURE_ARGS+=      --enable-xenapi
+CONFIGURE_ARGS+=       --disable-seabios
+
+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} PYTHON=${PYTHONBIN:Q} SED=${SED:Q}
+MAKE_ENV+=             V=YES
+MAKE_ENV+=             NO_WERROR=1
+
+PYTHON_VERSIONS_INCOMPATIBLE=  34 35 36
+
+PY_PATCHPLIST=         yes
+REPLACE_PYTHON+=       tools/misc/xen-bugtool tools/misc/xen-ringwatch
+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
+
+SUBST_CLASSES+=                perlpath
+SUBST_STAGE.perlpath=  pre-configure
+SUBST_FILES.perlpath=  tools/misc/xencov_split
+SUBST_FILES.perlpath+= tools/firmware/rombios/makesym.perl
+SUBST_FILES.perlpath+= tools/qemu-xen-traditional/texi2pod.pl
+SUBST_FILES.perlpath+= tools/examples/xeninfo.pl
+SUBST_FILES.perlpath+= tools/include/xen-external/bsd-sys-queue-h-seddery
+SUBST_FILES.perlpath+= tools/qemu-xen/scripts/texi2pod.pl
+SUBST_FILES.perlpath+= tools/qemu-xen/scripts/get_maintainer.pl
+SUBST_FILES.perlpath+= tools/qemu-xen/scripts/checkpatch.pl
+SUBST_FILES.perlpath+= tools/libxl/libxl_save_msgs_gen.pl
+SUBST_FILES.perlpath+= tools/libxl/check-libxl-api-rules
+SUBST_FILES.perlpath+= ../ipxe/src/drivers/infiniband/qib_genbits.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/catrom.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/diffsize.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/disrom.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/get-pci-ids
+SUBST_FILES.perlpath+= ../ipxe/src/util/licence.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/mergerom.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/modrom.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/padimg.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/parserom.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/sortobjdump.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/swapdevids.pl
+SUBST_FILES.perlpath+= ../ipxe/src/util/symcheck.pl
+SUBST_SED.perlpath=    -e "s|/usr/bin/perl|${PREFIX}/bin/perl|g"
+
+SUBST_CLASSES+=                pathsvar
+SUBST_STAGE.pathsvar=  pre-configure
+SUBST_FILES.pathsvar=  tools/Makefile \
+                       tools/hotplug/Linux/init.d/sysconfig.xendomains
+SUBST_SED.pathsvar=    -e "s|/var/lib|${VARBASE}/run|g"
+
+SUBST_CLASSES+=                conf
+SUBST_STAGE.conf=      pre-configure
+SUBST_FILES.conf+=     tools/ocaml/xenstored/define.ml
+SUBST_FILES.conf+=     tools/libxl/xl_cmdtable.c
+SUBST_FILES.conf+=     docs/misc/block-scripts.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.NetBSD+= proc
+SUBST_STAGE.proc=      pre-configure
+SUBST_FILES.proc+=     tools/ocaml/xenstored/define.ml
+SUBST_SED.proc=                -e "s|/proc|/kern|g"
+
+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,'
+
+OPSYSVARS+=            PROCPATH
+PROCPATH.NetBSD=       /kern
+PROCPATH.*=            /proc
+
+.include "../../mk/bsd.prefs.mk"
+
+SUBST_CLASSES+=                procdev
+SUBST_STAGE.procdev=   pre-configure
+SUBST_FILES.procdev=   tools/ocaml/xenstored/define.ml
+.if ${OPSYS} == "NetBSD"
+SUBST_SED.procdev=     -e "s|@PROCDEV@|/dev|g"
+.else
+SUBST_SED.procdev=     -e "s|@PROCDEV@|/proc/xen|g"
+.endif
+
+.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
+       ${CP} -f ${FILESDIR}/locking.sh  ${WRKSRC}/tools/hotplug/NetBSD/
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xenstore-chmod.pod.1 |\
+           pod2man -n xenstore-chmod >${WRKDIR}/xenstore-chmod.1
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xenstore-ls.pod.1 |\
+           pod2man -n xenstore-ls >${WRKDIR}/xenstore-ls.1
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xenstore.pod.1 |\
+           pod2man -n xenstore >${WRKDIR}/xenstore.1
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xentop.pod.1 |\
+           pod2man -n xentop >${WRKDIR}/xentop.1
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xentrace.pod.8 |\
+           pod2man -n xentrace >${WRKDIR}/xentrace.8
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xentrace_format.pod.1 |\
+           pod2man -n xenstore_format >${WRKDIR}/xentrace_format.1
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xl.cfg.pod.5.in |\
+           pod2man -n xl.cfg >${WRKDIR}/xl.cfg.5
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xl.conf.pod.5 |\
+           pod2man -n xl.conf >${WRKDIR}/xl.conf.5
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xl.pod.1.in |\
+           pod2man -n xl >${WRKDIR}/xl.1
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xlcpupool.cfg.pod.5 |\
+           pod2man -n xlcpupool.cfg >${WRKDIR}/xlcpupool.cfg.5
+       ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
+               ${WRKSRC}/docs/man/xl-disk-configuration.pod.5 |\
+           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
+
+.if (${OPSYS} == "NetBSD")
+TARGET_CC=     ${PREFIX}/gcc48/bin/gcc
+.else
+TARGET_CC=     gcc
+.endif
+
+do-build:
+       cd ${WRKSRC} && ${BUILD_MAKE_CMD} build-tools
+
+do-install:
+       cd ${WRKSRC} && ${BUILD_MAKE_CMD} DESTDIR=${DESTDIR} install-tools
+
+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"
+.if (${OPSYS} == "NetBSD")
+.include "../../lang/gcc48/buildlink3.mk"
+.endif
+
+.include "../../mk/curses.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/sysutils/xentools411/PLIST
diff -u /dev/null pkgsrc/sysutils/xentools411/PLIST:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/PLIST   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,499 @@
+@comment $NetBSD: PLIST,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+${PYSITELIB}/fsimage.so
+${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.3-py2.7.egg-info
+${PYSITELIB}/xen-3.0-py2.7.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
+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/fsimage.h
+include/fsimage_grub.h
+include/fsimage_plugin.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-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/callback.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/io/9pfs.h
+include/xen/io/blkif.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/sys/evtchn.h
+include/xen/sys/gntdev.h
+include/xen/sys/privcmd.h
+include/xen/sysctl.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/xengnttab.h
+include/xenguest.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/xentoollog.h
+include/xs.h
+include/xs_lib.h
+lib/debug/usr/pkg/libexec/xen/boot/xen-shim-syms
+lib/fs/ext2fs/fsimage.so
+lib/fs/fat/fsimage.so
+lib/fs/iso9660/fsimage.so
+lib/fs/reiserfs/fsimage.so
+lib/fs/ufs/fsimage.so
+lib/fs/xfs/fsimage.so
+lib/fs/zfs/fsimage.so
+lib/libfsimage.so
+lib/libfsimage.so.1.0
+lib/libfsimage.so.1.0.0
+lib/libxencall.a
+lib/libxencall.so
+lib/libxencall.so.1
+lib/libxencall.so.1.1
+lib/libxenctrl.a
+lib/libxenctrl.so
+lib/libxenctrl.so.4.11
+lib/libxenctrl.so.4.11.0
+lib/libxendevicemodel.a
+lib/libxendevicemodel.so
+lib/libxendevicemodel.so.1
+lib/libxendevicemodel.so.1.2
+lib/libxenevtchn.a
+lib/libxenevtchn.so
+lib/libxenevtchn.so.1
+lib/libxenevtchn.so.1.1
+lib/libxenforeignmemory.a
+lib/libxenforeignmemory.so
+lib/libxenforeignmemory.so.1
+lib/libxenforeignmemory.so.1.3
+lib/libxengnttab.a
+lib/libxengnttab.so
+lib/libxengnttab.so.1
+lib/libxengnttab.so.1.1
+lib/libxenguest.a
+lib/libxenguest.so
+lib/libxenguest.so.4.11
+lib/libxenguest.so.4.11.0
+lib/libxenlight.a
+lib/libxenlight.so
+lib/libxenlight.so.4.11
+lib/libxenlight.so.4.11.0
+lib/libxenstat.a
+lib/libxenstat.so
+lib/libxenstat.so.0
+lib/libxenstat.so.0.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.11
+lib/libxlutil.so.4.11.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
+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-img
+libexec/xen/bin/qemu-io
+libexec/xen/bin/qemu-nbd
+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/xen-shim
+man/man1/xenstore-chmod.1
+man/man1/xenstore-ls.1
+man/man1/xenstore.1
+man/man1/xentop.1
+man/man1/xentrace_format.1
+man/man1/xl.1
+man/man5/xl.cfg.5
+man/man5/xl.conf.5
+man/man5/xlcpupool.cfg.5
+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/kdd
+sbin/oxenstored
+sbin/xen-bugtool
+sbin/xen-diag
+sbin/xen-hptool
+sbin/xen-hvmcrash
+sbin/xen-hvmctx
+sbin/xen-livepatch
+sbin/xen-lowmemd
+sbin/xen-mfndump
+sbin/xen-ringwatch
+sbin/xen-tmem-list-parse
+sbin/xenbaked
+sbin/xenconsoled
+sbin/xencov
+sbin/xenlockprof
+sbin/xenmon.py
+sbin/xenperf
+sbin/xenpm
+sbin/xenpmd
+sbin/xenstored
+sbin/xentop
+sbin/xentrace
+sbin/xentrace_setmask
+sbin/xentrace_setsize
+sbin/xenwatchdogd
+sbin/xl
+share/examples/xen/README
+share/examples/xen/README.incompatibilities
+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.conf
+share/examples/xen/xl.sh
+share/examples/xen/xlexample.hvm
+share/examples/xen/xlexample.pvlinux
+share/pkgconfig/xencall.pc
+share/pkgconfig/xencontrol.pc
+share/pkgconfig/xendevicemodel.pc
+share/pkgconfig/xenevtchn.pc
+share/pkgconfig/xenforeignmemory.pc
+share/pkgconfig/xengnttab.pc
+share/pkgconfig/xenguest.pc
+share/pkgconfig/xenlight.pc
+share/pkgconfig/xenstat.pc
+share/pkgconfig/xenstore.pc
+share/pkgconfig/xentoolcore.pc
+share/pkgconfig/xentoollog.pc
+share/pkgconfig/xlutil.pc
+share/qemu-xen/qemu/QEMU,cgthree.bin
+share/qemu-xen/qemu/QEMU,tcx.bin
+share/qemu-xen/qemu/acpi-dsdt.aml
+share/qemu-xen/qemu/bamboo.dtb
+share/qemu-xen/qemu/bios-256k.bin
+share/qemu-xen/qemu/bios.bin
+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/keymaps/ar
+share/qemu-xen/qemu/keymaps/bepo
+share/qemu-xen/qemu/keymaps/common
+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/modifiers
+share/qemu-xen/qemu/keymaps/nl
+share/qemu-xen/qemu/keymaps/nl-be
+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/palcode-clipper
+share/qemu-xen/qemu/petalogix-ml605.dtb
+share/qemu-xen/qemu/petalogix-s3adsp1800.dtb
+share/qemu-xen/qemu/ppc_rom.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-icon.bmp
+share/qemu-xen/qemu/qemu_logo_no_text.svg
+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/spapr-rtas.bin
+share/qemu-xen/qemu/trace-events-all
+share/qemu-xen/qemu/u-boot.e500
+share/qemu-xen/qemu/vgabios-cirrus.bin
+share/qemu-xen/qemu/vgabios-qxl.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
Index: pkgsrc/sysutils/xentools411/distinfo
diff -u /dev/null pkgsrc/sysutils/xentools411/distinfo:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/distinfo        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,79 @@
+$NetBSD: distinfo,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+SHA1 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = 272b8c904dc0127690eca2c5c20c67479e40da34
+RMD160 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = cfcb4a314c15da19b36132b27126f3bd9699d0e5
+SHA512 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = 
bbcce5e55040e7e29adebd4a5253a046016a6e2e7ff34cf801a42d147e1ec1af57e0297318249bfa9c5bbeac969fe4b37c18cbf845a80b2136d65387a4fc31da
+Size (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = 3732065 bytes
+SHA1 (xen411/xen-4.11.0.tar.gz) = 32b0657002bcd1992dcb6b7437dd777463f3b59a
+RMD160 (xen411/xen-4.11.0.tar.gz) = a2195b67ffd4bc1e6fc36bfc580ee9efe1ae708c
+SHA512 (xen411/xen-4.11.0.tar.gz) = 33d431c194f10d5ee767558404a1f80a66b3df019012b0bbd587fcbc9524e1bba7ea04269020ce891fe9d211d2f81c63bf78abedcdbe1595aee26251c803a50a
+Size (xen411/xen-4.11.0.tar.gz) = 25131533 bytes
+SHA1 (patch-.._ipxe_src_core_settings.c) = 1eab2fbd8b22dde2b8aa830ae7701603486f74e4
+SHA1 (patch-.._ipxe_src_net_fcels.c) = 3b515307d8203b60815ad76bfd2a82289e05ebc5
+SHA1 (patch-Config.mk) = c41005a60de2f94a72b0206030eb021c137653d3
+SHA1 (patch-Makefile) = 2f3a5eafc5039b149c98dd5e59c39a3197fd9264
+SHA1 (patch-docs_man_xl-disk-configuration.pod.5) = 03ff4c22dde1e1b60ab8750c8971ea057e479151
+SHA1 (patch-docs_man_xl.cfg.pod.5.in) = 951915037a9975b76cc5c41a0e1abe0a202a3696
+SHA1 (patch-docs_man_xl.conf.pod.5) = d77e3313750db315d540d7713c95cd54d6f02938
+SHA1 (patch-docs_man_xl.pod.1.in) = 9b37ef724f2827bc05110e5456a8668257509cab
+SHA1 (patch-docs_man_xlcpupool.cfg.pod.5) = 3f6db65d95b5fc607c2fa7e2fc975e0ddbfdd5e5
+SHA1 (patch-docs_misc_block-scripts.txt) = 29a49edc4d15c4c8db822fd1d6356d07aeb27b86
+SHA1 (patch-extras_mini-os_Config.mk) = cb5cdb32f1b3c55abad702ab6768caf59d886ff2
+SHA1 (patch-extras_mini-os_arch_x86_arch.mk) = 8b4f1fe0e888f5b70408d2cc3a3968ce27eae5dc
+SHA1 (patch-extras_mini-os_include_fcntl.h) = 4ed18497227c8c327ee3db9d793caa4ac6254822
+SHA1 (patch-extras_mini-os_include_time.h) = ab3b0794bf892ce6a036aa889c6852d65b508596
+SHA1 (patch-extras_mini-os_lib_sys.c) = f6514ad743a206c0e81dcccd2586e8fe65bfd1b9
+SHA1 (patch-extras_mini-os_lock.c) = e28753793dee483c1ffad8ea8ed2706353046b50
+SHA1 (patch-m4_paths.m4) = 19250964fd808cad30a2aca3de011650a2788251
+SHA1 (patch-tools_Makefile) = a4f873797469190d58cc27bbb55d1afb151a2ff8
+SHA1 (patch-tools_Rules.mk) = c15994d1e0c089674fdea874b56950a07be3deb5
+SHA1 (patch-tools_configure) = aa0838a1eadf70f5ed99748926234c0376989ff5
+SHA1 (patch-tools_console_daemon_utils.c) = 1c954e1edadad2607f7b87eaf2d6285be7f968ff
+SHA1 (patch-tools_debugger_gdbsx_Makefile) = 88960adedd258af3278ef105204ab97c662b8e61
+SHA1 (patch-tools_examples_Makefile) = fe258fc26e4507ca2fb4363c5e2197ee06e89d64
+SHA1 (patch-tools_firmware_etherboot_Makefile) = cc37708336c0a496511926327cfe807ac9f33ce0
+SHA1 (patch-tools_firmware_hvmloader_Makefile) = 02cac5e9314c4c71105f15a3c1c303c573d6583a
+SHA1 (patch-tools_hotplug_NetBSD_Makefile) = a880a38f82e97a5d7846345307d354c8055d23a9
+SHA1 (patch-tools_hotplug_NetBSD_block) = 535ecef7cc0431a14515387e47aadea5dec79569
+SHA1 (patch-tools_hotplug_NetBSD_vif-bridge) = 6d5288c9c47fe81b388ea73f9a71ca3975df36c2
+SHA1 (patch-tools_hotplug_NetBSD_vif-ip) = cb8fd1150f6ac24fa853444618437f7d984b4282
+SHA1 (patch-tools_hotplug_common_Makefile) = 590186dfb31713e8d9ee675186f826bcbcba3c15
+SHA1 (patch-tools_include_xen-sys_NetBSD_gntdev.h) = ce4f7160e92d23afa029c9548cead180fe980ff4
+SHA1 (patch-tools_libs_call_netbsd.c) = c5e166212b0069220d9155636b41028f0f7f9e9e
+SHA1 (patch-tools_libs_call_private.h) = caeaf937ae379836c3187bee97ac0b986af53f9f
+SHA1 (patch-tools_libs_evtchn_netbsd.c) = 1abb0f128ab0702b606e22f199d297d1e9c0aae5
+SHA1 (patch-tools_libs_foreignmemory_compat.c) = f1404738a9fac23fbde3249f5f4f1d79497aac4d
+SHA1 (patch-tools_libs_foreignmemory_netbsd.c) = dabf9cb5c0623119143abb54c5dd2aecfbd79b2b
+SHA1 (patch-tools_libs_foreignmemory_private.h) = 146a3d789a8b97b7ece471c392ed998c628e5be8
+SHA1 (patch-tools_libxl_libxl__create.c) = 09cd562f0839dda6f92d63d8fc8ed6de08dd82a8
+SHA1 (patch-tools_libxl_libxl_dom.c) = 0c4a96523d13de65aaa71ef705c3579ee8d641f3
+SHA1 (patch-tools_libxl_libxl_event.c) = 8147122d03102eccc45c48a7d6ca1aa5d6286040
+SHA1 (patch-tools_libxl_libxl_internal.h) = 613edc0fa055b23f5dc2a2448456d3d6005337fe
+SHA1 (patch-tools_libxl_libxl_uuid.c) = 1eb8c027dbeb7e67df7475ee6e4d87220140c65b
+SHA1 (patch-tools_ocaml_common.make) = 4b845bdf3a013852109749ee18dfe28e3440d951
+SHA1 (patch-tools_ocaml_xenstored_Makefile) = b267702cf4090c7b45bba530e60327fced24e3e5
+SHA1 (patch-tools_ocaml_xenstored_utils.ml) = fd951de732d6c31cae89bd4b58c5650108578d79
+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) = 528878c8465d75b63e044e4f6c89609e4edbc3e0
+SHA1 (patch-tools_qemu-xen_audio_audio.c) = a7f47ff0350900bcb99b5515eeee162144a98cf8
+SHA1 (patch-tools_qemu-xen_configure) = a658cb80bad09f61a6b39a65f4a1bde04105e661
+SHA1 (patch-tools_qemu-xen_qemu-doc.texi) = e72d480ec29829055f01226eaf020d4cbd100d5d
+SHA1 (patch-tools_xenpaging_xenpaging.c) = 0a154b97f1f452a5f80f7c9a835a1f216f12f7e1
+SHA1 (patch-tools_xenstore_xc.c) = cf49b65cba064667e13bb041d1f0099c76ab6a40
+SHA1 (patch-tools_xenstore_xs_lib.c) = e3a8f6e3b149c3ab0f4ec8dcfa455983f94e6c16
+SHA1 (patch-tools_xentrace_xentrace.c) = f964c7555f454358a39f28a2e75db8ee100a4243
+SHA1 (patch-tools_xl_Makefile) = dd4fa8cc66c74eea8b022cd6129aa2831776f2a8
+SHA1 (patch-xen_Rules.mk) = c743dc63f51fc280d529a7d9e08650292c171dac
+SHA1 (patch-xen_tools_symbols.c) = 67b5a38312095029631e00457abc0e4bb633aaf8

Index: pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_core_settings.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_core_settings.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_core_settings.c       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,34 @@
+$NetBSD: patch-.._ipxe_src_core_settings.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- ../ipxe/src/core/settings.c.orig   2016-08-31 18:23:42.000000000 +0200
++++ ../ipxe/src/core/settings.c        2017-03-24 19:44:07.000000000 +0100
+@@ -304,10 +304,12 @@
+  */
+ struct settings * autovivify_child_settings ( struct settings *parent,
+                                             const char *name ) {
++      size_t nlen = strlen(name) + 1;
+       struct {
+               struct autovivified_settings autovivified;
+-              char name[ strlen ( name ) + 1 /* NUL */ ];
++              char name[];
+       } *new_child;
++      size_t tlen = sizeof(*new_child) + nlen;
+       struct settings *settings;
+ 
+       /* Find target parent settings block */
+@@ -318,13 +320,13 @@
+               return settings;
+ 
+       /* Create new generic settings block */
+-      new_child = zalloc ( sizeof ( *new_child ) );
++      new_child = zalloc ( tlen );
+       if ( ! new_child ) {
+               DBGC ( parent, "Settings %p could not create child %s\n",
+                      parent, name );
+               return NULL;
+       }
+-      memcpy ( new_child->name, name, sizeof ( new_child->name ) );
++      memcpy ( new_child->name, name, nlen );
+       ref_init ( &new_child->autovivified.refcnt,
+                  autovivified_settings_free );
+       generic_settings_init ( &new_child->autovivified.generic,
Index: pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,124 @@
+$NetBSD: patch-.._ipxe_src_net_fcels.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- ../ipxe/src/net/fcels.c.orig       2015-01-25 20:27:57.000000000 +0000
++++ ../ipxe/src/net/fcels.c
+@@ -946,8 +946,11 @@ int fc_els_prli_tx ( struct fc_els *els,
+                    struct fc_els_prli_descriptor *descriptor, void *param ) {
+       struct {
+               struct fc_prli_frame frame;
+-              uint8_t param[descriptor->param_len];
+-      } __attribute__ (( packed )) prli;
++              uint8_t param[];
++      } __attribute__ (( packed )) *prli;
++      size_t plen = sizeof(*prli) + descriptor->param_len;
++      uint8_t prli_buf[plen];
++      prli = (void *)prli_buf;
+       struct fc_ulp *ulp;
+       int rc;
+ 
+@@ -960,22 +963,22 @@ int fc_els_prli_tx ( struct fc_els *els,
+       }
+ 
+       /* Build frame for transmission */
+-      memset ( &prli, 0, sizeof ( prli ) );
+-      prli.frame.command = fc_els_tx_command ( els, FC_ELS_PRLI );
+-      prli.frame.page_len =
+-              ( sizeof ( prli.frame.page ) + sizeof ( prli.param ) );
+-      prli.frame.len = htons ( sizeof ( prli ) );
+-      prli.frame.page.type = descriptor->type;
++      memset ( prli, 0, plen );
++      prli->frame.command = fc_els_tx_command ( els, FC_ELS_PRLI );
++      prli->frame.page_len =
++              ( sizeof ( prli->frame.page ) + descriptor->param_len );
++      prli->frame.len = htons ( plen );
++      prli->frame.page.type = descriptor->type;
+       if ( fc_els_is_request ( els ) ) {
+-              prli.frame.page.flags |= htons ( FC_PRLI_ESTABLISH );
++              prli->frame.page.flags |= htons ( FC_PRLI_ESTABLISH );
+       } else if ( fc_link_ok ( &ulp->link ) ) {
+-              prli.frame.page.flags |= htons ( FC_PRLI_ESTABLISH |
++              prli->frame.page.flags |= htons ( FC_PRLI_ESTABLISH |
+                                                   FC_PRLI_RESPONSE_SUCCESS );
+       }
+-      memcpy ( &prli.param, param, sizeof ( prli.param ) );
++      memcpy ( &prli->param, param, descriptor->param_len );
+ 
+       /* Transmit frame */
+-      if ( ( rc = fc_els_tx ( els, &prli, sizeof ( prli ) ) ) != 0 )
++      if ( ( rc = fc_els_tx ( els, prli, plen ) ) != 0 )
+               goto err_tx;
+ 
+       /* Drop temporary reference to ULP */
+@@ -1003,13 +1006,14 @@ int fc_els_prli_rx ( struct fc_els *els,
+                    void *data, size_t len ) {
+       struct {
+               struct fc_prli_frame frame;
+-              uint8_t param[descriptor->param_len];
++              uint8_t param[];
+       } __attribute__ (( packed )) *prli = data;
++      size_t plen = sizeof(*prli) + descriptor->param_len;
+       struct fc_ulp *ulp;
+       int rc;
+ 
+       /* Sanity check */
+-      if ( len < sizeof ( *prli ) ) {
++      if ( len < plen ) {
+               DBGC ( els, FCELS_FMT " received underlength frame:\n",
+                      FCELS_ARGS ( els ) );
+               DBGC_HDA ( els, 0, data, len );
+@@ -1018,7 +1022,7 @@ int fc_els_prli_rx ( struct fc_els *els,
+       }
+ 
+       DBGC ( els, FCELS_FMT " has parameters:\n", FCELS_ARGS ( els ) );
+-      DBGC_HDA ( els, 0, prli->param, sizeof ( prli->param ) );
++      DBGC_HDA ( els, 0, prli->param, descriptor->param_len );
+ 
+       /* Get ULP */
+       ulp = fc_ulp_get_port_id_type ( els->port, &els->peer_port_id,
+@@ -1039,7 +1043,7 @@ int fc_els_prli_rx ( struct fc_els *els,
+       /* Log in ULP, if applicable */
+       if ( prli->frame.page.flags & htons ( FC_PRLI_ESTABLISH ) ) {
+               if ( ( rc = fc_ulp_login ( ulp, prli->param,
+-                                         sizeof ( prli->param ),
++                                         descriptor->param_len,
+                                          fc_els_is_request ( els ) ) ) != 0 ){
+                       DBGC ( els, FCELS_FMT " could not log in ULP: %s\n",
+                              FCELS_ARGS ( els ), strerror ( rc ) );
+@@ -1089,15 +1093,16 @@ int fc_els_prli_detect ( struct fc_els *
+                        const void *data, size_t len ) {
+       const struct {
+               struct fc_prli_frame frame;
+-              uint8_t param[descriptor->param_len];
++              uint8_t param[];
+       } __attribute__ (( packed )) *prli = data;
++      size_t plen = sizeof(*prli) + descriptor->param_len;
+ 
+       /* Check for PRLI */
+       if ( prli->frame.command != FC_ELS_PRLI )
+               return -EINVAL;
+ 
+       /* Check for sufficient length to contain service parameter page */
+-      if ( len < sizeof ( *prli ) )
++      if ( len < plen )
+               return -EINVAL;
+ 
+       /* Check for upper-layer protocol type */
+@@ -1252,15 +1257,16 @@ static int fc_els_echo_rx_request ( stru
+                                   size_t len ) {
+       struct {
+               struct fc_echo_frame_header echo;
+-              char payload[ len - sizeof ( struct fc_echo_frame_header ) ];
++              char payload[];
+       } *echo = data;
++      size_t plen = suzeif(*echo) + len - sizeof ( struct fc_echo_frame_header );
+       int rc;
+ 
+       DBGC ( els, FCELS_FMT "\n", FCELS_ARGS ( els ) );
+ 
+       /* Transmit response */
+       echo->echo.command = FC_ELS_LS_ACC;
+-      if ( ( rc = fc_els_tx ( els, echo, sizeof ( *echo ) ) ) != 0 )
++      if ( ( rc = fc_els_tx ( els, echo, plen ) ) != 0 )
+               return rc;
+ 
+       /* Nothing to do */
Index: pkgsrc/sysutils/xentools411/patches/patch-Config.mk
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-Config.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-Config.mk Tue Jul 24 13:40:11 2018
@@ -0,0 +1,22 @@
+$NetBSD: patch-Config.mk,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- Config.mk.orig     2018-04-17 19:21:31.000000000 +0200
++++ Config.mk  2018-04-23 16:15:57.000000000 +0200
+@@ -31,7 +31,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     ?= /
+@@ -219,6 +219,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)
Index: pkgsrc/sysutils/xentools411/patches/patch-Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-Makefile  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,30 @@
+$NetBSD: patch-Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- Makefile.orig      2018-04-17 19:21:31.000000000 +0200
++++ Makefile   2018-04-23 16:17:25.000000000 +0200
+@@ -61,9 +61,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:
+@@ -129,9 +129,9 @@
+ .PHONY: install-stubdom
+ install-stubdom: mini-os-dir install-tools-public-headers
+       $(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:
Index: pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl-disk-configuration.pod.5
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl-disk-configuration.pod.5:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl-disk-configuration.pod.5      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-docs_man_xl-disk-configuration.pod.5,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- docs/man/xl-disk-configuration.pod.5.orig  2018-04-23 16:19:11.000000000 +0200
++++ docs/man/xl-disk-configuration.pod.5       2018-04-23 16:19:41.000000000 +0200
+@@ -257,7 +257,7 @@
+ 
+ Specifies that B<target> is not a normal host path, but rather
+ information to be interpreted by the executable program I<SCRIPT>,
+-(looked for in F</etc/xen/scripts>, if it doesn't contain a slash).
++(looked for in F<@XENDCONFDIR@/scripts>, if it doesn't contain a slash).
+ 
+ These scripts are normally called "block-I<SCRIPT>".
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.cfg.pod.5.in
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.cfg.pod.5.in:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.cfg.pod.5.in  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,29 @@
+$NetBSD: patch-docs_man_xl.cfg.pod.5.in,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- docs/man/xl.cfg.pod.5.in.orig      2018-04-17 19:21:31.000000000 +0200
++++ docs/man/xl.cfg.pod.5.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
Index: pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.conf.pod.5
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.conf.pod.5:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.conf.pod.5    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,37 @@
+$NetBSD: patch-docs_man_xl.conf.pod.5,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- docs/man/xl.conf.pod.5.orig        2016-12-05 13:03:27.000000000 +0100
++++ docs/man/xl.conf.pod.5     2017-03-24 17:37:53.000000000 +0100
+@@ -1,6 +1,6 @@
+ =head1 NAME
+ 
+-/etc/xen/xl.conf - XL Global/Host Configuration 
++@XENDCONFDIR@/xl.conf - XL Global/Host Configuration 
+ 
+ =head1 DESCRIPTION
+ 
+@@ -83,7 +83,7 @@
+ 
+ The old B<vifscript> option is deprecated and should not be used.
+ 
+-Default: C</etc/xen/scripts/vif-bridge>
++Default: C<@XENDCONFDIR@/scripts/vif-bridge>
+ 
+ =item B<vif.default.bridge="NAME">
+ 
+@@ -109,13 +109,13 @@
+ 
+ Configures the default script used by Remus to setup network buffering.
+ 
+-Default: C</etc/xen/scripts/remus-netbuf-setup>
++Default: C<@XENDCONFDIR@/scripts/remus-netbuf-setup>
+ 
+ =item B<colo.default.proxyscript="PATH">
+ 
+ Configures the default script used by COLO to setup colo-proxy.
+ 
+-Default: C</etc/xen/scripts/colo-proxy-setup>
++Default: C<@XENDCONFDIR@/scripts/colo-proxy-setup>
+ 
+ =item B<output_format="json|sxp">
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.pod.1.in
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.pod.1.in:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-docs_man_xl.pod.1.in      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,44 @@
+$NetBSD: patch-docs_man_xl.pod.1.in,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- docs/man/xl.pod.1.in.orig  2017-03-24 17:39:08.000000000 +0100
++++ docs/man/xl.pod.1.in       2017-03-24 17:40:12.000000000 +0100
+@@ -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
+@@ -50,7 +50,7 @@
+ 
+ If you specify the amount of memory dom0 has, passing B<dom0_mem> to
+ Xen, it is highly recommended to disable B<autoballoon>. Edit
+-B</etc/xen/xl.conf> and set it to 0.
++B<@XENDCONFDIR@/xl.conf> and set it to 0.
+ 
+ =item run xl as B<root>
+ 
+@@ -175,7 +175,7 @@
+ 
+   xl create DebianLenny
+ 
+-This creates a domain with the file /etc/xen/DebianLenny, and returns as
++This creates a domain with the file @XENDCONFDIR@/DebianLenny, and returns as
+ soon as it is run.
+ 
+ =item I<with extra parameters>
+@@ -528,7 +528,7 @@
+ =item B<-N> I<netbufscript>
+ 
+ Use <netbufscript> to setup network buffering instead of the
+-default script (/etc/xen/scripts/remus-netbuf-setup).
++default script (@XENDCONFDIR@/scripts/remus-netbuf-setup).
+ 
+ =item B<-F>
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-docs_man_xlcpupool.cfg.pod.5
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-docs_man_xlcpupool.cfg.pod.5:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-docs_man_xlcpupool.cfg.pod.5      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,28 @@
+$NetBSD: patch-docs_man_xlcpupool.cfg.pod.5,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- docs/man/xlcpupool.cfg.pod.5.orig  2017-03-24 17:41:23.000000000 +0100
++++ docs/man/xlcpupool.cfg.pod.5       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
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-docs_misc_block-scripts.txt
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-docs_misc_block-scripts.txt:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-docs_misc_block-scripts.txt       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-docs_misc_block-scripts.txt,v 1.1 2018/07/24 13:40:11 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:
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_Config.mk
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_Config.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_Config.mk  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,17 @@
+--- extras/mini-os/Config.mk.orig      2017-03-27 19:37:46.000000000 +0200
++++ extras/mini-os/Config.mk   2017-03-27 19:38:46.000000000 +0200
+@@ -106,13 +106,7 @@
+ # Set tools
+ AS         = $(CROSS_COMPILE)as
+ LD         = $(CROSS_COMPILE)ld
+-ifeq ($(clang),y)
+-CC         = $(CROSS_COMPILE)clang
+-LD_LTO     = $(CROSS_COMPILE)llvm-ld
+-else
+-CC         = $(CROSS_COMPILE)gcc
+-LD_LTO     = $(CROSS_COMPILE)ld
+-endif
++CC         = $(TARGET_CC)
+ CPP        = $(CC) -E
+ AR         = $(CROSS_COMPILE)ar
+ RANLIB     = $(CROSS_COMPILE)ranlib
Index: pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_arch_x86_arch.mk
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_arch_x86_arch.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_arch_x86_arch.mk   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,22 @@
+$NetBSD: patch-extras_mini-os_arch_x86_arch.mk,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- extras/mini-os/arch/x86/arch.mk.orig       2017-03-27 16:41:50.000000000 +0200
++++ extras/mini-os/arch/x86/arch.mk    2017-03-27 16:43:37.000000000 +0200
+@@ -7,7 +7,7 @@
+ 
+ ifeq ($(MINIOS_TARGET_ARCH),x86_32)
+ ARCH_CFLAGS  := -m32 -march=i686
+-ARCH_LDFLAGS := -m elf_i386
++ARCH_LDFLAGS := -Wl,-melf_i386
+ ARCH_ASFLAGS := -m32
+ EXTRA_INC += $(TARGET_ARCH_FAM)/$(MINIOS_TARGET_ARCH)
+ EXTRA_SRC += arch/$(EXTRA_INC)
+@@ -17,7 +17,7 @@
+ ARCH_CFLAGS := -m64 -mno-red-zone -fno-reorder-blocks
+ ARCH_CFLAGS += -fno-asynchronous-unwind-tables
+ ARCH_ASFLAGS := -m64
+-ARCH_LDFLAGS := -m elf_x86_64
++ARCH_LDFLAGS := -Wl,-melf_x86_64
+ EXTRA_INC += $(TARGET_ARCH_FAM)/$(MINIOS_TARGET_ARCH)
+ EXTRA_SRC += arch/$(EXTRA_INC)
+ endif
Index: pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_fcntl.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_fcntl.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_fcntl.h    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-extras_mini-os_include_fcntl.h,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+--- extras/mini-os/include/fcntl.h.orig        2017-03-28 19:38:01.000000000 +0200
++++ extras/mini-os/include/fcntl.h     2017-03-28 19:38:12.000000000 +0200
+@@ -93,7 +93,7 @@
+ 
+ #endif
+ 
+-int open(const char *path, int flags, ...) asm("open64");
++int open(const char *path, int flags, ...);
+ int fcntl(int fd, int cmd, ...);
+ 
+ #endif
Index: pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_time.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_time.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_include_time.h     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-extras_mini-os_include_time.h,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+--- extras/mini-os/include/time.h.orig 2016-09-28 13:09:38.000000000 +0200
++++ extras/mini-os/include/time.h      2017-03-28 20:00:33.000000000 +0200
+@@ -48,7 +48,7 @@
+ 
+ #include <sys/time.h>
+ 
+-#ifdef HAVE_LIBC
++#if defined(HAVE_LIBC) && defined(NEED_TIME_H)
+ #include_next <time.h>
+ #endif
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lib_sys.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lib_sys.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lib_sys.c  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,18 @@
+$NetBSD: patch-extras_mini-os_lib_sys.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+
+--- extras/mini-os/lib/sys.c.orig      2017-10-20 12:50:35.000000000 +0200
++++ extras/mini-os/lib/sys.c   2018-04-23 15:28:25.000000000 +0200
+@@ -18,6 +18,12 @@
+ #define DEBUG(fmt,...)
+ #endif
+ 
++void __enable_execute_stack (void *);
++void
++__enable_execute_stack (void *addr __attribute__((__unused__)))
++{
++}
++
+ #ifdef HAVE_LIBC
+ #include <os.h>
+ #include <string.h>
Index: pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lock.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lock.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-extras_mini-os_lock.c     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,11 @@
+--- extras/mini-os/lock.c.orig 2017-03-28 12:14:33.000000000 +0200
++++ extras/mini-os/lock.c      2017-03-28 12:14:43.000000000 +0200
+@@ -4,7 +4,7 @@
+  * Samuel Thibault <Samuel.Thibault%eu.citrix.net@localhost>, July 20008
+  */
+ 
+-#ifdef HAVE_LIBC
++#if 0 /* def HAVE_LIBC */
+ 
+ #include <sys/lock.h>
+ #include <sched.h>
Index: pkgsrc/sysutils/xentools411/patches/patch-m4_paths.m4
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-m4_paths.m4:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-m4_paths.m4       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,16 @@
+$NetBSD: patch-m4_paths.m4,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- m4/paths.m4.orig
++++ m4/paths.m4
+@@ -135,8 +135,9 @@ XEN_SCRIPT_DIR=$XEN_CONFIG_DIR/scripts
+ AC_SUBST(XEN_SCRIPT_DIR)
+ 
+ case "$host_os" in
+-*freebsd*) XEN_LOCK_DIR=$localstatedir/lib ;;
+-*netbsd*) XEN_LOCK_DIR=$localstatedir/lib ;;
++*freebsd*) XEN_LOCK_DIR=$rundir_path ;;
++*netbsd*) XEN_LOCK_DIR=$rundir_path ;;
++*openbsd*) XEN_LOCK_DIR=$rundir_path ;;
+ *) XEN_LOCK_DIR=$localstatedir/lock ;;
+ esac
+ AC_SUBST(XEN_LOCK_DIR)
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_Makefile    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,43 @@
+$NetBSD: patch-tools_Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/Makefile.orig        2018-04-17 19:21:31.000000000 +0200
++++ tools/Makefile     2018-04-23 16:09:03.000000000 +0200
+@@ -21,7 +21,7 @@
+ SUBDIRS-y += xenstat
+ SUBDIRS-$(CONFIG_Linux) += memshr 
+ SUBDIRS-$(CONFIG_BLKTAP2) += blktap2
+-SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
++#XXX SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
+ SUBDIRS-y += libfsimage
+ SUBDIRS-$(CONFIG_Linux) += libvchan
+ 
+@@ -39,7 +39,7 @@
+ SUBDIRS-$(CONFIG_X86) += xenpaging
+ SUBDIRS-$(CONFIG_X86) += debugger/gdbsx
+ SUBDIRS-$(CONFIG_X86) += debugger/kdd
+-SUBDIRS-$(CONFIG_TESTS) += tests
++#XXX SUBDIRS-$(CONFIG_TESTS) += tests
+ 
+ # These don't cross-compile
+ ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
+@@ -262,13 +262,13 @@
+               -L$(XEN_ROOT)/tools/libs/gnttab \
+               -L$(XEN_ROOT)/tools/libs/foreignmemory \
+               -L$(XEN_ROOT)/tools/libs/devicemodel \
+-              -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/toolcore \
+-              -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/toollog \
+-              -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/evtchn \
+-              -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/gnttab \
+-              -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/call \
+-              -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/foreignmemory \
+-              -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/devicemodel \
++              -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/toolcore \
++              -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/toollog \
++              -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/evtchn \
++              -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/gnttab \
++              -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/call \
++              -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/foreignmemory \
++              -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/devicemodel \
+               $(QEMU_UPSTREAM_RPATH)" \
+               --bindir=$(LIBEXEC_BIN) \
+               --datadir=$(SHAREDIR)/qemu-xen \
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_Rules.mk
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_Rules.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_Rules.mk    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,117 @@
+$NetBSD: patch-tools_Rules.mk,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/Rules.mk.orig        2018-04-17 19:21:31.000000000 +0200
++++ tools/Rules.mk     2018-04-23 16:10:52.000000000 +0200
+@@ -101,54 +101,54 @@
+ CFLAGS_libxentoollog = -I$(XEN_LIBXENTOOLLOG)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxentoollog =
+ LDLIBS_libxentoollog = $(SHDEPS_libxentoollog) $(XEN_LIBXENTOOLLOG)/libxentoollog$(libextension)
+-SHLIB_libxentoollog  = $(SHDEPS_libxentoollog) -Wl,-rpath-link=$(XEN_LIBXENTOOLLOG)
++SHLIB_libxentoollog  = $(SHDEPS_libxentoollog) -Wl,-rpath-link,$(XEN_LIBXENTOOLLOG)
+ 
+ CFLAGS_libxentoolcore = -I$(XEN_LIBXENTOOLCORE)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxentoolcore =
+ LDLIBS_libxentoolcore = $(SHDEPS_libxentoolcore) $(XEN_LIBXENTOOLCORE)/libxentoolcore$(libextension)
+-SHLIB_libxentoolcore  = $(SHDEPS_libxentoolcore) -Wl,-rpath-link=$(XEN_LIBXENTOOLCORE)
++SHLIB_libxentoolcore  = $(SHDEPS_libxentoolcore) -Wl,-rpath-link,$(XEN_LIBXENTOOLCORE)
+ 
+ CFLAGS_libxenevtchn = -I$(XEN_LIBXENEVTCHN)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxenevtchn = $(SHLIB_libxentoolcore)
+ LDLIBS_libxenevtchn = $(SHDEPS_libxenevtchn) $(XEN_LIBXENEVTCHN)/libxenevtchn$(libextension)
+-SHLIB_libxenevtchn  = $(SHDEPS_libxenevtchn) -Wl,-rpath-link=$(XEN_LIBXENEVTCHN)
++SHLIB_libxenevtchn  = $(SHDEPS_libxenevtchn) -Wl,-rpath-link,$(XEN_LIBXENEVTCHN)
+ 
+ CFLAGS_libxengnttab = -I$(XEN_LIBXENGNTTAB)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxengnttab = $(SHLIB_libxentoollog) $(SHLIB_libxentoolcore)
+ LDLIBS_libxengnttab = $(SHDEPS_libxengnttab) $(XEN_LIBXENGNTTAB)/libxengnttab$(libextension)
+-SHLIB_libxengnttab  = $(SHDEPS_libxengnttab) -Wl,-rpath-link=$(XEN_LIBXENGNTTAB)
++SHLIB_libxengnttab  = $(SHDEPS_libxengnttab) -Wl,-rpath-link,$(XEN_LIBXENGNTTAB)
+ 
+ CFLAGS_libxencall = -I$(XEN_LIBXENCALL)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxencall = $(SHLIB_libxentoolcore)
+ LDLIBS_libxencall = $(SHDEPS_libxencall) $(XEN_LIBXENCALL)/libxencall$(libextension)
+-SHLIB_libxencall  = $(SHDEPS_libxencall) -Wl,-rpath-link=$(XEN_LIBXENCALL)
++SHLIB_libxencall  = $(SHDEPS_libxencall) -Wl,-rpath-link,$(XEN_LIBXENCALL)
+ 
+ CFLAGS_libxenforeignmemory = -I$(XEN_LIBXENFOREIGNMEMORY)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxenforeignmemory = $(SHLIB_libxentoolcore)
+ LDLIBS_libxenforeignmemory = $(SHDEPS_libxenforeignmemory) $(XEN_LIBXENFOREIGNMEMORY)/libxenforeignmemory$(libextension)
+-SHLIB_libxenforeignmemory  = $(SHDEPS_libxenforeignmemory) -Wl,-rpath-link=$(XEN_LIBXENFOREIGNMEMORY)
++SHLIB_libxenforeignmemory  = $(SHDEPS_libxenforeignmemory) -Wl,-rpath-link,$(XEN_LIBXENFOREIGNMEMORY)
+ 
+ CFLAGS_libxendevicemodel = -I$(XEN_LIBXENDEVICEMODEL)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxendevicemodel = $(SHLIB_libxentoollog) $(SHLIB_libxentoolcore) $(SHLIB_xencall)
+ LDLIBS_libxendevicemodel = $(SHDEPS_libxendevicemodel) $(XEN_LIBXENDEVICEMODEL)/libxendevicemodel$(libextension)
+-SHLIB_libxendevicemodel  = $(SHDEPS_libxendevicemodel) -Wl,-rpath-link=$(XEN_LIBXENDEVICEMODEL)
++SHLIB_libxendevicemodel  = $(SHDEPS_libxendevicemodel) -Wl,-rpath-link,$(XEN_LIBXENDEVICEMODEL)
+ 
+ # code which compiles against libxenctrl get __XEN_TOOLS__ and
+ # therefore sees the unstable hypercall interfaces.
+ CFLAGS_libxenctrl = -I$(XEN_LIBXC)/include $(CFLAGS_libxentoollog) $(CFLAGS_libxenforeignmemory) $(CFLAGS_libxendevicemodel) $(CFLAGS_xeninclude) -D__XEN_TOOLS__
+ SHDEPS_libxenctrl = $(SHLIB_libxentoollog) $(SHLIB_libxenevtchn) $(SHLIB_libxengnttab) $(SHLIB_libxencall) $(SHLIB_libxenforeignmemory) $(SHLIB_libxendevicemodel)
+ LDLIBS_libxenctrl = $(SHDEPS_libxenctrl) $(XEN_LIBXC)/libxenctrl$(libextension)
+-SHLIB_libxenctrl  = $(SHDEPS_libxenctrl) -Wl,-rpath-link=$(XEN_LIBXC)
++SHLIB_libxenctrl  = $(SHDEPS_libxenctrl) -Wl,-rpath-link,$(XEN_LIBXC)
+ 
+ CFLAGS_libxenguest = -I$(XEN_LIBXC)/include $(CFLAGS_libxenevtchn) $(CFLAGS_libxenforeignmemory) $(CFLAGS_xeninclude)
+ SHDEPS_libxenguest = $(SHLIB_libxenevtchn)
+ LDLIBS_libxenguest = $(SHDEPS_libxenguest) $(XEN_LIBXC)/libxenguest$(libextension)
+-SHLIB_libxenguest  = $(SHDEPS_libxenguest) -Wl,-rpath-link=$(XEN_LIBXC)
++SHLIB_libxenguest  = $(SHDEPS_libxenguest) -Wl,-rpath-link,$(XEN_LIBXC)
+ 
+ CFLAGS_libxenstore = -I$(XEN_XENSTORE)/include $(CFLAGS_xeninclude)
+ SHDEPS_libxenstore = $(SHLIB_libxentoolcore)
+ LDLIBS_libxenstore = $(SHDEPS_libxenstore) $(XEN_XENSTORE)/libxenstore$(libextension)
+-SHLIB_libxenstore  = $(SHDEPS_libxenstore) -Wl,-rpath-link=$(XEN_XENSTORE)
++SHLIB_libxenstore  = $(SHDEPS_libxenstore) -Wl,-rpath-link,$(XEN_XENSTORE)
+ ifeq ($(CONFIG_Linux),y)
+ LDLIBS_libxenstore += -ldl
+ endif
+@@ -156,12 +156,12 @@
+ CFLAGS_libxenstat  = -I$(XEN_LIBXENSTAT)
+ SHDEPS_libxenstat  = $(SHLIB_libxenctrl) $(SHLIB_libxenstore)
+ LDLIBS_libxenstat  = $(SHDEPS_libxenstat) $(XEN_LIBXENSTAT)/libxenstat$(libextension)
+-SHLIB_libxenstat   = $(SHDEPS_libxenstat) -Wl,-rpath-link=$(XEN_LIBXENSTAT)
++SHLIB_libxenstat   = $(SHDEPS_libxenstat) -Wl,-rpath-link,$(XEN_LIBXENSTAT)
+ 
+ CFLAGS_libxenvchan = -I$(XEN_LIBVCHAN)
+ SHDEPS_libxenvchan = $(SHLIB_libxentoollog) $(SHLIB_libxenstore) $(SHLIB_libxenevtchn) $(SHLIB_libxengnttab)
+ LDLIBS_libxenvchan = $(SHDEPS_libxenvchan) $(XEN_LIBVCHAN)/libxenvchan$(libextension)
+-SHLIB_libxenvchan  = $(SHDEPS_libxenvchan) -Wl,-rpath-link=$(XEN_LIBVCHAN)
++SHLIB_libxenvchan  = $(SHDEPS_libxenvchan) -Wl,-rpath-link,$(XEN_LIBVCHAN)
+ 
+ ifeq ($(debug),y)
+ # Disable optimizations
+@@ -176,7 +176,7 @@
+ CFLAGS_libblktapctl = -I$(XEN_BLKTAP2)/control -I$(XEN_BLKTAP2)/include $(CFLAGS_xeninclude)
+ SHDEPS_libblktapctl =
+ LDLIBS_libblktapctl = $(SHDEPS_libblktapctl) $(XEN_BLKTAP2)/control/libblktapctl$(libextension)
+-SHLIB_libblktapctl  = $(SHDEPS_libblktapctl) -Wl,-rpath-link=$(XEN_BLKTAP2)/control
++SHLIB_libblktapctl  = $(SHDEPS_libblktapctl) -Wl,-rpath-link,$(XEN_BLKTAP2)/control
+ else
+ CFLAGS_libblktapctl =
+ SHDEPS_libblktapctl =
+@@ -188,12 +188,12 @@
+ CFLAGS_libxenlight = -I$(XEN_XENLIGHT) $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude)
+ SHDEPS_libxenlight = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) $(SHLIB_libblktapctl)
+ LDLIBS_libxenlight = $(SHDEPS_libxenlight) $(XEN_XENLIGHT)/libxenlight$(libextension)
+-SHLIB_libxenlight  = $(SHDEPS_libxenlight) -Wl,-rpath-link=$(XEN_XENLIGHT)
++SHLIB_libxenlight  = $(SHDEPS_libxenlight) -Wl,-rpath-link,$(XEN_XENLIGHT)
+ 
+ CFLAGS_libxlutil = -I$(XEN_XLUTIL)
+ SHDEPS_libxlutil = $(SHLIB_libxenlight)
+ LDLIBS_libxlutil = $(SHDEPS_libxlutil) $(XEN_XLUTIL)/libxlutil$(libextension)
+-SHLIB_libxlutil  = $(SHDEPS_libxlutil) -Wl,-rpath-link=$(XEN_XLUTIL)
++SHLIB_libxlutil  = $(SHDEPS_libxlutil) -Wl,-rpath-link,$(XEN_XLUTIL)
+ 
+ CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
+ 
+@@ -269,7 +269,7 @@
+            -e 's!@@firmwaredir@@!$(XENFIRMWAREDIR)!g' \
+            -e 's!@@libexecbin@@!$(LIBEXEC_BIN)!g' \
+            -e 's!@@cflagslocal@@!$(PKG_CONFIG_CFLAGS_LOCAL)!g' \
+-           -e 's!@@libsflag@@!-Wl,-rpath-link=!g' \
++           -e 's!@@libsflag@@!-Wl,-rpath-link,!g' \
+            $(PKG_CONFIG_FILTER) < $< > $@
+ 
+ %.pc: %.pc.in Makefile
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_configure
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_configure:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_configure   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,39 @@
+$NetBSD: patch-tools_configure,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/configure.orig       2018-04-17 19:21:31.000000000 +0200
++++ tools/configure    2018-04-23 16:12:57.000000000 +0200
+@@ -2422,7 +2422,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"
+ 
+@@ -3870,7 +3870,7 @@
+ 
+ if test "x$sysconfdir" = 'x${prefix}/etc' ; then
+     case "$host_os" in
+-         *freebsd*)
++         *freebsd*|*netbsd*)
+          sysconfdir=$prefix/etc
+          ;;
+          *solaris*)
+@@ -4006,7 +4006,7 @@
+ 
+ case "$host_os" in
+ *freebsd*) XEN_LOCK_DIR=$localstatedir/lib ;;
+-*netbsd*) XEN_LOCK_DIR=$localstatedir/lib ;;
++*netbsd*) XEN_LOCK_DIR=$localstatedir/run ;;
+ *) XEN_LOCK_DIR=$localstatedir/lock ;;
+ esac
+ 
+@@ -10430,6 +10430,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" ;;
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_console_daemon_utils.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_console_daemon_utils.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_console_daemon_utils.c      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,22 @@
+$NetBSD: patch-tools_console_daemon_utils.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/console/daemon/utils.c.orig  2015-06-22 13:41:35.000000000 +0000
++++ tools/console/daemon/utils.c
+@@ -113,13 +113,15 @@ bool xen_setup(void)
+       xs = xs_daemon_open();
+       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;
+       }
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_debugger_gdbsx_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_debugger_gdbsx_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_debugger_gdbsx_Makefile     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_debugger_gdbsx_Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+Add support for LDFLAGS when building gdbsx
+
+--- tools/debugger/gdbsx/Makefile.orig 2018-04-17 19:21:31.000000000 +0200
++++ tools/debugger/gdbsx/Makefile      2018-04-23 16:06:44.000000000 +0200
+@@ -26,7 +26,7 @@
+       rm -f $(DESTDIR)$(sbindir)/gdbsx
+ 
+ gdbsx: gx/gx_all.a xg/xg_all.a 
+-      $(CC) -o $@ $^
++      $(CC) $(LDFLAGS) -o $@ $^
+ 
+ xg/xg_all.a:
+       $(MAKE) -C xg
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_examples_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_examples_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_examples_Makefile   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_examples_Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/examples/Makefile.orig       2015-01-12 17:53:24.000000000 +0100
++++ tools/examples/Makefile    2015-01-19 13:37:18.000000000 +0100
+@@ -1,6 +1,6 @@
+ 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
+ XEN_READMES += README.incompatibilities
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_etherboot_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_etherboot_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_etherboot_Makefile Tue Jul 24 13:40:11 2018
@@ -0,0 +1,26 @@
+$NetBSD: patch-tools_firmware_etherboot_Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/firmware/etherboot/Makefile.orig     2018-04-17 19:21:31.000000000 +0200
++++ tools/firmware/etherboot/Makefile  2018-04-23 17:55:13.000000000 +0200
+@@ -27,18 +27,10 @@
+ %.rom: $D/src/arch/i386/Makefile
+       $(MAKE) -C $D/src bin/$(*F).rom
+ 
+-$T:
+-      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 $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
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_hvmloader_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_hvmloader_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_firmware_hvmloader_Makefile Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_firmware_hvmloader_Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/firmware/hvmloader/Makefile.orig     2016-12-05 13:03:27.000000000 +0100
++++ tools/firmware/hvmloader/Makefile  2017-03-24 18:14:34.000000000 +0100
+@@ -26,7 +26,7 @@
+ # SMBIOS spec requires format mm/dd/yyyy
+ SMBIOS_REL_DATE ?= $(shell date +%m/%d/%Y)
+ 
+-CFLAGS += $(CFLAGS_xeninclude)
++CFLAGS += $(CFLAGS_xeninclude) $(EXTRA_CFLAGS)
+ 
+ # We mustn't use tools-only public interfaces.
+ CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_Makefile     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,52 @@
+$NetBSD: patch-tools_hotplug_NetBSD_Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/hotplug/NetBSD/Makefile.orig 2018-04-17 19:21:31.000000000 +0200
++++ tools/hotplug/NetBSD/Makefile      2018-04-23 16:05:01.000000000 +0200
+@@ -3,12 +3,13 @@
+ 
+ # Xen script dir and scripts to go there.
+ XEN_SCRIPTS =
++XEN_SCRIPTS += locking.sh
+ XEN_SCRIPTS += block
+ XEN_SCRIPTS += vif-bridge
+ XEN_SCRIPTS += vif-ip
+ 
+ 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:
+@@ -24,10 +25,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 \
+@@ -41,12 +43,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:
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_block
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_block:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_block        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,37 @@
+$NetBSD: patch-tools_hotplug_NetBSD_block,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/hotplug/NetBSD/block.orig    2016-02-09 14:44:19.000000000 +0000
++++ tools/hotplug/NetBSD/block
+@@ -6,6 +6,7 @@
+ 
+ DIR=$(dirname "$0")
+ . "${DIR}/hotplugpath.sh"
++. "${DIR}/locking.sh"
+ 
+ PATH=${bindir}:${sbindir}:${LIBEXEC_BIN}:/bin:/usr/bin:/sbin:/usr/sbin
+ export PATH
+@@ -62,6 +63,7 @@ case $xstatus in
+                       available_disks="$available_disks $disk"
+                       eval $disk=free
+               done
++              claim_lock block
+               # Mark the used vnd(4) devices as ``used''.
+               for disk in `sysctl hw.disknames`; do
+                       case $disk in
+@@ -77,6 +79,7 @@ case $xstatus in
+                               break   
+                       fi
+               done
++              release_lock block
+               if [ x$device = x ] ; then
+                       error "no available vnd device"
+               fi
+@@ -86,7 +89,7 @@ case $xstatus in
+               device=$xparams
+               ;;
+       esac
+-      physical_device=$(stat -f '%r' "$device")
++      physical_device=$(stat -L -f '%r' "$device")
+       xenstore-write $xpath/physical-device $physical_device
+       xenstore-write $xpath/hotplug-status connected
+       exit 0
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-bridge
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-bridge:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-bridge   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,16 @@
+$NetBSD: patch-tools_hotplug_NetBSD_vif-bridge,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/hotplug/NetBSD/vif-bridge.orig       2015-01-12 17:53:24.000000000 +0100
++++ tools/hotplug/NetBSD/vif-bridge    2015-01-19 13:16:37.000000000 +0100
+@@ -23,7 +23,10 @@
+       xbridge=$(xenstore-read "$xpath/bridge")
+       xfid=$(xenstore-read "$xpath/frontend-id")
+       xhandle=$(xenstore-read "$xpath/handle")
+-      iface=$(xenstore-read "$xpath/vifname")
++      iface=$(xenstore-read "$xpath/vifname") || true
++      if [ x${iface} = "x" ] ; then
++              iface=xvif$xfid.$xhandle
++      fi
+       ifconfig $iface up
+       brconfig $xbridge add $iface
+       xenstore-write $xpath/hotplug-status connected
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-ip
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-ip:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-ip       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_hotplug_NetBSD_vif-ip,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/hotplug/NetBSD/vif-ip.orig   2015-01-12 17:53:24.000000000 +0100
++++ tools/hotplug/NetBSD/vif-ip        2015-01-19 13:16:37.000000000 +0100
+@@ -24,6 +24,10 @@
+       xfid=$(xenstore-read "$xpath/frontend-id")
+       xhandle=$(xenstore-read "$xpath/handle")
+       iface=$(xenstore-read "$xpath/vifname")
++      iface=$(xenstore-read "$xpath/vifname") || true
++      if [ x${iface} = "x" ] ; then
++              iface=xvif$xfid.$xhandle
++      fi
+       ifconfig $iface $xip up
+       xenstore-write $xpath/hotplug-status connected
+       exit 0
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_common_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_common_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_hotplug_common_Makefile     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,24 @@
+$NetBSD: patch-tools_hotplug_common_Makefile,v 1.1 2018/07/24 13:40:11 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
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_include_xen-sys_NetBSD_gntdev.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_include_xen-sys_NetBSD_gntdev.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_include_xen-sys_NetBSD_gntdev.h     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,110 @@
+$NetBSD: patch-tools_include_xen-sys_NetBSD_gntdev.h,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/include/xen-sys/NetBSD/gntdev.h.orig 2015-01-19 13:16:37.000000000 +0100
++++ tools/include/xen-sys/NetBSD/gntdev.h      2015-01-19 13:16:37.000000000 +0100
+@@ -0,0 +1,105 @@
++/******************************************************************************
++ * gntdev.h
++ * 
++ * Interface to /dev/xen/gntdev.
++ * 
++ * Copyright (c) 2007, D G Murray
++ * 
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License version 2
++ * as published by the Free Software Foundation; or, when 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_PUBLIC_GNTDEV_H__
++#define __NetBSD_PUBLIC_GNTDEV_H__
++
++struct ioctl_gntdev_grant_ref {
++      /* The domain ID of the grant to be mapped. */
++      uint32_t domid;
++      /* The grant reference of the grant to be mapped. */
++      uint32_t ref;
++};
++
++/*
++ * Inserts the grant references into the mapping table of an instance
++ * of gntdev. N.B. This does not perform the mapping, which is deferred
++ * until mmap() is called with @index as the offset.
++ */
++#define IOCTL_GNTDEV_MAP_GRANT_REF                            \
++      _IOWR('G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
++struct ioctl_gntdev_map_grant_ref {
++      /* IN parameters */
++      /* The number of grants to be mapped. */
++      uint32_t count;
++      uint32_t pad;
++      /* OUT parameters */
++      /* The offset to be used on a subsequent call to mmap(). */
++      uint64_t index;
++      /* Variable IN parameter. */
++      /* Array of grant references, of size @count. */
++      struct ioctl_gntdev_grant_ref refs[1];
++};
++
++/*
++ * Removes the grant references from the mapping table of an instance of
++ * of gntdev. N.B. munmap() must be called on the relevant virtual address(es)
++ * before this ioctl is called, or an error will result.
++ */
++#define IOCTL_GNTDEV_UNMAP_GRANT_REF                          \
++      _IOW('G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))       
++struct ioctl_gntdev_unmap_grant_ref {
++      /* IN parameters */
++      /* The offset was returned by the corresponding map operation. */
++      uint64_t index;
++      /* The number of pages to be unmapped. */
++      uint32_t count;
++      uint32_t pad;
++};
++
++/*
++ * Returns the offset in the driver's address space that corresponds
++ * to @vaddr. This can be used to perform a munmap(), followed by an
++ * UNMAP_GRANT_REF ioctl, where no state about the offset is retained by
++ * the caller. The number of pages that were allocated at the same time as
++ * @vaddr is returned in @count.
++ *
++ * N.B. Where more than one page has been mapped into a contiguous range, the
++ *      supplied @vaddr must correspond to the start of the range; otherwise
++ *      an error will result. It is only possible to munmap() the entire
++ *      contiguously-allocated range at once, and not any subrange thereof.
++ */
++#define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR                     \
++      _IOWR('G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
++struct ioctl_gntdev_get_offset_for_vaddr {
++      /* IN parameters */
++      /* The virtual address of the first mapped page in a range. */
++      uint64_t vaddr;
++      /* OUT parameters */
++      /* The offset that was used in the initial mmap() operation. */
++      uint64_t offset;
++      /* The number of pages mapped in the VM area that begins at @vaddr. */
++      uint32_t count;
++      uint32_t pad;
++};
++
++#endif /* __NetBSD_PUBLIC_GNTDEV_H__ */
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_netbsd.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_netbsd.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_netbsd.c  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,55 @@
+$NetBSD: patch-tools_libs_call_netbsd.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libs/call/netbsd.c.orig      2017-03-24 18:29:45.000000000 +0100
++++ tools/libs/call/netbsd.c   2017-03-24 18:34:05.000000000 +0100
+@@ -19,12 +19,14 @@
+  * Split from xc_netbsd.c
+  */
+ 
+-#include "xc_private.h"
+ 
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <malloc.h>
++#include <errno.h>
+ #include <sys/mman.h>
++#include <sys/ioctl.h>
++#include "private.h"
+ 
+ int osdep_xencall_open(xencall_handle *xcall)
+ {
+@@ -69,12 +71,13 @@
+     return close(fd);
+ }
+ 
+-void *osdep_alloc_hypercall_buffer(xencall_handle *xcall, size_t npages)
++void *osdep_alloc_pages(xencall_handle *xcall, size_t npages)
+ {
+-    size_t size = npages * XC_PAGE_SIZE;
++    size_t size = npages * PAGE_SIZE;
+     void *p;
++    int ret;
+ 
+-    ret = posix_memalign(&p, XC_PAGE_SIZE, size);
++    ret = posix_memalign(&p, PAGE_SIZE, size);
+     if ( ret != 0 || !p )
+         return NULL;
+ 
+@@ -86,14 +89,13 @@
+     return p;
+ }
+ 
+-void osdep_free_hypercall_buffer(xencall_handle *xcall, void *ptr,
+-                                 size_t npages)
++void osdep_free_pages(xencall_handle *xcall, void *ptr, size_t npages)
+ {
+-    (void) munlock(ptr, npages * XC_PAGE_SIZE);
++    (void) munlock(ptr, npages * PAGE_SIZE);
+     free(ptr);
+ }
+ 
+-int do_xen_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall)
++int osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall)
+ {
+     int fd = xcall->fd;
+     int error = ioctl(fd, IOCTL_PRIVCMD_HYPERCALL, hypercall);
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_private.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_private.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libs_call_private.h Tue Jul 24 13:40:11 2018
@@ -0,0 +1,16 @@
+$NetBSD: patch-tools_libs_call_private.h,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libs/call/private.h.orig     2017-03-28 10:42:37.000000000 +0200
++++ tools/libs/call/private.h  2017-03-28 10:43:04.000000000 +0200
+@@ -11,8 +11,10 @@
+ #ifndef PAGE_SHIFT /* Mini-os, Yukk */
+ #define PAGE_SHIFT           12
+ #endif
+-#ifndef __MINIOS__ /* Yukk */
++#ifndef PAGE_SIZE
+ #define PAGE_SIZE            (1UL << PAGE_SHIFT)
++#endif
++#ifndef PAGE_MASK
+ #define PAGE_MASK            (~(PAGE_SIZE-1))
+ #endif
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libs_evtchn_netbsd.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libs_evtchn_netbsd.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libs_evtchn_netbsd.c        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,22 @@
+$NetBSD: patch-tools_libs_evtchn_netbsd.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libs/evtchn/netbsd.c.orig    2017-03-24 18:23:27.000000000 +0100
++++ tools/libs/evtchn/netbsd.c 2017-03-24 18:23:40.000000000 +0100
+@@ -124,7 +124,7 @@
+     int fd = xce->fd;
+     evtchn_port_t port;
+ 
+-    if ( read_exact(fd, (char *)&port, sizeof(port)) == -1 )
++    if ( read(fd, (char *)&port, sizeof(port)) == -1 )
+         return -1;
+ 
+     return port;
+@@ -133,7 +133,7 @@
+ int xenevtchn_unmask(xenevtchn_handle *xce, evtchn_port_t port)
+ {
+     int fd = xce->fd;
+-    return write_exact(fd, (char *)&port, sizeof(port));
++    return write(fd, (char *)&port, sizeof(port));
+ }
+ 
+ /*
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_compat.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_compat.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_compat.c Tue Jul 24 13:40:11 2018
@@ -0,0 +1,14 @@
+$NetBSD: patch-tools_libs_foreignmemory_compat.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- ./tools/libs/foreignmemory/compat.c.orig   2018-04-17 19:21:31.000000000 +0200
++++ ./tools/libs/foreignmemory/compat.c        2018-04-23 17:05:48.000000000 +0200
+@@ -19,6 +19,9 @@
+ #error Please implement osdep_xenforeignmemory_map directly for new ports.
+ #endif
+ 
++#include <stdlib.h>
++#include <errno.h>
++#include <string.h>
+ #include "private.h"
+ 
+ void *osdep_xenforeignmemory_map(xenforeignmemory_handle *fmem, uint32_t dom,
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_netbsd.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_netbsd.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_netbsd.c Tue Jul 24 13:40:11 2018
@@ -0,0 +1,48 @@
+$NetBSD: patch-tools_libs_foreignmemory_netbsd.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libs/foreignmemory/netbsd.c.orig     2018-04-17 19:21:31.000000000 +0200
++++ tools/libs/foreignmemory/netbsd.c  2018-04-23 15:31:28.000000000 +0200
+@@ -19,7 +19,9 @@
+ 
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <errno.h>
+ #include <sys/mman.h>
++#include <sys/ioctl.h>
+ 
+ #include "private.h"
+ 
+@@ -66,13 +68,13 @@
+     return close(fd);
+ }
+ 
+-void *osdep_map_foreign_batch(xenforeignmem_handle *fmem, uint32_t dom,
++void *osdep_map_foreign_batch(xenforeignmemory_handle *fmem, uint32_t dom,
+                               void *addr, int prot, int flags,
+                               xen_pfn_t *arr, int num)
+ {
+     int fd = fmem->fd;
+     privcmd_mmapbatch_t ioctlx;
+-    addr = mmap(addr, num*XC_PAGE_SIZE, prot, flags | MAP_ANON | MAP_SHARED, -1, 0);
++    addr = mmap(addr, num*PAGE_SIZE, prot, flags | MAP_ANON | MAP_SHARED, -1, 0);
+     if ( addr == MAP_FAILED ) {
+         PERROR("osdep_map_foreign_batch: mmap failed");
+         return NULL;
+@@ -86,7 +88,7 @@
+     {
+         int saved_errno = errno;
+         PERROR("osdep_map_foreign_batch: ioctl failed");
+-        (void)munmap(addr, num*XC_PAGE_SIZE);
++        (void)munmap(addr, num*PAGE_SIZE);
+         errno = saved_errno;
+         return NULL;
+     }
+@@ -97,7 +99,7 @@
+ int osdep_xenforeignmemory_unmap(xenforeignmemory_handle *fmem,
+                                  void *addr, size_t num)
+ {
+-    return munmap(addr, num*XC_PAGE_SIZE);
++    return munmap(addr, num*PAGE_SIZE);
+ }
+ 
+ /*
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_private.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_private.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_private.h        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_libs_foreignmemory_private.h,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libs/foreignmemory/private.h.orig    2018-04-17 19:21:31.000000000 +0200
++++ tools/libs/foreignmemory/private.h 2018-04-23 17:09:20.000000000 +0200
+@@ -37,7 +37,7 @@
+ 
+ #if defined(__NetBSD__) || defined(__sun__)
+ /* Strictly compat for those two only only */
+-void *compat_mapforeign_batch(xenforeignmem_handle *fmem, uint32_t dom,
++void *osdep_map_foreign_batch(xenforeignmemory_handle *fmem, uint32_t dom,
+                               void *addr, int prot, int flags,
+                               xen_pfn_t *arr, int num);
+ #endif
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl__create.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl__create.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl__create.c       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,40 @@
+$NetBSD: patch-tools_libxl_libxl__create.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libxl/libxl_create.c.orig    2018-04-17 19:21:31.000000000 +0200
++++ tools/libxl/libxl_create.c 2018-04-23 15:59:53.000000000 +0200
+@@ -460,7 +460,7 @@
+         vments[2] = "image/ostype";
+         vments[3] = "hvm";
+         vments[4] = "start_time";
+-        vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
++        vments[5] = GCSPRINTF("%jd.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
+ 
+         localents = libxl__calloc(gc, 13, sizeof(char *));
+         i = 0;
+@@ -499,7 +499,7 @@
+         vments[i++] = "image/kernel";
+         vments[i++] = (char *) state->pv_kernel.path;
+         vments[i++] = "start_time";
+-        vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
++        vments[i++] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000);
+         if (state->pv_ramdisk.path) {
+             vments[i++] = "image/ramdisk";
+             vments[i++] = (char *) state->pv_ramdisk.path;
+@@ -1197,7 +1197,7 @@
+         vments[2] = "image/ostype";
+         vments[3] = "hvm";
+         vments[4] = "start_time";
+-        vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
++        vments[5] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000);
+         break;
+     case LIBXL_DOMAIN_TYPE_PV:
+         vments = libxl__calloc(gc, 11, sizeof(char *));
+@@ -1207,7 +1207,7 @@
+         vments[i++] = "image/kernel";
+         vments[i++] = (char *) state->pv_kernel.path;
+         vments[i++] = "start_time";
+-        vments[i++] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
++        vments[i++] = GCSPRINTF("%jd.%02d", (intmax_t)start_time.tv_sec,(int)start_time.tv_usec/10000);
+         if (state->pv_ramdisk.path) {
+             vments[i++] = "image/ramdisk";
+             vments[i++] = (char *) state->pv_ramdisk.path;
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_dom.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_dom.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_dom.c   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_libxl_libxl_dom.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libxl/libxl_dom.c.orig
++++ tools/libxl/libxl_dom.c
+@@ -1361,7 +1361,7 @@ const char *libxl__userdata_path(libxl__gc *gc, uint32_t domid,
+         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:
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_event.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_event.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_event.c Tue Jul 24 13:40:11 2018
@@ -0,0 +1,24 @@
+$NetBSD: patch-tools_libxl_libxl_event.c,v 1.1 2018/07/24 13:40:11 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/libxl/libxl_event.c.orig     2016-12-20 16:01:30.000000000 +0100
++++ tools/libxl/libxl_event.c  2016-12-20 17:28:52.000000000 +0100
+@@ -1261,7 +1261,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 */
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_internal.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_internal.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_internal.h      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,23 @@
+$NetBSD: patch-tools_libxl_libxl_internal.h,v 1.1 2018/07/24 13:40:11 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/libxl/libxl_internal.h.orig  2016-12-05 13:03:27.000000000 +0100
++++ tools/libxl/libxl_internal.h       2017-03-24 18:07:05.000000000 +0100
+@@ -88,11 +88,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 120
++#define LIBXL_HOTPLUG_TIMEOUT 120
+ /* 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 120
+ #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_STUBDOM_START_TIMEOUT 30
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_uuid.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_uuid.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_libxl_libxl_uuid.c  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,22 @@
+$NetBSD: patch-tools_libxl_libxl_uuid.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/libxl/libxl_uuid.c.orig      2016-12-05 13:03:27.000000000 +0100
++++ tools/libxl/libxl_uuid.c   2017-03-24 18:15:58.000000000 +0100
+@@ -82,7 +82,7 @@
+     uuid_enc_be(uuid->uuid, &nat_uuid);
+ }
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ int libxl_uuid_from_string(libxl_uuid *uuid, const char *in)
+ {
+     uint32_t status;
+@@ -120,7 +120,7 @@
+     memset(&uuid->uuid, 0, sizeof(uuid->uuid));
+ }
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ int libxl_uuid_compare(const libxl_uuid *uuid1, const libxl_uuid *uuid2)
+ {
+     uuid_t nat_uuid1, nat_uuid2;
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_common.make
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_common.make:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_common.make   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,31 @@
+$NetBSD: patch-tools_ocaml_common.make,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+Handle ocaml-findlib 1.7.3 already appending destdir
+Add -unsafe-string to fix build with ocaml-4.06.0 and later
+
+--- tools/ocaml/common.make.orig       2018-01-23 13:49:58.000000000 +0000
++++ tools/ocaml/common.make
+@@ -3,7 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
+ CC ?= gcc
+ OCAMLOPT ?= ocamlopt
+ OCAMLC ?= ocamlc
+-OCAMLMKLIB ?= ocamlmklib
++OCAMLMKLIB ?= ocamlmklib -elfmode
+ OCAMLDEP ?= ocamldep
+ OCAMLLEX ?= ocamllex
+ OCAMLYACC ?= ocamlyacc
+@@ -12,11 +12,11 @@ OCAMLFIND ?= ocamlfind
+ CFLAGS += -fPIC -Werror -I$(shell ocamlc -where)
+ 
+ OCAMLOPTFLAG_G := $(shell $(OCAMLOPT) -h 2>&1 | sed -n 's/^  *\(-g\) .*/\1/p')
+-OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F
+-OCAMLCFLAGS += -g $(OCAMLINCLUDE) -w F -warn-error F
++OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -unsafe-string -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F
++OCAMLCFLAGS += -unsafe-string -g $(OCAMLINCLUDE) -w F -warn-error F
+ 
+ VERSION := 4.1
+ 
+-OCAMLDESTDIR ?= $(DESTDIR)$(shell $(OCAMLFIND) printconf destdir)
++OCAMLDESTDIR ?= $(shell $(OCAMLFIND) printconf destdir)
+ 
+ o= >$@.new && mv -f $@.new $@
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_Makefile    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_ocaml_xenstored_Makefile,v 1.1 2018/07/24 13:40:11 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
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_utils.ml
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_utils.ml:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_utils.ml    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_ocaml_xenstored_utils.ml,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- ./tools/ocaml/xenstored/utils.ml.orig      2018-07-09 15:47:19.000000000 +0200
++++ ./tools/ocaml/xenstored/utils.ml   2018-07-16 13:50:03.000000000 +0200
+@@ -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 (String.sub buf 0 sz))
+ 
+ let path_complete path connection_path =
+       if String.get path 0 <> '/' then
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_Makefile       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,84 @@
+$NetBSD: patch-tools_qemu-xen-traditional_Makefile,v 1.1 2018/07/24 13:40:11 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
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,62 @@
+$NetBSD: patch-tools_qemu-xen-traditional_block-raw-posix.c,v 1.1 2018/07/24 13:40:11 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();
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_configure
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_configure:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_configure      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,41 @@
+$NetBSD: patch-tools_qemu-xen-traditional_configure,v 1.1 2018/07/24 13:40:11 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
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_e1000.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_e1000.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_e1000.c     Tue Jul 24 13:40:11 2018
@@ -0,0 +1,34 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_e1000.c,v 1.1 2018/07/24 13:40:11 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;
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_ide.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_ide.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_ide.c       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,37 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_ide.c,v 1.1 2018/07/24 13:40:11 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 */
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pass-through.c,v 1.1 2018/07/24 13:40:11 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"
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,18 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pass-through.h,v 1.1 2018/07/24 13:40:11 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"
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c Tue Jul 24 13:40:11 2018
@@ -0,0 +1,17 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_piix4acpi.c,v 1.1 2018/07/24 13:40:11 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)
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-graphics.c,v 1.1 2018/07/24 13:40:11 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>
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-msi.c,v 1.1 2018/07/24 13:40:11 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;
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h    Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-msi.h,v 1.1 2018/07/24 13:40:11 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 */
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak        Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak,v 1.1 2018/07/24 13:40:11 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"
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_net.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_net.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_net.c  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,46 @@
+$NetBSD: patch-tools_qemu-xen-traditional_net.c,v 1.1 2018/07/24 13:40:11 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) {
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,51 @@
+$NetBSD: patch-tools_qemu-xen-traditional_xen-hooks.mak,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+enable PCI passthrough when pciutils is present
+
+--- tools/qemu-xen-traditional/xen-hooks.mak.orig      2017-09-15 20:37:27.000000000 +0200
++++ tools/qemu-xen-traditional/xen-hooks.mak   2018-04-23 16:01:41.000000000 +0200
+@@ -26,11 +26,11 @@
+ LIBS += -L$(XEN_ROOT)/tools/libs/gnttab -lxengnttab
+ LIBS += -L$(XEN_ROOT)/tools/libxc -lxenctrl -lxenguest
+ LIBS += -L$(XEN_ROOT)/tools/xenstore -lxenstore
+-LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/toollog
+-LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/toolcore
+-LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/call
+-LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/foreignmemory
+-LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/devicemodel
++LIBS += -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/toollog
++LIBS += -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/toolcore
++LIBS += -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/call
++LIBS += -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/foreignmemory
++LIBS += -Wl,-rpath-link,$(XEN_ROOT)/tools/libs/devicemodel
+ 
+ LDFLAGS := $(CFLAGS) $(LDFLAGS)
+ 
+@@ -71,17 +71,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 += -lpciutils -lpci
++else
+ LIBS += -lpci
++endif
+ CFLAGS += -DCONFIG_PASSTHROUGH 
+ $(info === PCI passthrough capability has been enabled ===)
+ endif
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_audio_audio.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_audio_audio.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_audio_audio.c      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-tools_qemu-xen_audio_audio.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/qemu-xen/audio/audio.c.orig  2016-11-24 13:24:26.000000000 +0100
++++ tools/qemu-xen/audio/audio.c       2017-03-24 18:11:17.000000000 +0100
+@@ -1156,6 +1156,7 @@
+         return 0;
+     }
+ 
++#undef read
+     return sw->hw->pcm_ops->read(sw, buf, size);
+ }
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_configure
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_configure:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_configure  Tue Jul 24 13:40:11 2018
@@ -0,0 +1,14 @@
+$NetBSD: patch-tools_qemu-xen_configure,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+-lrt is needed for shm_open()
+
+--- tools/qemu-xen/configure.orig      2018-04-17 19:23:23.000000000 +0200
++++ tools/qemu-xen/configure   2018-04-23 16:07:48.000000000 +0200
+@@ -726,6 +726,7 @@
+   audio_drv_list="oss"
+   audio_possible_drivers="oss sdl"
+   oss_lib="-lossaudio"
++  LIBS="-lrt $LIBS"
+   HOST_VARIANT_DIR="netbsd"
+   supported_os="yes"
+ ;;
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_qemu-doc.texi
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_qemu-doc.texi:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_qemu-xen_qemu-doc.texi      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,15 @@
+$NetBSD: patch-tools_qemu-xen_qemu-doc.texi,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+Avoid encoding issues in pod2man.
+
+--- tools/qemu-xen/qemu-doc.texi.orig  2014-12-02 11:41:02.000000000 +0100
++++ tools/qemu-xen/qemu-doc.texi       2015-01-19 14:24:23.000000000 +0100
+@@ -220,7 +220,7 @@
+ QEMU uses YM3812 emulation by Tatsuyuki Satoh.
+ 
+ QEMU uses GUS emulation (GUSEMU32 @url{http://www.deinmeister.de/gusemu/})
+-by Tibor "TS" Schütz.
++by Tibor "TS" Schuetz.
+ 
+ Note that, by default, GUS shares IRQ(7) with parallel ports and so
+ QEMU must be told to not have parallel ports to have working GUS.
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_xenpaging_xenpaging.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_xenpaging_xenpaging.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_xenpaging_xenpaging.c       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,18 @@
+$NetBSD: patch-tools_xenpaging_xenpaging.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/xenpaging/xenpaging.c.orig   2016-06-20 12:08:22.000000000 +0000
++++ tools/xenpaging/xenpaging.c
+@@ -182,10 +182,11 @@ static int xenpaging_get_tot_pages(struc
+ static void *init_page(void)
+ {
+     void *buffer;
++    int rc;
+ 
+     /* Allocated page memory */
+-    errno = posix_memalign(&buffer, PAGE_SIZE, PAGE_SIZE);
+-    if ( errno != 0 )
++    rc = posix_memalign(&buffer, PAGE_SIZE, PAGE_SIZE);
++    if ( rc != 0 )
+         return NULL;
+ 
+     /* Lock buffer in memory so it can't be paged out */
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xc.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xc.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xc.c       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,18 @@
+$NetBSD: patch-tools_xenstore_xc.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/xenstore/xs.c.orig   2015-01-19 15:40:00.000000000 +0100
++++ tools/xenstore/xs.c        2015-01-19 15:46:56.000000000 +0100
+@@ -725,9 +725,13 @@
+ 
+ #ifdef USE_PTHREAD
+ #define DEFAULT_THREAD_STACKSIZE (16 * 1024)
++#ifndef PTHREAD_STACK_MIN
++#define READ_THREAD_STACKSIZE DEFAULT_THREAD_STACKSIZE
++#else
+ #define READ_THREAD_STACKSIZE                                         \
+       ((DEFAULT_THREAD_STACKSIZE < PTHREAD_STACK_MIN) ?       \
+       PTHREAD_STACK_MIN : DEFAULT_THREAD_STACKSIZE)
++#endif
+ 
+       /* We dynamically create a reader thread on demand. */
+       mutex_lock(&h->request_mutex);
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xs_lib.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xs_lib.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_xenstore_xs_lib.c   Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_xenstore_xs_lib.c,v 1.1 2018/07/24 13:40:11 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;
+ }
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_xentrace_xentrace.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_xentrace_xentrace.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_xentrace_xentrace.c Tue Jul 24 13:40:11 2018
@@ -0,0 +1,13 @@
+$NetBSD: patch-tools_xentrace_xentrace.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/xentrace/xentrace.c.orig     2016-02-09 14:44:19.000000000 +0000
++++ tools/xentrace/xentrace.c
+@@ -945,7 +945,7 @@ static int parse_cpumask_range(const cha
+ {
+     unsigned int a, b;
+     int nmaskbits;
+-    char c;
++    unsigned char c;
+     int in_range;
+     const char *s;
+ 
Index: pkgsrc/sysutils/xentools411/patches/patch-tools_xl_Makefile
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-tools_xl_Makefile:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-tools_xl_Makefile Tue Jul 24 13:40:11 2018
@@ -0,0 +1,16 @@
+$NetBSD: patch-tools_xl_Makefile,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+
+--- tools/xl/Makefile.orig     2018-04-24 12:18:12.000000000 +0200
++++ tools/xl/Makefile  2018-04-24 12:18:46.000000000 +0200
+@@ -42,9 +42,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.sh
++      $(INSTALL_DATA) bash-completion $(DESTDIR)$(XEN_EXAMPLES_DIR)/xl.sh
+ 
+ .PHONY: uninstall
+ uninstall:
Index: pkgsrc/sysutils/xentools411/patches/patch-xen_Rules.mk
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-xen_Rules.mk:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-xen_Rules.mk      Tue Jul 24 13:40:11 2018
@@ -0,0 +1,12 @@
+$NetBSD: patch-xen_Rules.mk,v 1.1 2018/07/24 13:40:11 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
Index: pkgsrc/sysutils/xentools411/patches/patch-xen_tools_symbols.c
diff -u /dev/null pkgsrc/sysutils/xentools411/patches/patch-xen_tools_symbols.c:1.1
--- /dev/null   Tue Jul 24 13:40:11 2018
+++ pkgsrc/sysutils/xentools411/patches/patch-xen_tools_symbols.c       Tue Jul 24 13:40:11 2018
@@ -0,0 +1,19 @@
+$NetBSD: patch-xen_tools_symbols.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $
+symbols.c:180:2: error: array subscript has type 'char' [-Werror=char-subscripts]
+
+--- ./xen/tools/symbols.c      2018-04-23 18:11:57.000000000 +0200
++++ ./xen/tools/symbols.c.orig 2018-04-23 18:13:15.000000000 +0200
+@@ -173,11 +173,11 @@
+       /* include the type field in the symbol name, so that it gets
+        * compressed together */
+       s->len = strlen(str) + 1;
+-      if (islower(stype) && filename)
++      if (islower((unsigned char)stype) && filename)
+               s->len += strlen(filename) + 1;
+       s->sym = malloc(s->len + 1);
+       sym = SYMBOL_NAME(s);
+-      if (islower(stype) && filename) {
++      if (islower((unsigned char)stype) && filename) {
+               sym = stpcpy(sym, filename);
+               *sym++ = '#';
+       }



Home | Main Index | Thread Index | Old Index