diff options
author | bouyer <bouyer@pkgsrc.org> | 2018-07-24 13:40:11 +0000 |
---|---|---|
committer | bouyer <bouyer@pkgsrc.org> | 2018-07-24 13:40:11 +0000 |
commit | e87478616d742f5b80d1989eff9a0873bb4e1099 (patch) | |
tree | e9967be491f1788709aa8dba336f662ab3d05e9d | |
parent | 47fbfd2c6d0ffc40375ebc02f8ef33e4b4b45be2 (diff) | |
download | pkgsrc-e87478616d742f5b80d1989eff9a0873bb4e1099.tar.gz |
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.
88 files changed, 3155 insertions, 0 deletions
diff --git a/sysutils/xenkernel411/DESCR b/sysutils/xenkernel411/DESCR new file mode 100644 index 00000000000..b2339f3f440 --- /dev/null +++ b/sysutils/xenkernel411/DESCR @@ -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]. diff --git a/sysutils/xenkernel411/MESSAGE b/sysutils/xenkernel411/MESSAGE new file mode 100644 index 00000000000..12d4a154cef --- /dev/null +++ b/sysutils/xenkernel411/MESSAGE @@ -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. +=========================================================================== diff --git a/sysutils/xenkernel411/Makefile b/sysutils/xenkernel411/Makefile new file mode 100644 index 00000000000..027ee97825a --- /dev/null +++ b/sysutils/xenkernel411/Makefile @@ -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 +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" diff --git a/sysutils/xenkernel411/PLIST b/sysutils/xenkernel411/PLIST new file mode 100644 index 00000000000..df3493b549e --- /dev/null +++ b/sysutils/xenkernel411/PLIST @@ -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 diff --git a/sysutils/xenkernel411/distinfo b/sysutils/xenkernel411/distinfo new file mode 100644 index 00000000000..d19bd1371b8 --- /dev/null +++ b/sysutils/xenkernel411/distinfo @@ -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 diff --git a/sysutils/xenkernel411/patches/patch-Config.mk b/sysutils/xenkernel411/patches/patch-Config.mk new file mode 100644 index 00000000000..0e8d4cb01fc --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-Config.mk @@ -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 ?= / diff --git a/sysutils/xenkernel411/patches/patch-xen_Makefile b/sysutils/xenkernel411/patches/patch-xen_Makefile new file mode 100644 index 00000000000..6b6fea0db7e --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-xen_Makefile @@ -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' \ diff --git a/sysutils/xenkernel411/patches/patch-xen_Rules.mk b/sysutils/xenkernel411/patches/patch-xen_Rules.mk new file mode 100644 index 00000000000..a372f9dda1a --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-xen_Rules.mk @@ -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 diff --git a/sysutils/xenkernel411/patches/patch-xen_arch_x86_Rules.mk b/sysutils/xenkernel411/patches/patch-xen_arch_x86_Rules.mk new file mode 100644 index 00000000000..754283b6b13 --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-xen_arch_x86_Rules.mk @@ -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 diff --git a/sysutils/xenkernel411/patches/patch-xen_arch_x86_boot_build32.mk b/sysutils/xenkernel411/patches/patch-xen_arch_x86_boot_build32.mk new file mode 100644 index 00000000000..86083fcd926 --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-xen_arch_x86_boot_build32.mk @@ -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 $@ $< diff --git a/sysutils/xenkernel411/patches/patch-xen_tools_symbols.c b/sysutils/xenkernel411/patches/patch-xen_tools_symbols.c new file mode 100644 index 00000000000..2c98e795a54 --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-xen_tools_symbols.c @@ -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++ = '#'; + } diff --git a/sysutils/xenkernel411/patches/patch-zz-JBeulich b/sysutils/xenkernel411/patches/patch-zz-JBeulich new file mode 100644 index 00000000000..e31dfeadd38 --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-zz-JBeulich @@ -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> +Signed-off-by: Jan Beulich <jbeulich@suse.com> + +--- ./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: diff --git a/sysutils/xenkernel411/patches/patch-zz-bouyer b/sysutils/xenkernel411/patches/patch-zz-bouyer new file mode 100644 index 00000000000..65e2750ce87 --- /dev/null +++ b/sysutils/xenkernel411/patches/patch-zz-bouyer @@ -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) diff --git a/sysutils/xentools411/DESCR b/sysutils/xentools411/DESCR new file mode 100644 index 00000000000..fca8ef8c5b6 --- /dev/null +++ b/sysutils/xentools411/DESCR @@ -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 diff --git a/sysutils/xentools411/MESSAGE b/sysutils/xentools411/MESSAGE new file mode 100644 index 00000000000..3847a567fad --- /dev/null +++ b/sysutils/xentools411/MESSAGE @@ -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. + +=========================================================================== diff --git a/sysutils/xentools411/MESSAGE.NetBSD b/sysutils/xentools411/MESSAGE.NetBSD new file mode 100644 index 00000000000..444a7cd5468 --- /dev/null +++ b/sysutils/xentools411/MESSAGE.NetBSD @@ -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 + +=========================================================================== diff --git a/sysutils/xentools411/Makefile b/sysutils/xentools411/Makefile new file mode 100644 index 00000000000..d9a9adcee23 --- /dev/null +++ b/sysutils/xentools411/Makefile @@ -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 +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" diff --git a/sysutils/xentools411/PLIST b/sysutils/xentools411/PLIST new file mode 100644 index 00000000000..f05ee16fa57 --- /dev/null +++ b/sysutils/xentools411/PLIST @@ -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 diff --git a/sysutils/xentools411/distinfo b/sysutils/xentools411/distinfo new file mode 100644 index 00000000000..6c1b5de014d --- /dev/null +++ b/sysutils/xentools411/distinfo @@ -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 diff --git a/sysutils/xentools411/patches/patch-.._ipxe_src_core_settings.c b/sysutils/xentools411/patches/patch-.._ipxe_src_core_settings.c new file mode 100644 index 00000000000..79ca86491c7 --- /dev/null +++ b/sysutils/xentools411/patches/patch-.._ipxe_src_core_settings.c @@ -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, diff --git a/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c b/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c new file mode 100644 index 00000000000..8139df6f39c --- /dev/null +++ b/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c @@ -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 */ diff --git a/sysutils/xentools411/patches/patch-Config.mk b/sysutils/xentools411/patches/patch-Config.mk new file mode 100644 index 00000000000..43c158213ef --- /dev/null +++ b/sysutils/xentools411/patches/patch-Config.mk @@ -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) diff --git a/sysutils/xentools411/patches/patch-Makefile b/sysutils/xentools411/patches/patch-Makefile new file mode 100644 index 00000000000..f3b84cbbfc9 --- /dev/null +++ b/sysutils/xentools411/patches/patch-Makefile @@ -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: diff --git a/sysutils/xentools411/patches/patch-docs_man_xl-disk-configuration.pod.5 b/sysutils/xentools411/patches/patch-docs_man_xl-disk-configuration.pod.5 new file mode 100644 index 00000000000..cdbfc57710f --- /dev/null +++ b/sysutils/xentools411/patches/patch-docs_man_xl-disk-configuration.pod.5 @@ -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>". + diff --git a/sysutils/xentools411/patches/patch-docs_man_xl.cfg.pod.5.in b/sysutils/xentools411/patches/patch-docs_man_xl.cfg.pod.5.in new file mode 100644 index 00000000000..8ba5faee886 --- /dev/null +++ b/sysutils/xentools411/patches/patch-docs_man_xl.cfg.pod.5.in @@ -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 diff --git a/sysutils/xentools411/patches/patch-docs_man_xl.conf.pod.5 b/sysutils/xentools411/patches/patch-docs_man_xl.conf.pod.5 new file mode 100644 index 00000000000..cdfa1e7e662 --- /dev/null +++ b/sysutils/xentools411/patches/patch-docs_man_xl.conf.pod.5 @@ -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"> + diff --git a/sysutils/xentools411/patches/patch-docs_man_xl.pod.1.in b/sysutils/xentools411/patches/patch-docs_man_xl.pod.1.in new file mode 100644 index 00000000000..edf128e2c0b --- /dev/null +++ b/sysutils/xentools411/patches/patch-docs_man_xl.pod.1.in @@ -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> + diff --git a/sysutils/xentools411/patches/patch-docs_man_xlcpupool.cfg.pod.5 b/sysutils/xentools411/patches/patch-docs_man_xlcpupool.cfg.pod.5 new file mode 100644 index 00000000000..76fecb74dc0 --- /dev/null +++ b/sysutils/xentools411/patches/patch-docs_man_xlcpupool.cfg.pod.5 @@ -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 + diff --git a/sysutils/xentools411/patches/patch-docs_misc_block-scripts.txt b/sysutils/xentools411/patches/patch-docs_misc_block-scripts.txt new file mode 100644 index 00000000000..777b4b70f79 --- /dev/null +++ b/sysutils/xentools411/patches/patch-docs_misc_block-scripts.txt @@ -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: + diff --git a/sysutils/xentools411/patches/patch-extras_mini-os_Config.mk b/sysutils/xentools411/patches/patch-extras_mini-os_Config.mk new file mode 100644 index 00000000000..d3493caf5f9 --- /dev/null +++ b/sysutils/xentools411/patches/patch-extras_mini-os_Config.mk @@ -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 diff --git a/sysutils/xentools411/patches/patch-extras_mini-os_arch_x86_arch.mk b/sysutils/xentools411/patches/patch-extras_mini-os_arch_x86_arch.mk new file mode 100644 index 00000000000..09354c4479e --- /dev/null +++ b/sysutils/xentools411/patches/patch-extras_mini-os_arch_x86_arch.mk @@ -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 diff --git a/sysutils/xentools411/patches/patch-extras_mini-os_include_fcntl.h b/sysutils/xentools411/patches/patch-extras_mini-os_include_fcntl.h new file mode 100644 index 00000000000..72826b73bea --- /dev/null +++ b/sysutils/xentools411/patches/patch-extras_mini-os_include_fcntl.h @@ -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 diff --git a/sysutils/xentools411/patches/patch-extras_mini-os_include_time.h b/sysutils/xentools411/patches/patch-extras_mini-os_include_time.h new file mode 100644 index 00000000000..f4ae2a724fd --- /dev/null +++ b/sysutils/xentools411/patches/patch-extras_mini-os_include_time.h @@ -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 + diff --git a/sysutils/xentools411/patches/patch-extras_mini-os_lib_sys.c b/sysutils/xentools411/patches/patch-extras_mini-os_lib_sys.c new file mode 100644 index 00000000000..6fd4c3598f7 --- /dev/null +++ b/sysutils/xentools411/patches/patch-extras_mini-os_lib_sys.c @@ -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> diff --git a/sysutils/xentools411/patches/patch-extras_mini-os_lock.c b/sysutils/xentools411/patches/patch-extras_mini-os_lock.c new file mode 100644 index 00000000000..e1fedc3cd6f --- /dev/null +++ b/sysutils/xentools411/patches/patch-extras_mini-os_lock.c @@ -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>, July 20008 + */ + +-#ifdef HAVE_LIBC ++#if 0 /* def HAVE_LIBC */ + + #include <sys/lock.h> + #include <sched.h> diff --git a/sysutils/xentools411/patches/patch-m4_paths.m4 b/sysutils/xentools411/patches/patch-m4_paths.m4 new file mode 100644 index 00000000000..da900516b64 --- /dev/null +++ b/sysutils/xentools411/patches/patch-m4_paths.m4 @@ -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) diff --git a/sysutils/xentools411/patches/patch-tools_Makefile b/sysutils/xentools411/patches/patch-tools_Makefile new file mode 100644 index 00000000000..35dfb358ef8 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_Makefile @@ -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 \ diff --git a/sysutils/xentools411/patches/patch-tools_Rules.mk b/sysutils/xentools411/patches/patch-tools_Rules.mk new file mode 100644 index 00000000000..75ffee8bf18 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_Rules.mk @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_configure b/sysutils/xentools411/patches/patch-tools_configure new file mode 100644 index 00000000000..fcf83102fe0 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_configure @@ -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" ;; diff --git a/sysutils/xentools411/patches/patch-tools_console_daemon_utils.c b/sysutils/xentools411/patches/patch-tools_console_daemon_utils.c new file mode 100644 index 00000000000..1a77220100f --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_console_daemon_utils.c @@ -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; + } + diff --git a/sysutils/xentools411/patches/patch-tools_debugger_gdbsx_Makefile b/sysutils/xentools411/patches/patch-tools_debugger_gdbsx_Makefile new file mode 100644 index 00000000000..929849f70ef --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_debugger_gdbsx_Makefile @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_examples_Makefile b/sysutils/xentools411/patches/patch-tools_examples_Makefile new file mode 100644 index 00000000000..c37b303c4e6 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_examples_Makefile @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_firmware_etherboot_Makefile b/sysutils/xentools411/patches/patch-tools_firmware_etherboot_Makefile new file mode 100644 index 00000000000..46391c5ff4d --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_firmware_etherboot_Makefile @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_firmware_hvmloader_Makefile b/sysutils/xentools411/patches/patch-tools_firmware_hvmloader_Makefile new file mode 100644 index 00000000000..331330c302e --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_firmware_hvmloader_Makefile @@ -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__ diff --git a/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_Makefile b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_Makefile new file mode 100644 index 00000000000..71df3539e3b --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_Makefile @@ -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: diff --git a/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_block b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_block new file mode 100644 index 00000000000..4096e592e71 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_block @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-bridge b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-bridge new file mode 100644 index 00000000000..196e5a91fb4 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-bridge @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-ip b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-ip new file mode 100644 index 00000000000..6b0dfc9c290 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_hotplug_NetBSD_vif-ip @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_hotplug_common_Makefile b/sysutils/xentools411/patches/patch-tools_hotplug_common_Makefile new file mode 100644 index 00000000000..502c6698698 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_hotplug_common_Makefile @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_include_xen-sys_NetBSD_gntdev.h b/sysutils/xentools411/patches/patch-tools_include_xen-sys_NetBSD_gntdev.h new file mode 100644 index 00000000000..46aac8374c5 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_include_xen-sys_NetBSD_gntdev.h @@ -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__ */ diff --git a/sysutils/xentools411/patches/patch-tools_libs_call_netbsd.c b/sysutils/xentools411/patches/patch-tools_libs_call_netbsd.c new file mode 100644 index 00000000000..b1c88de45df --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libs_call_netbsd.c @@ -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); diff --git a/sysutils/xentools411/patches/patch-tools_libs_call_private.h b/sysutils/xentools411/patches/patch-tools_libs_call_private.h new file mode 100644 index 00000000000..8c38726a6a2 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libs_call_private.h @@ -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 + diff --git a/sysutils/xentools411/patches/patch-tools_libs_evtchn_netbsd.c b/sysutils/xentools411/patches/patch-tools_libs_evtchn_netbsd.c new file mode 100644 index 00000000000..0e0ba11406b --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libs_evtchn_netbsd.c @@ -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)); + } + + /* diff --git a/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_compat.c b/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_compat.c new file mode 100644 index 00000000000..dba7fce79f9 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_compat.c @@ -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, diff --git a/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_netbsd.c b/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_netbsd.c new file mode 100644 index 00000000000..364bb089c2b --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_netbsd.c @@ -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); + } + + /* diff --git a/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_private.h b/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_private.h new file mode 100644 index 00000000000..7b77dfaa443 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libs_foreignmemory_private.h @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_libxl_libxl__create.c b/sysutils/xentools411/patches/patch-tools_libxl_libxl__create.c new file mode 100644 index 00000000000..ba3f05df215 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libxl_libxl__create.c @@ -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; diff --git a/sysutils/xentools411/patches/patch-tools_libxl_libxl_dom.c b/sysutils/xentools411/patches/patch-tools_libxl_libxl_dom.c new file mode 100644 index 00000000000..0234165184d --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libxl_libxl_dom.c @@ -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: diff --git a/sysutils/xentools411/patches/patch-tools_libxl_libxl_event.c b/sysutils/xentools411/patches/patch-tools_libxl_libxl_event.c new file mode 100644 index 00000000000..f9403719148 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libxl_libxl_event.c @@ -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 */ diff --git a/sysutils/xentools411/patches/patch-tools_libxl_libxl_internal.h b/sysutils/xentools411/patches/patch-tools_libxl_libxl_internal.h new file mode 100644 index 00000000000..f566e67bdb6 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libxl_libxl_internal.h @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_libxl_libxl_uuid.c b/sysutils/xentools411/patches/patch-tools_libxl_libxl_uuid.c new file mode 100644 index 00000000000..3062a466923 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_libxl_libxl_uuid.c @@ -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; diff --git a/sysutils/xentools411/patches/patch-tools_ocaml_common.make b/sysutils/xentools411/patches/patch-tools_ocaml_common.make new file mode 100644 index 00000000000..433297eb277 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_ocaml_common.make @@ -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 $@ diff --git a/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_Makefile b/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_Makefile new file mode 100644 index 00000000000..65fdf0981f9 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_Makefile @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_utils.ml b/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_utils.ml new file mode 100644 index 00000000000..eb46a9d6c96 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_ocaml_xenstored_utils.ml @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_Makefile b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_Makefile new file mode 100644 index 00000000000..f94272bd0b1 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_Makefile @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c new file mode 100644 index 00000000000..58d610ba96e --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_block-raw-posix.c @@ -0,0 +1,62 @@ +$NetBSD: patch-tools_qemu-xen-traditional_block-raw-posix.c,v 1.1 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(); + diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_configure b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_configure new file mode 100644 index 00000000000..ae4f5a571c9 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_configure @@ -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 + diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_e1000.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_e1000.c new file mode 100644 index 00000000000..b96b1c3936f --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_e1000.c @@ -0,0 +1,34 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_e1000.c,v 1.1 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; diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_ide.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_ide.c new file mode 100644 index 00000000000..2aefd713403 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_ide.c @@ -0,0 +1,37 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_ide.c,v 1.1 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 */ diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c new file mode 100644 index 00000000000..f0732e85d39 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.c @@ -0,0 +1,13 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_pass-through.c,v 1.1 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" diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h new file mode 100644 index 00000000000..b4b95a40f89 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pass-through.h @@ -0,0 +1,18 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_pass-through.h,v 1.1 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" diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c new file mode 100644 index 00000000000..2e20e513505 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_piix4acpi.c @@ -0,0 +1,17 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_piix4acpi.c,v 1.1 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) diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c new file mode 100644 index 00000000000..c84e7900218 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-graphics.c @@ -0,0 +1,13 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-graphics.c,v 1.1 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> diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c new file mode 100644 index 00000000000..53e9f9bc25a --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.c @@ -0,0 +1,15 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-msi.c,v 1.1 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; diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h new file mode 100644 index 00000000000..f4180651d08 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_hw_pt-msi.h @@ -0,0 +1,12 @@ +$NetBSD: patch-tools_qemu-xen-traditional_hw_pt-msi.h,v 1.1 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 */ diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak new file mode 100644 index 00000000000..cfe76e0184b --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak @@ -0,0 +1,12 @@ +$NetBSD: patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak,v 1.1 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" diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_net.c b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_net.c new file mode 100644 index 00000000000..37048a40d59 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_net.c @@ -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) { diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak new file mode 100644 index 00000000000..dac208a66c3 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen-traditional_xen-hooks.mak @@ -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 diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen_audio_audio.c b/sysutils/xentools411/patches/patch-tools_qemu-xen_audio_audio.c new file mode 100644 index 00000000000..fd3c48a23ac --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen_audio_audio.c @@ -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); + } + diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen_configure b/sysutils/xentools411/patches/patch-tools_qemu-xen_configure new file mode 100644 index 00000000000..f7c0da2a12f --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen_configure @@ -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" + ;; diff --git a/sysutils/xentools411/patches/patch-tools_qemu-xen_qemu-doc.texi b/sysutils/xentools411/patches/patch-tools_qemu-xen_qemu-doc.texi new file mode 100644 index 00000000000..b67e280d66a --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_qemu-xen_qemu-doc.texi @@ -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. diff --git a/sysutils/xentools411/patches/patch-tools_xenpaging_xenpaging.c b/sysutils/xentools411/patches/patch-tools_xenpaging_xenpaging.c new file mode 100644 index 00000000000..8bc5c0d2c53 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_xenpaging_xenpaging.c @@ -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 */ diff --git a/sysutils/xentools411/patches/patch-tools_xenstore_xc.c b/sysutils/xentools411/patches/patch-tools_xenstore_xc.c new file mode 100644 index 00000000000..21d4ac364d8 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_xenstore_xc.c @@ -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); diff --git a/sysutils/xentools411/patches/patch-tools_xenstore_xs_lib.c b/sysutils/xentools411/patches/patch-tools_xenstore_xs_lib.c new file mode 100644 index 00000000000..5cd20cf2bc0 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_xenstore_xs_lib.c @@ -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; + } + diff --git a/sysutils/xentools411/patches/patch-tools_xentrace_xentrace.c b/sysutils/xentools411/patches/patch-tools_xentrace_xentrace.c new file mode 100644 index 00000000000..b31fb5987be --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_xentrace_xentrace.c @@ -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; + diff --git a/sysutils/xentools411/patches/patch-tools_xl_Makefile b/sysutils/xentools411/patches/patch-tools_xl_Makefile new file mode 100644 index 00000000000..35968d99f68 --- /dev/null +++ b/sysutils/xentools411/patches/patch-tools_xl_Makefile @@ -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: diff --git a/sysutils/xentools411/patches/patch-xen_Rules.mk b/sysutils/xentools411/patches/patch-xen_Rules.mk new file mode 100644 index 00000000000..a372f9dda1a --- /dev/null +++ b/sysutils/xentools411/patches/patch-xen_Rules.mk @@ -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 diff --git a/sysutils/xentools411/patches/patch-xen_tools_symbols.c b/sysutils/xentools411/patches/patch-xen_tools_symbols.c new file mode 100644 index 00000000000..423f17b92aa --- /dev/null +++ b/sysutils/xentools411/patches/patch-xen_tools_symbols.c @@ -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++ = '#'; + } |