diff options
author | cegger <cegger> | 2011-04-06 09:10:26 +0000 |
---|---|---|
committer | cegger <cegger> | 2011-04-06 09:10:26 +0000 |
commit | 09aaab69cf6882cd057e6c28de0d7dbe6ed14f76 (patch) | |
tree | 858455abd0624198d448794d93c49c94d97e17ad /sysutils/xentools41 | |
parent | 790c3bb1a186223f27a0a7a53b284b70216bfe5c (diff) | |
download | pkgsrc-09aaab69cf6882cd057e6c28de0d7dbe6ed14f76.tar.gz |
The Xen virtual machine monitor allows running several virtual machines
on a single physical machine. The xentools41 package contains the
tools to create, destroy and control the virtual machines.
This package contains the tools for Xen 4.1.x
Release notes:
The Xen team is pleased to announce the release of Xen 4.1.
The result of nearly 12 months of development, new features include:
* A re-architected and improved XL toolstack replacing XM/XEND
* Prototype credit2 scheduler designed for latency-sensitive workloads and
very large systems.
* CPU Pools for advanced partitioning.
* Support for large systems (>255 processors)
* Support for x86 Advanced Vector eXtension (AVX).
* New Memory Access API enabling integration of 3rd party security
solutions into Xen virtualized environments.
* Many IOMMU fixes (both Intel VT-d IOMMU and AMD IOMMU).
* Many toolstack and buildsystem fixes for Linux and NetBSD hosts.
* Thirdparty libs: libvirt driver for libxl has been merged to upstream
libvirt.
* HVM guest PXE boot enhancements, replacing gPXE with iPXE.
* Even better stability through our new automated regression tests.
Detailed release notes, including a more extensive feature list:
http://wiki.xen.org/xenwiki/Xen4.1
To download tarballs:
http://xen.org/products/xen_source.html
Or the Mercurial source repository (tag 'RELEASE-4.1.0'):
http://xenbits.xen.org/xen-unstable.hg
And the announcement on the Xen blog:
http://blog.xen.org/index.php/2011/03/25/xen-4-1-releases/
Thanks to the many people who have contributed to this release!
Regards,
The Xen Team
Diffstat (limited to 'sysutils/xentools41')
36 files changed, 2215 insertions, 0 deletions
diff --git a/sysutils/xentools41/DESCR b/sysutils/xentools41/DESCR new file mode 100644 index 00000000000..04e509483fc --- /dev/null +++ b/sysutils/xentools41/DESCR @@ -0,0 +1,5 @@ +The Xen virtual machine monitor allows running several virtual machines +on a single physical machine. The xentools41 package contains the +tools to create, destroy and control the virtual machines. + +This package contains the tools for Xen 4.1.x diff --git a/sysutils/xentools41/MESSAGE.NetBSD b/sysutils/xentools41/MESSAGE.NetBSD new file mode 100644 index 00000000000..28dae84aab1 --- /dev/null +++ b/sysutils/xentools41/MESSAGE.NetBSD @@ -0,0 +1,17 @@ +=========================================================================== +$NetBSD: MESSAGE.NetBSD,v 1.1.1.1 2011/04/06 09:10:26 cegger 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/xentools41/Makefile b/sysutils/xentools41/Makefile new file mode 100644 index 00000000000..7656b4d220e --- /dev/null +++ b/sysutils/xentools41/Makefile @@ -0,0 +1,162 @@ +# $NetBSD: Makefile,v 1.1.1.1 2011/04/06 09:10:26 cegger Exp $ +# + +VERSION= 4.1.0 +DISTNAME= xen-${VERSION} +PKGNAME= xentools41-${VERSION} +#PKGREVISION= 1 +CATEGORIES= sysutils +MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/ +EXTRACT_SUFX= .tar.gz + +DISTFILES= ${DISTNAME}.tar.gz +DISTFILES+= ipxe-git-v1.0.0.tar.gz +SITES.ipxe-git-v1.0.0.tar.gz += http://xenbits.xensource.com/xen-extfiles/ + +MAINTAINER= cegger@NetBSD.org +HOMEPAGE= http://xen.org/ +COMMENT= Userland Tools for Xen 4.1.x + +LICENSE= gnu-gpl-v2 + +PKG_DESTDIR_SUPPORT= user-destdir + +#DEPENDS+= ${PYPKGPREFIX}-readline-[0-9]*:../../devel/py-readline + +# XXX add version check: Xen requires dev86 >= 0.16.14 +BUILD_DEPENDS+= dev86-[0-9]*:../../devel/dev86 # needed to build firmware + +PKG_SYSCONFSUBDIR= xen + +ONLY_FOR_PLATFORM= Linux-2.6*-i386 Linux-2.6*-x86_64 +ONLY_FOR_PLATFORM+= NetBSD-[5-9].*-x86_64 NetBSD-[5-9].*-i386 + +CONFLICTS+= libxen-[0-9]* +CONFLICTS+= xentools20-[0-9]* +CONFLICTS+= xentools3* + +WRKSRC= ${WRKDIR}/xen-${VERSION}/tools +CHECK_PORTABILITY_SKIP= examples/* xm-test/ramdisk/make-release + +EGDIR= ${PREFIX}/share/examples/xen +MESSAGE_SUBST= EGDIR=${EGDIR} + +USE_TOOLS+= perl #for pod2man +USE_TOOLS+= gmake + +MAKE_ENV+= PREFIX=${prefix:Q} WRKSRC=${WRKSRC} +MAKE_ENV+= EGDIR=${EGDIR:Q} +MAKE_ENV+= MV=${MV:Q} PYTHON=${PYTHONBIN:Q} SED=${SED:Q} +MAKE_ENV+= VARBASE=${VARBASE} + +#MAKE_ENV+= INSTALL_DIR=${BSD_INSTALL_DATA_DIR} +#MAKE_ENV+= INSTALL_DATA=${BSD_INSTALL_DATA} +#MAKE_ENV+= INSTALL_PROG=${BSD_INSTALL_PROGRAM} + +#INSTALL_MAKE_FLAGS+= CONFIG_DIR=${prefix}/share/examples + +PY_PATCHPLIST= yes +#PYTHON_PATCH_SCRIPTS+= misc/xm +#PYTHON_PATCH_SCRIPTS+= misc/netfix +#PYTHON_PATCH_SCRIPTS+= misc/xen-bugtool +#PYTHON_PATCH_SCRIPTS+= misc/xencons +#PYTHON_PATCH_SCRIPTS+= misc/xend +#PYTHON_PATCH_SCRIPTS+= misc/xensymoops +#PYTHON_PATCH_SCRIPTS+= misc/xen-python-path +#PYTHON_PATCH_SCRIPTS+= pygrub/src/pygrub +#PYTHON_PATCH_SCRIPTS+= python/xen/util/*.py +#PYTHON_PATCH_SCRIPTS+= python/xen/xend/*.py +#PYTHON_PATCH_SCRIPTS+= python/xen/xm/*.py +#PYTHON_PATCH_SCRIPTS+= python/xen/util/*.py +#PYTHON_PATCH_SCRIPTS+= python/*.py +#PYTHON_PATCH_SCRIPTS+= security/python/xensec_gen/cgi-bin/policy.cgi +#PYTHON_PATCH_SCRIPTS+= security/python/xensec_gen/*.py +#PYTHON_PATCH_SCRIPTS+= security/python/*.py +#PYTHON_PATCH_SCRIPTS+= security/*.py +#PYTHON_PATCH_SCRIPTS+= xenmon/*.py +#PYTHON_PATCH_SCRIPTS+= xentrace/xentrace_format + +SUBST_CLASSES+= pathsvar +SUBST_STAGE.pathsvar= pre-configure +SUBST_FILES.pathsvar= Makefile \ + examples/xend-config.sxp \ + hotplug/Linux/init.d/sysconfig.xendomains \ + python/xen/xend/XendOptions.py \ + python/xen/xend/server/relocate.py \ + python/xen/xend/tests/xend-config.sxp \ + security/Makefile \ + security/python/xensec_gen/main.py \ + xenstore/xs_lib.c +SUBST_SED.pathsvar= -e "s|/var/lib|${VARBASE}/run|g" + +SUBST_CLASSES+= conf +SUBST_STAGE.conf= pre-configure +SUBST_FILES.conf+= python/xen/xm/create.py +SUBST_SED.conf= -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" + +.include "../../mk/bsd.prefs.mk" + +.if ${OPSYS} == "NetBSD" +SUBST_CLASSES+= proc +SUBST_STAGE.proc= pre-configure +SUBST_FILES.proc= python/xen/xend/XendVnet.py +SUBST_SED.proc= -e "s|/proc|/kern|g" +PROCPATH= /kern +.else +PROCPATH= /proc +.endif + +RCD_SCRIPTS= xen-watchdog xencommons xend xendomains +FILES_SUBST+= RCD_INTERPRETER=${PYTHONBIN:Q} +FILES_SUBST+= PROCPATH=${PROCPATH:Q} +FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q} +FILES_SUBST+= PREFIX=${PREFIX:Q} + +BLKTAP_FILES= blk_netbsd.c blktapctrl_netbsd.c + +#CONF_FILES= ${EGDIR}/formats ${PKG_SYSCONFDIR}/formats + +CONF_FILES= ${EGDIR}/xend-config.sxp \ + ${PKG_SYSCONFDIR}/xend-config.sxp + +OWN_DIRS= ${PKG_SYSCONFDIR}/scripts ${VARBASE}/log/xen ${VARBASE}/lib + +pre-build: + rm -f ${WRKSRC}/check/check_x11_devel +.for s in ${BLKTAP_FILES} + ${CP} ${FILESDIR}/${s} ${WRKSRC}/blktap/drivers/ +.endfor + pod2man ${WRKSRC}/../docs/man/xend-config.sxp.pod.5 |\ + ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ + >${WRKDIR}/xend-config.sxp.5 + pod2man ${WRKSRC}/../docs/man/xmdomain.cfg.pod.5 |\ + ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ + >${WRKDIR}/xmdomain.cfg.5 + pod2man ${WRKSRC}/../docs/man/xm.pod.1 |\ + ${SED} -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ + >${WRKDIR}/xm.1 + +INSTALLATION_DIRS= ${EGDIR} ${PKGMANDIR}/man5 + +post-install: + for f in xend-config.sxp xmexample1 xmexample2 xmexample3; do \ + ${INSTALL_DATA} ${WRKSRC}/examples/$$f ${DESTDIR}${EGDIR}/$$f; \ + done + ${INSTALL_DATA} ${WRKDIR}/xend-config.sxp.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5 + ${INSTALL_DATA} ${WRKDIR}/xmdomain.cfg.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5 + ${INSTALL_DATA} ${WRKDIR}/xm.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 + +.if ${OPSYS} == "NetBSD" +CPPFLAGS+= -Dshm_open=open -Dshm_unlink=unlink +.endif + +.include "../../lang/python/application.mk" +.include "../../lang/python/extension.mk" +.include "../../textproc/py-xml/buildlink3.mk" +.include "../../devel/py-curses/buildlink3.mk" +.include "../../devel/ncurses/buildlink3.mk" +#.include "../../devel/SDL/buildlink3.mk" +.include "../../lang/ocaml/buildlink3.mk" +.include "../../devel/ocaml-findlib/buildlink3.mk" + +.include "../../mk/bsd.pkg.mk" diff --git a/sysutils/xentools41/PLIST b/sysutils/xentools41/PLIST new file mode 100644 index 00000000000..187fa056669 --- /dev/null +++ b/sysutils/xentools41/PLIST @@ -0,0 +1,739 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2011/04/06 09:10:26 cegger Exp $ +bin/lsevtchn +bin/pygrub +bin/qemu-img-xen +bin/readnotes +bin/remus +bin/xc_restore +bin/xc_save +bin/xen-detect +bin/xencons +bin/xenconsole +bin/xenctx +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 +bin/xentrace_format +bin/xentrace_setsize +etc/xen/scripts/hotplugpath.sh +include/_libxl_types.h +include/blktaplib.h +include/fsimage.h +include/fsimage_plugin.h +include/fsimage_grub.h +include/libxl.h +include/libxl_uuid.h +include/xen/arch-ia64/hvm/memmap.h +include/xen/arch-ia64/hvm/save.h +include/xen/arch-ia64/debug_op.h +include/xen/arch-ia64/sioemu.h +include/xen/arch-x86/hvm/save.h +include/xen/arch-x86/cpuid.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/foreign/ia64.h +include/xen/foreign/x86_32.h +include/xen/foreign/${MACHINE_ARCH}.h +include/xen/hvm/e820.h +include/xen/hvm/hvm_info_table.h +include/xen/hvm/hvm_op.h +include/xen/hvm/ioreq.h +include/xen/hvm/params.h +include/xen/hvm/save.h +include/xen/io/blkif.h +include/xen/io/console.h +include/xen/io/fbif.h +include/xen/io/fsif.h +include/xen/io/kbdif.h +include/xen/io/netif.h +include/xen/io/pciif.h +include/xen/io/protocols.h +include/xen/io/ring.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/sys/evtchn.h +include/xen/sys/gntdev.h +include/xen/sys/privcmd.h +include/xen/xsm/acm.h +include/xen/xsm/acm_ops.h +include/xen/xsm/flask_op.h +include/xen/xsm/libflask.h +include/xen/COPYING +include/xen/arch-ia64.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/event_channel.h +include/xen/features.h +include/xen/grant_table.h +include/xen/kexec.h +include/xen/mem_event.h +include/xen/memory.h +include/xen/nmi.h +include/xen/physdev.h +include/xen/platform.h +include/xen/sched.h +include/xen/sysctl.h +include/xen/tmem.h +include/xen/trace.h +include/xen/vcpu.h +include/xen/version.h +include/xen/xen-compat.h +include/xen/xen.h +include/xen/xencomm.h +include/xen/xenoprof.h +include/xenctrl.h +include/xenctrlosdep.h +include/xentoollog.h +include/xenguest.h +include/xs.h +include/xs_lib.h +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/zfs/fsimage.so +lib/libblktap.a +lib/libblktap.so +lib/libblktap.so.3.0 +lib/libblktap.so.3.0.0 +lib/libflask.a +lib/libflask.so +lib/libflask.so.1.0 +lib/libflask.so.1.0.0 +lib/libfsimage.so +lib/libfsimage.so.1.0 +lib/libfsimage.so.1.0.0 +lib/libxenctrl.a +lib/libxenctrl.so +lib/libxenctrl.so.4.0 +lib/libxenctrl.so.4.0.0 +lib/libxenguest.a +lib/libxenguest.so +lib/libxenguest.so.4.0 +lib/libxenguest.so.4.0.0 +lib/libxenlight.a +lib/libxenlight.so +lib/libxenlight.so.1.0 +lib/libxenlight.so.1.0.0 +lib/libxenstore.a +lib/libxenstore.so +lib/libxenstore.so.3.0 +lib/libxenstore.so.3.0.0 +lib/libxlutil.a +lib/libxlutil.so +lib/libxlutil.so.1.0 +lib/libxlutil.so.1.0.0 +lib/ocaml/site-lib/eventchn/META +lib/ocaml/site-lib/eventchn/dlleventchn_stubs.so +lib/ocaml/site-lib/eventchn/eventchn.a +lib/ocaml/site-lib/eventchn/eventchn.cma +lib/ocaml/site-lib/eventchn/eventchn.cmi +lib/ocaml/site-lib/eventchn/eventchn.cmx +lib/ocaml/site-lib/eventchn/eventchn.cmxa +lib/ocaml/site-lib/eventchn/libeventchn_stubs.a +lib/ocaml/site-lib/log/META +lib/ocaml/site-lib/log/dllsyslog_stubs.so +lib/ocaml/site-lib/log/libsyslog_stubs.a +lib/ocaml/site-lib/log/log.a +lib/ocaml/site-lib/log/log.cma +lib/ocaml/site-lib/log/log.cmi +lib/ocaml/site-lib/log/log.cmx +lib/ocaml/site-lib/log/log.cmxa +lib/ocaml/site-lib/log/logs.cmi +lib/ocaml/site-lib/log/logs.cmx +lib/ocaml/site-lib/log/syslog.cmi +lib/ocaml/site-lib/log/syslog.cmx +lib/ocaml/site-lib/mmap/META +lib/ocaml/site-lib/mmap/dllmmap_stubs.so +lib/ocaml/site-lib/mmap/libmmap_stubs.a +lib/ocaml/site-lib/mmap/mmap.a +lib/ocaml/site-lib/mmap/mmap.cma +lib/ocaml/site-lib/mmap/mmap.cmi +lib/ocaml/site-lib/mmap/mmap.cmx +lib/ocaml/site-lib/mmap/mmap.cmxa +lib/ocaml/site-lib/uuid/META +lib/ocaml/site-lib/uuid/uuid.a +lib/ocaml/site-lib/uuid/uuid.cma +lib/ocaml/site-lib/uuid/uuid.cmi +lib/ocaml/site-lib/uuid/uuid.cmx +lib/ocaml/site-lib/uuid/uuid.cmxa +lib/ocaml/site-lib/xb/META +lib/ocaml/site-lib/xb/dllxb_stubs.so +lib/ocaml/site-lib/xb/libxb_stubs.a +lib/ocaml/site-lib/xb/op.cmi +lib/ocaml/site-lib/xb/op.cmx +lib/ocaml/site-lib/xb/packet.cmi +lib/ocaml/site-lib/xb/packet.cmx +lib/ocaml/site-lib/xb/partial.cmx +lib/ocaml/site-lib/xb/xb.a +lib/ocaml/site-lib/xb/xb.cma +lib/ocaml/site-lib/xb/xb.cmi +lib/ocaml/site-lib/xb/xb.cmx +lib/ocaml/site-lib/xb/xb.cmxa +lib/ocaml/site-lib/xb/xs_ring.cmx +lib/ocaml/site-lib/xc/META +lib/ocaml/site-lib/xc/dllxc_stubs.so +lib/ocaml/site-lib/xc/libxc_stubs.a +lib/ocaml/site-lib/xc/xc.a +lib/ocaml/site-lib/xc/xc.cma +lib/ocaml/site-lib/xc/xc.cmi +lib/ocaml/site-lib/xc/xc.cmx +lib/ocaml/site-lib/xc/xc.cmxa +lib/ocaml/site-lib/xl/META +lib/ocaml/site-lib/xl/dllxl_stubs.so +lib/ocaml/site-lib/xl/libxl_stubs.a +lib/ocaml/site-lib/xl/xl.a +lib/ocaml/site-lib/xl/xl.cma +lib/ocaml/site-lib/xl/xl.cmi +lib/ocaml/site-lib/xl/xl.cmx +lib/ocaml/site-lib/xl/xl.cmxa +lib/ocaml/site-lib/xs/META +lib/ocaml/site-lib/xs/queueop.cmx +lib/ocaml/site-lib/xs/xs.a +lib/ocaml/site-lib/xs/xs.cma +lib/ocaml/site-lib/xs/xs.cmi +lib/ocaml/site-lib/xs/xs.cmx +lib/ocaml/site-lib/xs/xs.cmxa +lib/ocaml/site-lib/xs/xsraw.cmi +lib/ocaml/site-lib/xs/xsraw.cmx +lib/ocaml/site-lib/xs/xst.cmi +lib/ocaml/site-lib/xs/xst.cmx +${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}/xen/__init__.py +${PYSITELIB}/xen/__init__.pyc +${PYSITELIB}/xen/lowlevel/__init__.py +${PYSITELIB}/xen/lowlevel/__init__.pyc +${PYSITELIB}/xen/lowlevel/acm.so +${PYSITELIB}/xen/lowlevel/flask.so +${PYSITELIB}/xen/lowlevel/ptsname.so +${PYSITELIB}/xen/lowlevel/xc.so +${PYSITELIB}/xen/lowlevel/xl.so +${PYSITELIB}/xen/lowlevel/xs.so +${PYSITELIB}/xen/remus/__init__.py +${PYSITELIB}/xen/remus/__init__.pyc +${PYSITELIB}/xen/remus/blkdev.py +${PYSITELIB}/xen/remus/blkdev.pyc +${PYSITELIB}/xen/remus/device.py +${PYSITELIB}/xen/remus/device.pyc +${PYSITELIB}/xen/remus/image.py +${PYSITELIB}/xen/remus/image.pyc +${PYSITELIB}/xen/remus/netlink.py +${PYSITELIB}/xen/remus/netlink.pyc +${PYSITELIB}/xen/remus/profile.py +${PYSITELIB}/xen/remus/profile.pyc +${PYSITELIB}/xen/remus/qdisc.py +${PYSITELIB}/xen/remus/qdisc.pyc +${PYSITELIB}/xen/remus/save.py +${PYSITELIB}/xen/remus/save.pyc +${PYSITELIB}/xen/remus/tapdisk.py +${PYSITELIB}/xen/remus/tapdisk.pyc +${PYSITELIB}/xen/remus/util.py +${PYSITELIB}/xen/remus/util.pyc +${PYSITELIB}/xen/remus/vbd.py +${PYSITELIB}/xen/remus/vbd.pyc +${PYSITELIB}/xen/remus/vdi.py +${PYSITELIB}/xen/remus/vdi.pyc +${PYSITELIB}/xen/remus/vif.py +${PYSITELIB}/xen/remus/vif.pyc +${PYSITELIB}/xen/remus/vm.py +${PYSITELIB}/xen/remus/vm.pyc +${PYSITELIB}/xen/sv/CreateDomain.py +${PYSITELIB}/xen/sv/CreateDomain.pyc +${PYSITELIB}/xen/sv/DomInfo.py +${PYSITELIB}/xen/sv/DomInfo.pyc +${PYSITELIB}/xen/sv/GenTabbed.py +${PYSITELIB}/xen/sv/GenTabbed.pyc +${PYSITELIB}/xen/sv/HTMLBase.py +${PYSITELIB}/xen/sv/HTMLBase.pyc +${PYSITELIB}/xen/sv/Main.py +${PYSITELIB}/xen/sv/Main.pyc +${PYSITELIB}/xen/sv/NodeInfo.py +${PYSITELIB}/xen/sv/NodeInfo.pyc +${PYSITELIB}/xen/sv/RestoreDomain.py +${PYSITELIB}/xen/sv/RestoreDomain.pyc +${PYSITELIB}/xen/sv/Wizard.py +${PYSITELIB}/xen/sv/Wizard.pyc +${PYSITELIB}/xen/sv/__init__.py +${PYSITELIB}/xen/sv/__init__.pyc +${PYSITELIB}/xen/sv/util.py +${PYSITELIB}/xen/sv/util.pyc +${PYSITELIB}/xen/util/Brctl.py +${PYSITELIB}/xen/util/Brctl.pyc +${PYSITELIB}/xen/util/SSHTransport.py +${PYSITELIB}/xen/util/SSHTransport.pyc +${PYSITELIB}/xen/util/__init__.py +${PYSITELIB}/xen/util/__init__.pyc +${PYSITELIB}/xen/util/acmpolicy.py +${PYSITELIB}/xen/util/acmpolicy.pyc +${PYSITELIB}/xen/util/asserts.py +${PYSITELIB}/xen/util/asserts.pyc +${PYSITELIB}/xen/util/auxbin.py +${PYSITELIB}/xen/util/auxbin.pyc +${PYSITELIB}/xen/util/blkif.py +${PYSITELIB}/xen/util/blkif.pyc +${PYSITELIB}/xen/util/bootloader.py +${PYSITELIB}/xen/util/bootloader.pyc +${PYSITELIB}/xen/util/bugtool.py +${PYSITELIB}/xen/util/bugtool.pyc +${PYSITELIB}/xen/util/diagnose.py +${PYSITELIB}/xen/util/diagnose.pyc +${PYSITELIB}/xen/util/dictio.py +${PYSITELIB}/xen/util/dictio.pyc +${PYSITELIB}/xen/util/fileuri.py +${PYSITELIB}/xen/util/fileuri.pyc +${PYSITELIB}/xen/util/ip.py +${PYSITELIB}/xen/util/ip.pyc +${PYSITELIB}/xen/util/mac.py +${PYSITELIB}/xen/util/mac.pyc +${PYSITELIB}/xen/util/mkdir.py +${PYSITELIB}/xen/util/mkdir.pyc +${PYSITELIB}/xen/util/oshelp.py +${PYSITELIB}/xen/util/oshelp.pyc +${PYSITELIB}/xen/util/path.py +${PYSITELIB}/xen/util/path.pyc +${PYSITELIB}/xen/util/pci.py +${PYSITELIB}/xen/util/pci.pyc +${PYSITELIB}/xen/util/rwlock.py +${PYSITELIB}/xen/util/rwlock.pyc +${PYSITELIB}/xen/util/sxputils.py +${PYSITELIB}/xen/util/sxputils.pyc +${PYSITELIB}/xen/util/utils.py +${PYSITELIB}/xen/util/utils.pyc +${PYSITELIB}/xen/util/vscsi_util.py +${PYSITELIB}/xen/util/vscsi_util.pyc +${PYSITELIB}/xen/util/vusb_util.py +${PYSITELIB}/xen/util/vusb_util.pyc +${PYSITELIB}/xen/util/xmlrpcclient.py +${PYSITELIB}/xen/util/xmlrpcclient.pyc +${PYSITELIB}/xen/util/xmlrpclib2.py +${PYSITELIB}/xen/util/xmlrpclib2.pyc +${PYSITELIB}/xen/util/xpopen.py +${PYSITELIB}/xen/util/xpopen.pyc +${PYSITELIB}/xen/util/xsconstants.py +${PYSITELIB}/xen/util/xsconstants.pyc +${PYSITELIB}/xen/util/xsm/__init__.py +${PYSITELIB}/xen/util/xsm/__init__.pyc +${PYSITELIB}/xen/util/xsm/acm/__init__.py +${PYSITELIB}/xen/util/xsm/acm/__init__.pyc +${PYSITELIB}/xen/util/xsm/acm/acm.py +${PYSITELIB}/xen/util/xsm/acm/acm.pyc +${PYSITELIB}/xen/util/xsm/dummy/__init__.py +${PYSITELIB}/xen/util/xsm/dummy/__init__.pyc +${PYSITELIB}/xen/util/xsm/dummy/dummy.py +${PYSITELIB}/xen/util/xsm/dummy/dummy.pyc +${PYSITELIB}/xen/util/xsm/flask/__init__.py +${PYSITELIB}/xen/util/xsm/flask/__init__.pyc +${PYSITELIB}/xen/util/xsm/flask/flask.py +${PYSITELIB}/xen/util/xsm/flask/flask.pyc +${PYSITELIB}/xen/util/xsm/xsm.py +${PYSITELIB}/xen/util/xsm/xsm.pyc +${PYSITELIB}/xen/util/xsm/xsm_core.py +${PYSITELIB}/xen/util/xsm/xsm_core.pyc +${PYSITELIB}/xen/util/xspolicy.py +${PYSITELIB}/xen/util/xspolicy.pyc +${PYSITELIB}/xen/web/SrvBase.py +${PYSITELIB}/xen/web/SrvBase.pyc +${PYSITELIB}/xen/web/SrvDir.py +${PYSITELIB}/xen/web/SrvDir.pyc +${PYSITELIB}/xen/web/__init__.py +${PYSITELIB}/xen/web/__init__.pyc +${PYSITELIB}/xen/web/connection.py +${PYSITELIB}/xen/web/connection.pyc +${PYSITELIB}/xen/web/http.py +${PYSITELIB}/xen/web/http.pyc +${PYSITELIB}/xen/web/httpserver.py +${PYSITELIB}/xen/web/httpserver.pyc +${PYSITELIB}/xen/web/protocol.py +${PYSITELIB}/xen/web/protocol.pyc +${PYSITELIB}/xen/web/resource.py +${PYSITELIB}/xen/web/resource.pyc +${PYSITELIB}/xen/web/static.py +${PYSITELIB}/xen/web/static.pyc +${PYSITELIB}/xen/web/tcp.py +${PYSITELIB}/xen/web/tcp.pyc +${PYSITELIB}/xen/web/unix.py +${PYSITELIB}/xen/web/unix.pyc +${PYSITELIB}/xen/xend/Args.py +${PYSITELIB}/xen/xend/Args.pyc +${PYSITELIB}/xen/xend/MemoryPool.py +${PYSITELIB}/xen/xend/MemoryPool.pyc +${PYSITELIB}/xen/xend/PrettyPrint.py +${PYSITELIB}/xen/xend/PrettyPrint.pyc +${PYSITELIB}/xen/xend/Vifctl.py +${PYSITELIB}/xen/xend/Vifctl.pyc +${PYSITELIB}/xen/xend/XendAPI.py +${PYSITELIB}/xen/xend/XendAPI.pyc +${PYSITELIB}/xen/xend/XendAPIConstants.py +${PYSITELIB}/xen/xend/XendAPIConstants.pyc +${PYSITELIB}/xen/xend/XendAPIStore.py +${PYSITELIB}/xen/xend/XendAPIStore.pyc +${PYSITELIB}/xen/xend/XendAPIVersion.py +${PYSITELIB}/xen/xend/XendAPIVersion.pyc +${PYSITELIB}/xen/xend/XendAuthSessions.py +${PYSITELIB}/xen/xend/XendAuthSessions.pyc +${PYSITELIB}/xen/xend/XendBase.py +${PYSITELIB}/xen/xend/XendBase.pyc +${PYSITELIB}/xen/xend/XendBootloader.py +${PYSITELIB}/xen/xend/XendBootloader.pyc +${PYSITELIB}/xen/xend/XendCPUPool.py +${PYSITELIB}/xen/xend/XendCPUPool.pyc +${PYSITELIB}/xen/xend/XendCheckpoint.py +${PYSITELIB}/xen/xend/XendCheckpoint.pyc +${PYSITELIB}/xen/xend/XendClient.py +${PYSITELIB}/xen/xend/XendClient.pyc +${PYSITELIB}/xen/xend/XendConfig.py +${PYSITELIB}/xen/xend/XendConfig.pyc +${PYSITELIB}/xen/xend/XendConstants.py +${PYSITELIB}/xen/xend/XendConstants.pyc +${PYSITELIB}/xen/xend/XendDPCI.py +${PYSITELIB}/xen/xend/XendDPCI.pyc +${PYSITELIB}/xen/xend/XendDSCSI.py +${PYSITELIB}/xen/xend/XendDSCSI.pyc +${PYSITELIB}/xen/xend/XendDevices.py +${PYSITELIB}/xen/xend/XendDevices.pyc +${PYSITELIB}/xen/xend/XendDmesg.py +${PYSITELIB}/xen/xend/XendDmesg.pyc +${PYSITELIB}/xen/xend/XendDomain.py +${PYSITELIB}/xen/xend/XendDomain.pyc +${PYSITELIB}/xen/xend/XendDomainInfo.py +${PYSITELIB}/xen/xend/XendDomainInfo.pyc +${PYSITELIB}/xen/xend/XendError.py +${PYSITELIB}/xen/xend/XendError.pyc +${PYSITELIB}/xen/xend/XendLocalStorageRepo.py +${PYSITELIB}/xen/xend/XendLocalStorageRepo.pyc +${PYSITELIB}/xen/xend/XendLogging.py +${PYSITELIB}/xen/xend/XendLogging.pyc +${PYSITELIB}/xen/xend/XendMonitor.py +${PYSITELIB}/xen/xend/XendMonitor.pyc +${PYSITELIB}/xen/xend/XendNetwork.py +${PYSITELIB}/xen/xend/XendNetwork.pyc +${PYSITELIB}/xen/xend/XendNode.py +${PYSITELIB}/xen/xend/XendNode.pyc +${PYSITELIB}/xen/xend/XendOptions.py +${PYSITELIB}/xen/xend/XendOptions.pyc +${PYSITELIB}/xen/xend/XendPBD.py +${PYSITELIB}/xen/xend/XendPBD.pyc +${PYSITELIB}/xen/xend/XendPIF.py +${PYSITELIB}/xen/xend/XendPIF.pyc +${PYSITELIB}/xen/xend/XendPIFMetrics.py +${PYSITELIB}/xen/xend/XendPIFMetrics.pyc +${PYSITELIB}/xen/xend/XendPPCI.py +${PYSITELIB}/xen/xend/XendPPCI.pyc +${PYSITELIB}/xen/xend/XendPSCSI.py +${PYSITELIB}/xen/xend/XendPSCSI.pyc +${PYSITELIB}/xen/xend/XendProtocol.py +${PYSITELIB}/xen/xend/XendProtocol.pyc +${PYSITELIB}/xen/xend/XendQCoWStorageRepo.py +${PYSITELIB}/xen/xend/XendQCoWStorageRepo.pyc +${PYSITELIB}/xen/xend/XendSXPDev.py +${PYSITELIB}/xen/xend/XendSXPDev.pyc +${PYSITELIB}/xen/xend/XendStateStore.py +${PYSITELIB}/xen/xend/XendStateStore.pyc +${PYSITELIB}/xen/xend/XendStorageRepository.py +${PYSITELIB}/xen/xend/XendStorageRepository.pyc +${PYSITELIB}/xen/xend/XendTask.py +${PYSITELIB}/xen/xend/XendTask.pyc +${PYSITELIB}/xen/xend/XendTaskManager.py +${PYSITELIB}/xen/xend/XendTaskManager.pyc +${PYSITELIB}/xen/xend/XendVDI.py +${PYSITELIB}/xen/xend/XendVDI.pyc +${PYSITELIB}/xen/xend/XendVMMetrics.py +${PYSITELIB}/xen/xend/XendVMMetrics.pyc +${PYSITELIB}/xen/xend/XendVnet.py +${PYSITELIB}/xen/xend/XendVnet.pyc +${PYSITELIB}/xen/xend/XendXSPolicy.py +${PYSITELIB}/xen/xend/XendXSPolicy.pyc +${PYSITELIB}/xen/xend/XendXSPolicyAdmin.py +${PYSITELIB}/xen/xend/XendXSPolicyAdmin.pyc +${PYSITELIB}/xen/xend/__init__.py +${PYSITELIB}/xen/xend/__init__.pyc +${PYSITELIB}/xen/xend/arch.py +${PYSITELIB}/xen/xend/arch.pyc +${PYSITELIB}/xen/xend/balloon.py +${PYSITELIB}/xen/xend/balloon.pyc +${PYSITELIB}/xen/xend/encode.py +${PYSITELIB}/xen/xend/encode.pyc +${PYSITELIB}/xen/xend/image.py +${PYSITELIB}/xen/xend/image.pyc +${PYSITELIB}/xen/xend/osdep.py +${PYSITELIB}/xen/xend/osdep.pyc +${PYSITELIB}/xen/xend/server/BlktapController.py +${PYSITELIB}/xen/xend/server/BlktapController.pyc +${PYSITELIB}/xen/xend/server/ConsoleController.py +${PYSITELIB}/xen/xend/server/ConsoleController.pyc +${PYSITELIB}/xen/xend/server/DevConstants.py +${PYSITELIB}/xen/xend/server/DevConstants.pyc +${PYSITELIB}/xen/xend/server/DevController.py +${PYSITELIB}/xen/xend/server/DevController.pyc +${PYSITELIB}/xen/xend/server/SSLXMLRPCServer.py +${PYSITELIB}/xen/xend/server/SSLXMLRPCServer.pyc +${PYSITELIB}/xen/xend/server/SrvDaemon.py +${PYSITELIB}/xen/xend/server/SrvDaemon.pyc +${PYSITELIB}/xen/xend/server/SrvDmesg.py +${PYSITELIB}/xen/xend/server/SrvDmesg.pyc +${PYSITELIB}/xen/xend/server/SrvDomain.py +${PYSITELIB}/xen/xend/server/SrvDomain.pyc +${PYSITELIB}/xen/xend/server/SrvDomainDir.py +${PYSITELIB}/xen/xend/server/SrvDomainDir.pyc +${PYSITELIB}/xen/xend/server/SrvNode.py +${PYSITELIB}/xen/xend/server/SrvNode.pyc +${PYSITELIB}/xen/xend/server/SrvRoot.py +${PYSITELIB}/xen/xend/server/SrvRoot.pyc +${PYSITELIB}/xen/xend/server/SrvServer.py +${PYSITELIB}/xen/xend/server/SrvServer.pyc +${PYSITELIB}/xen/xend/server/SrvVnetDir.py +${PYSITELIB}/xen/xend/server/SrvVnetDir.pyc +${PYSITELIB}/xen/xend/server/SrvXendLog.py +${PYSITELIB}/xen/xend/server/SrvXendLog.pyc +${PYSITELIB}/xen/xend/server/XMLRPCServer.py +${PYSITELIB}/xen/xend/server/XMLRPCServer.pyc +${PYSITELIB}/xen/xend/server/__init__.py +${PYSITELIB}/xen/xend/server/__init__.pyc +${PYSITELIB}/xen/xend/server/blkif.py +${PYSITELIB}/xen/xend/server/blkif.pyc +${PYSITELIB}/xen/xend/server/iopif.py +${PYSITELIB}/xen/xend/server/iopif.pyc +${PYSITELIB}/xen/xend/server/irqif.py +${PYSITELIB}/xen/xend/server/irqif.pyc +${PYSITELIB}/xen/xend/server/netif.py +${PYSITELIB}/xen/xend/server/netif.pyc +${PYSITELIB}/xen/xend/server/netif2.py +${PYSITELIB}/xen/xend/server/netif2.pyc +${PYSITELIB}/xen/xend/server/params.py +${PYSITELIB}/xen/xend/server/params.pyc +${PYSITELIB}/xen/xend/server/pciif.py +${PYSITELIB}/xen/xend/server/pciif.pyc +${PYSITELIB}/xen/xend/server/pciquirk.py +${PYSITELIB}/xen/xend/server/pciquirk.pyc +${PYSITELIB}/xen/xend/server/relocate.py +${PYSITELIB}/xen/xend/server/relocate.pyc +${PYSITELIB}/xen/xend/server/tests/__init__.py +${PYSITELIB}/xen/xend/server/tests/__init__.pyc +${PYSITELIB}/xen/xend/server/tests/test_controllers.py +${PYSITELIB}/xen/xend/server/tests/test_controllers.pyc +${PYSITELIB}/xen/xend/server/tpmif.py +${PYSITELIB}/xen/xend/server/tpmif.pyc +${PYSITELIB}/xen/xend/server/udevevent.py +${PYSITELIB}/xen/xend/server/udevevent.pyc +${PYSITELIB}/xen/xend/server/vfbif.py +${PYSITELIB}/xen/xend/server/vfbif.pyc +${PYSITELIB}/xen/xend/server/vscsiif.py +${PYSITELIB}/xen/xend/server/vscsiif.pyc +${PYSITELIB}/xen/xend/server/vusbif.py +${PYSITELIB}/xen/xend/server/vusbif.pyc +${PYSITELIB}/xen/xend/sxp.py +${PYSITELIB}/xen/xend/sxp.pyc +${PYSITELIB}/xen/xend/tests/__init__.py +${PYSITELIB}/xen/xend/tests/__init__.pyc +${PYSITELIB}/xen/xend/tests/test_XendConfig.py +${PYSITELIB}/xen/xend/tests/test_XendConfig.pyc +${PYSITELIB}/xen/xend/tests/test_sxp.py +${PYSITELIB}/xen/xend/tests/test_sxp.pyc +${PYSITELIB}/xen/xend/tests/test_uuid.py +${PYSITELIB}/xen/xend/tests/test_uuid.pyc +${PYSITELIB}/xen/xend/uuid.py +${PYSITELIB}/xen/xend/uuid.pyc +${PYSITELIB}/xen/xend/xenstore/__init__.py +${PYSITELIB}/xen/xend/xenstore/__init__.pyc +${PYSITELIB}/xen/xend/xenstore/tests/__init__.py +${PYSITELIB}/xen/xend/xenstore/tests/__init__.pyc +${PYSITELIB}/xen/xend/xenstore/tests/stress_xs.py +${PYSITELIB}/xen/xend/xenstore/tests/stress_xs.pyc +${PYSITELIB}/xen/xend/xenstore/xstransact.py +${PYSITELIB}/xen/xend/xenstore/xstransact.pyc +${PYSITELIB}/xen/xend/xenstore/xsutil.py +${PYSITELIB}/xen/xend/xenstore/xsutil.pyc +${PYSITELIB}/xen/xend/xenstore/xswatch.py +${PYSITELIB}/xen/xend/xenstore/xswatch.pyc +${PYSITELIB}/xen/xm/XenAPI.py +${PYSITELIB}/xen/xm/XenAPI.pyc +${PYSITELIB}/xen/xm/__init__.py +${PYSITELIB}/xen/xm/__init__.pyc +${PYSITELIB}/xen/xm/addlabel.py +${PYSITELIB}/xen/xm/addlabel.pyc +${PYSITELIB}/xen/xm/console.py +${PYSITELIB}/xen/xm/console.pyc +${PYSITELIB}/xen/xm/cpupool-create.py +${PYSITELIB}/xen/xm/cpupool-create.pyc +${PYSITELIB}/xen/xm/cpupool-new.py +${PYSITELIB}/xen/xm/cpupool-new.pyc +${PYSITELIB}/xen/xm/cpupool.py +${PYSITELIB}/xen/xm/cpupool.pyc +${PYSITELIB}/xen/xm/create.py +${PYSITELIB}/xen/xm/create.pyc +${PYSITELIB}/xen/xm/dry-run.py +${PYSITELIB}/xen/xm/dry-run.pyc +${PYSITELIB}/xen/xm/dumppolicy.py +${PYSITELIB}/xen/xm/dumppolicy.pyc +${PYSITELIB}/xen/xm/getenforce.py +${PYSITELIB}/xen/xm/getenforce.pyc +${PYSITELIB}/xen/xm/getlabel.py +${PYSITELIB}/xen/xm/getlabel.pyc +${PYSITELIB}/xen/xm/getpolicy.py +${PYSITELIB}/xen/xm/getpolicy.pyc +${PYSITELIB}/xen/xm/help.py +${PYSITELIB}/xen/xm/help.pyc +${PYSITELIB}/xen/xm/labels.py +${PYSITELIB}/xen/xm/labels.pyc +${PYSITELIB}/xen/xm/main.py +${PYSITELIB}/xen/xm/main.pyc +${PYSITELIB}/xen/xm/migrate.py +${PYSITELIB}/xen/xm/migrate.pyc +${PYSITELIB}/xen/xm/new.py +${PYSITELIB}/xen/xm/new.pyc +${PYSITELIB}/xen/xm/opts.py +${PYSITELIB}/xen/xm/opts.pyc +${PYSITELIB}/xen/xm/resetpolicy.py +${PYSITELIB}/xen/xm/resetpolicy.pyc +${PYSITELIB}/xen/xm/resources.py +${PYSITELIB}/xen/xm/resources.pyc +${PYSITELIB}/xen/xm/rmlabel.py +${PYSITELIB}/xen/xm/rmlabel.pyc +${PYSITELIB}/xen/xm/setenforce.py +${PYSITELIB}/xen/xm/setenforce.pyc +${PYSITELIB}/xen/xm/setpolicy.py +${PYSITELIB}/xen/xm/setpolicy.pyc +${PYSITELIB}/xen/xm/shutdown.py +${PYSITELIB}/xen/xm/shutdown.pyc +${PYSITELIB}/xen/xm/tests/__init__.py +${PYSITELIB}/xen/xm/tests/__init__.pyc +${PYSITELIB}/xen/xm/tests/test_create.py +${PYSITELIB}/xen/xm/tests/test_create.pyc +${PYSITELIB}/xen/xm/xenapi_create.py +${PYSITELIB}/xen/xm/xenapi_create.pyc +${PYSITELIB}/xen/xsview/__init__.py +${PYSITELIB}/xen/xsview/__init__.pyc +${PYSITELIB}/xen/xsview/main.py +${PYSITELIB}/xen/xsview/main.pyc +${PYSITELIB}/xen/xsview/xsviewer.py +${PYSITELIB}/xen/xsview/xsviewer.pyc +lib/xen/boot/hvmloader +libexec/qemu-dm +man/man1/xentrace_format.1 +man/man1/xentop.1 +man/man1/xm.1 +man/man5/xend-config.sxp.5 +man/man5/xmdomain.cfg.5 +man/man8/xentrace.8 +sbin/blktapctrl +sbin/flask-getenforce +sbin/flask-loadpolicy +sbin/flask-setenforce +sbin/gdbsx +sbin/gtracestat +sbin/gtraceview +sbin/img2qcow +sbin/kdd +sbin/oxenstored +sbin/qcow-create +sbin/qcow2raw +sbin/tapdisk +sbin/xen-bugtool +sbin/xen-hptool +sbin/xen-hvmcrash +sbin/xen-hvmctx +sbin/xen-python-path +sbin/xen-tmem-list-parse +sbin/xenbackendd +sbin/xenbaked +sbin/xenconsoled +sbin/xend +sbin/xenlockprof +sbin/xenmon.py +sbin/xenpaging +sbin/xenperf +sbin/xenpm +sbin/xenpmd +sbin/xenstored +sbin/xentop +sbin/xentrace_setmask +sbin/xenwatchdogd +sbin/xl +sbin/xm +sbin/xsview +share/doc/xen/README.xenmon +share/doc/xen/README.blktap +share/examples/rc.d/xen-watchdog +share/examples/rc.d/xencommons +share/examples/rc.d/xend +share/examples/rc.d/xendomains +share/examples/xen/xend-config.sxp +share/examples/xen/xmexample1 +share/examples/xen/xmexample2 +share/examples/xen/xmexample3 +share/xen/create.dtd +share/xen/qemu/bios.bin +share/xen/qemu/vgabios.bin +share/xen/qemu/vgabios-cirrus.bin +share/xen/qemu/ppc_rom.bin +share/xen/qemu/video.x +share/xen/qemu/openbios-sparc32 +share/xen/qemu/openbios-sparc64 +share/xen/qemu/openbios-ppc +share/xen/qemu/pxe-ne2k_pci.bin +share/xen/qemu/pxe-rtl8139.bin +share/xen/qemu/pxe-pcnet.bin +share/xen/qemu/pxe-e1000.bin +share/xen/qemu/bamboo.dtb +share/xen/qemu/keymaps/da +share/xen/qemu/keymaps/en-gb +share/xen/qemu/keymaps/et +share/xen/qemu/keymaps/fr +share/xen/qemu/keymaps/fr-ch +share/xen/qemu/keymaps/is +share/xen/qemu/keymaps/lt +share/xen/qemu/keymaps/modifiers +share/xen/qemu/keymaps/no +share/xen/qemu/keymaps/pt-br +share/xen/qemu/keymaps/sv +share/xen/qemu/keymaps/ar +share/xen/qemu/keymaps/de +share/xen/qemu/keymaps/en-us +share/xen/qemu/keymaps/fi +share/xen/qemu/keymaps/fr-be +share/xen/qemu/keymaps/hr +share/xen/qemu/keymaps/it +share/xen/qemu/keymaps/lv +share/xen/qemu/keymaps/nl +share/xen/qemu/keymaps/pl +share/xen/qemu/keymaps/ru +share/xen/qemu/keymaps/th +share/xen/qemu/keymaps/common +share/xen/qemu/keymaps/de-ch +share/xen/qemu/keymaps/es +share/xen/qemu/keymaps/fo +share/xen/qemu/keymaps/fr-ca +share/xen/qemu/keymaps/hu +share/xen/qemu/keymaps/ja +share/xen/qemu/keymaps/mk +share/xen/qemu/keymaps/nl-be +share/xen/qemu/keymaps/pt +share/xen/qemu/keymaps/sl +share/xen/qemu/keymaps/tr +@pkgdir etc/xen/auto diff --git a/sysutils/xentools41/distinfo b/sysutils/xentools41/distinfo new file mode 100644 index 00000000000..5c4553d395f --- /dev/null +++ b/sysutils/xentools41/distinfo @@ -0,0 +1,33 @@ +$NetBSD: distinfo,v 1.1.1.1 2011/04/06 09:10:26 cegger Exp $ + +SHA1 (ipxe-git-v1.0.0.tar.gz) = da052c8de5f3485fe0253c19cf52ed6d72528485 +RMD160 (ipxe-git-v1.0.0.tar.gz) = dcd9b6eaafa1ce05c1ebf2a15f2f73ad7a8c5547 +Size (ipxe-git-v1.0.0.tar.gz) = 1996881 bytes +SHA1 (xen-4.1.0.tar.gz) = 4295e67524746ce155ff991db5fd2a611be27f67 +RMD160 (xen-4.1.0.tar.gz) = e9ef987b24503d6c993bccfd203be5af9f104f48 +Size (xen-4.1.0.tar.gz) = 10348539 bytes +SHA1 (patch-aa) = 3c03ea5d22e2edecbfa10de79e88a330204a8a70 +SHA1 (patch-ab) = 0906a5ec3a7450fc987b01289e2560e60966d00d +SHA1 (patch-ac) = c3cc5335a1d6b066307c5f03fe72f513a9eb2bdb +SHA1 (patch-ad) = 5eb15470bff85d30b6d26d8fe094f59fc8e34175 +SHA1 (patch-ae) = 032f9bd48bbe7423d24ec8464ef6b626d7f1369a +SHA1 (patch-af) = e866e7d96766b735a53432350275810803eeb510 +SHA1 (patch-ag) = f1f58566b41922d661bbe6ea7e4c90d17cecd7fe +SHA1 (patch-ah) = 1227ce79a9547464059f7de7a18bd342c4741280 +SHA1 (patch-ai) = 8da6bba38bd7677ea829ca35058f7d2d1d7acad4 +SHA1 (patch-aj) = d0999d8dcbc1eef4de7037db0e54dcd8d2f706eb +SHA1 (patch-ak) = dee9673fd67f582da64e8f2c14b566032f162f6f +SHA1 (patch-ba) = 2c65e4b4b85e91e92dfb3aa402ebc44694bdff06 +SHA1 (patch-bb) = 64a61fb156bcb6a99ff0963063a0716b808e3b61 +SHA1 (patch-bc) = 25c99a428fda6dee709888ddbcfdcfef5f654564 +SHA1 (patch-ca) = 36afc7b063f83adfe5b927ed0be586b102684020 +SHA1 (patch-cb) = 5563a72e203e789a86f4166c71ddb3fcff5215c6 +SHA1 (patch-cc) = 24d71f68a93b59bd5c5441c257d34862e7302040 +SHA1 (patch-cd) = 7b25b3b3a8d58effae395d776f2a4b94d79acfcb +SHA1 (patch-ce) = 613f4c4605af860e5f88b68c49a0e7870ba6ecde +SHA1 (patch-cf) = c8740b1c9cfac686f2e4e32c7613b5f02206459d +SHA1 (patch-cg) = 119029fda1d4ecee90d0a108151596cb3ef0ec74 +SHA1 (patch-ch) = 84e816c95167828314ef901e324772249a407c41 +SHA1 (patch-da) = 80a609a9ae050122a6b5b65b9798f5e29bec13a4 +SHA1 (patch-db) = 4766f9925462023332793bcea4321072758e289d +SHA1 (patch-dc) = d860fe3725978227278d58f09e7d5157001e463e diff --git a/sysutils/xentools41/files/blk_netbsd.c b/sysutils/xentools41/files/blk_netbsd.c new file mode 100644 index 00000000000..81076a25a4d --- /dev/null +++ b/sysutils/xentools41/files/blk_netbsd.c @@ -0,0 +1,39 @@ +#include <inttypes.h> +#include <sys/ioctl.h> +#include <sys/disklabel.h> +#include "tapdisk.h" +#include "blk.h" + +int blk_getimagesize(int fd, uint64_t *size) +{ + int rc; + struct disklabel dl; + + *size = 0; + rc = ioctl(fd, DIOCGDINFO, &dl); + if (rc) { + DPRINTF("ERR: DIOCGDINFO failed, couldn't stat image"); + return -EINVAL; + } + + *size = dl.d_secsize * dl.d_secpercyl; + + return 0; +} + +int blk_getsectorsize(int fd, uint64_t *sector_size) +{ + int rc; + struct disklabel dl; + + *sector_size = DEV_BSIZE; + rc = ioctl(fd, DIOCGDINFO, &dl); + if (rc) { + DPRINTF("ERR: DIOCGDINFO failed, couldn't stat image"); + return 0; /* fallback to DEV_BSIZE */ + } + + *sector_size = dl.d_secsize; + return 0; +} + diff --git a/sysutils/xentools41/files/blktapctrl_netbsd.c b/sysutils/xentools41/files/blktapctrl_netbsd.c new file mode 100644 index 00000000000..02a1e9f3018 --- /dev/null +++ b/sysutils/xentools41/files/blktapctrl_netbsd.c @@ -0,0 +1,16 @@ + +#include "blktaplib.h" +#include "blktapctrl.h" + + +int blktap_interface_open(void) +{ + /* not yet implemented */ + return -1; +} + +int blktap_interface_create(int ctlfd, int *major, int *minor, blkif_t *blkif) +{ + /* not yet implemented */ + return -1; +} diff --git a/sysutils/xentools41/files/xen-watchdog.sh b/sysutils/xentools41/files/xen-watchdog.sh new file mode 100644 index 00000000000..bd27276664b --- /dev/null +++ b/sysutils/xentools41/files/xen-watchdog.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# +# PROVIDE: xen-watchdog +# REQUIRE: DAEMON +# +# description: Run domain watchdog daemon +# + +. /etc/rc.subr + +name="xenwatchdog" +rcvar=$name +command="@PREFIX@/sbin/xenwatchdogd" +start_cmd="echo Starting ${name}. && PATH=${PATH}:@PREFIX@/sbin ${command} 30 15" + +load_rc_config $name +run_rc_command "$1" diff --git a/sysutils/xentools41/files/xencommons.sh b/sysutils/xentools41/files/xencommons.sh new file mode 100644 index 00000000000..1e0536ebe09 --- /dev/null +++ b/sysutils/xentools41/files/xencommons.sh @@ -0,0 +1,120 @@ +#!/bin/sh +# +# PROVIDE: xencommons +# REQUIRE: DAEMON + +. /etc/rc.subr + +name="xencommons" +rcvar=xend +start_precmd="xen_precmd" +start_cmd="xen_startcmd" +stop_cmd="xen_stop" +status_cmd="xen_status" +extra_commands="status" +required_files="/kern/xen/privcmd" + +XENSTORED_PIDFILE="/var/run/xenstored.pid" +XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid" +XENBACKENDD_PIDFILE="/var/run/xenbackendd.pid" + +SBINDIR=@PREFIX@/sbin + +xen_precmd() +{ + mkdir -p /var/run/xend || exit 1 + mkdir -p /var/run/xend/boot || exit 1 + mkdir -p /var/run/xenstored || exit 1 +} + +xen_startcmd() +{ + printf "Starting xenservices: xenstored, xenconsoled, xenbackendd.\n" + XENSTORED_ARGS=" --pid-file ${XENSTORED_PIDFILE}" + if [ -n "${XENSTORED_TRACE}" ]; then + XENSTORED_ARGS="${XENSTORED_ARGS} -T /var/log/xen/xenstored-trace.log" + fi + + ${SBINDIR}/xenstored ${XENSTORED_ARGS} + sleep 5 + + XENCONSOLED_ARGS="" + if [ -n "${XENCONSOLED_TRACE}" ]; then + XENCONSOLED_ARGS="${XENCONSOLED_ARGS} --log=${XENCONSOLED_TRACE}" + fi + + ${SBINDIR}/xenconsoled ${XENCONSOLED_ARGS} + + XENBACKENDD_ARGS="" + if [ -n "${XENBACKENDD_DEBUG}" ]; then + XENBACKENDD_ARGS="${XENBACKENDD_ARGS} -d" + fi + + ${SBINDIR}/xenbackendd ${XENBACKENDD_ARGS} +} + +xen_stop() +{ + pids="" + printf "Stopping xencommons" + + rc_pid=$(check_pidfile ${XENBACKENDD_PIDFILE} ${SBINDIR}/xenbackendd) + pids="$pids $rc_pid" + rc_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled) + pids="$pids $rc_pid" + rc_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored) + pids="$pids $rc_pid" + + kill -${sig_stop:-TERM} $pids + wait_for_pids $pids + + printf ".\n" +} + +xen_status() +{ + xenstored_pid=$(check_pidfile ${XENSTORED_PIDFILE} ${SBINDIR}/xenstored) + if test -n ${xenstored_pid}; then + pids="$pids $xenstored_pid" + fi + + xenconsoled_pid=$(check_pidfile ${XENCONSOLED_PIDFILE} ${SBINDIR}/xenconsoled) + if test -n ${xenconsoled_pid}; then + pids="$pids $xenconsoled_pid" + fi + + xenbackend_pid=$(check_pidfile ${XENBACKENDD_PIDFILE} ${SBINDIR}/xenbackendd) + if test -n ${xenbackend_pid}; then + pids="$pids $xenbackend_pid" + fi + + if test -n "$xenbackend_pid" -a -n "$xenconsoled_pid" -a -n "$xenstored_pid"; + then + echo "xencommons are running as pids $pids." + return 0 + fi + if test -z "$xenbackend_pid" -a -z "$xenconsoled_pid" -a -z "$xenstored_pid"; + then + echo "xencommons are not running." + return 0 + fi + + if test -n $xenstored_pid; then + echo "xenstored is running as pid $xenstored_pid." + else + echo "xenstored is not running." + fi + if test -n $xenconsoled_pid; then + echo "xenconsoled is running as pid $xenconsoled_pid." + else + echo "xenconsoled is not running." + fi + if test -n $xenbackend_pid; then + echo "xenbackendd is running as pid $xenbackend_pid." + else + echo "xenbackendd is not running." + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/sysutils/xentools41/files/xend.sh b/sysutils/xentools41/files/xend.sh new file mode 100644 index 00000000000..c6115e4ec89 --- /dev/null +++ b/sysutils/xentools41/files/xend.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# +# PROVIDE: xend +# REQUIRE: xencommons + +. /etc/rc.subr + +name="xend" +rcvar=$name +command="@PREFIX@/sbin/xend" +start_cmd="echo Starting ${name}. && PATH=${PATH}:@PREFIX@/sbin ${command} start" +pidfile="/var/run/xend.pid" + +load_rc_config $name +run_rc_command "$1" diff --git a/sysutils/xentools41/files/xendomains.sh b/sysutils/xentools41/files/xendomains.sh new file mode 100644 index 00000000000..8041703a9dd --- /dev/null +++ b/sysutils/xentools41/files/xendomains.sh @@ -0,0 +1,127 @@ +#!/bin/sh +# +# PROVIDE: xendomains +# REQUIRE: xend +# KEYWORD: shutdown +# +# xendomains This required variable is a whitespace-separated +# list of domains, e.g., xendomains="dom1 dom2 dom3". +# +# xendomains_config This optional variable is a format string that +# represents the path to the configuration file for +# each domain. "%s" is substituted with the name of +# the domain. The default is "@PKG_SYSCONFDIR@/%s". +# +# xendomains_prehook This optional variable is a format string that +# represents the command to run, if it exists, before +# starting each domain. "%s" is substituted with the +# name of the domain. The default is +# "@PKG_SYSCONFDIR@/%s-pre". +# +# xendomains_posthook This optional variable is a format string that +# represents the command to run, if it exists, after +# stopping each domain. "%s" is substituted with the +# name of the domain. The default is +# "@PKG_SYSCONFDIR@/%s-post". +# + +. /etc/rc.subr + +name="xendomains" +ctl_command="@PREFIX@/sbin/xl" +start_cmd="xendomains_start" +stop_cmd="xendomains_stop" +list_cmd="xendomains_list" +extra_commands="list" +required_files="/kern/xen/privcmd" + +xendomains_start() +{ + [ -n "$xendomains" ] || return + + echo "Starting xen domains." + for domain in $xendomains; do + case "$domain" in + "") continue ;; + esac + + # Start off by running the pre-hook script if it's present. + if [ -n "${xendomains_prehook}" ]; then + cmdline=`printf "${xendomains_prehook}" $domain` + cmd="${cmdline%% *}" + if [ -x "$cmd" ]; then + $cmdline || echo "Pre-hook \`\`$cmdline'' failed... skipping $domain." + continue + fi + fi + + # Ask xend to create the domain. + if [ -n "${xendomains_config}" ]; then + file=`printf "${xendomains_config}" $domain` + if [ -f "$file" ]; then + ${ctl_command} create "$file" + fi + fi + done +} + +xendomains_list() { + # Output a whitespace-separated list of live guest domains. + ${ctl_command} list | awk ' + (FNR <= 2) { next } + ($5 !~ /s/) { s = s " " $1 } + END { sub(" *", "", s); print s }' +} + +xendomains_stop() +{ + # Determine an appropriate timeout waiting for all domains to + # stop -- always wait at least 60s, and add 5s per active domain. + # + numdomains=$(xendomains_list | awk '{ print NF }') + [ $numdomains -gt 0 ] || return + timeout=$((60 + numdomains * 5)) + + # Ask xend to stop every domain, and poll xend every 10s up to the + # timeout period to check if all the domains are stopped. We + # consider a domain in the "s" (shutdown) state to be stopped. + # + echo "Stopping xen domains." + for domain in $(xendomains_list); do + ${ctl_command} shutdown --halt $domain + done + while [ $timeout -gt 0 ]; do + livedomains=$(xendomains_list) + [ -n "$livedomains" ] || break + timeout=$((timeout - 10)) + sleep 10 + done + livedomains=$(xendomains_list) + if [ -n "$livedomains" ]; then + echo "Failed to stop: $livedomains" + else + echo "All domains stopped." + fi + + # Finish off by running the post-hook script if it's present. + for domain in $xendomains; do + case "$domain" in + "") continue ;; + esac + if [ -n "${xendomains_posthook}" ]; then + cmdline=`printf "${xendomains_posthook}" $domain` + cmd="${cmdline%% *}" + if [ -x "$cmd" ]; then + $cmdline || echo "Post-hook \`\`$cmdline'' failed." + fi + fi + done +} + +load_rc_config $name + +: ${xendomains_config="@PKG_SYSCONFDIR@/%s"} +: ${xendomains_prehook="@PKG_SYSCONFDIR@/%s-pre"} +: ${xendomains_posthook="@PKG_SYSCONFDIR@/%s-post"} + +run_rc_command "$1" diff --git a/sysutils/xentools41/patches/patch-aa b/sysutils/xentools41/patches/patch-aa new file mode 100644 index 00000000000..384d97fef87 --- /dev/null +++ b/sysutils/xentools41/patches/patch-aa @@ -0,0 +1,12 @@ +$NetBSD: patch-aa,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- xentrace/Makefile.orig 2010-04-07 16:12:05.000000000 +0000 ++++ xentrace/Makefile +@@ -43,6 +43,7 @@ install: build + [ -z "$(LIBBIN)" ] || $(INSTALL_PROG) $(LIBBIN) $(DESTDIR)$(PRIVATE_BINDIR) + $(INSTALL_DATA) $(MAN1) $(DESTDIR)$(MAN1DIR) + $(INSTALL_DATA) $(MAN8) $(DESTDIR)$(MAN8DIR) ++ $(INSTALL_DATA) formats $(DESTDIR)$(XEN_CONFIG_DIR) + + .PHONY: clean + clean: diff --git a/sysutils/xentools41/patches/patch-ab b/sysutils/xentools41/patches/patch-ab new file mode 100644 index 00000000000..f63bdd234eb --- /dev/null +++ b/sysutils/xentools41/patches/patch-ab @@ -0,0 +1,16 @@ +$NetBSD: patch-ab,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- blktap/drivers/Makefile.orig 2008-08-01 16:38:07.000000000 +0200 ++++ blktap/drivers/Makefile +@@ -37,9 +37,11 @@ BLK-OBJS-y += block-qcow2.o + BLK-OBJS-y += aes.o + BLK-OBJS-y += tapaio.o + BLK-OBJS-$(CONFIG_Linux) += blk_linux.o ++BLK-OBJS-$(CONFIG_NetBSD) += blk_netbsd.o + + BLKTAB-OBJS-y := blktapctrl.o + BLKTAB-OBJS-$(CONFIG_Linux) += blktapctrl_linux.o ++BLKTAB-OBJS-$(CONFIG_NetBSD) += blktapctrl_netbsd.o + + all: $(IBIN) qcow-util + diff --git a/sysutils/xentools41/patches/patch-ac b/sysutils/xentools41/patches/patch-ac new file mode 100644 index 00000000000..1db6996f612 --- /dev/null +++ b/sysutils/xentools41/patches/patch-ac @@ -0,0 +1,13 @@ +$NetBSD: patch-ac,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- libfsimage/common/Makefile.orig 2010-05-11 21:27:58.000000000 +0000 ++++ libfsimage/common/Makefile +@@ -4,6 +4,8 @@ include $(XEN_ROOT)/tools/Rules.mk + MAJOR = 1.0 + MINOR = 0 + ++CFLAGS += -DFSIMAGE_FSDIR=\"$(LIBDIR)/fs\" ++ + LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS + LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU + LDFLAGS = $(LDFLAGS-y) diff --git a/sysutils/xentools41/patches/patch-ad b/sysutils/xentools41/patches/patch-ad new file mode 100644 index 00000000000..ed4b844728a --- /dev/null +++ b/sysutils/xentools41/patches/patch-ad @@ -0,0 +1,13 @@ +$NetBSD: patch-ad,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- examples/xend-config.sxp.orig 2010-04-07 16:12:04.000000000 +0000 ++++ examples/xend-config.sxp +@@ -190,7 +190,7 @@ + + # Whether to enable auto-ballooning of dom0 to allow domUs to be created. + # If enable-dom0-ballooning = no, dom0 will never balloon out. +-(enable-dom0-ballooning yes) ++(enable-dom0-ballooning no) + + # 32-bit paravirtual domains can only consume physical + # memory below 168GB. On systems with memory beyond that address, diff --git a/sysutils/xentools41/patches/patch-ae b/sysutils/xentools41/patches/patch-ae new file mode 100644 index 00000000000..1290e109f82 --- /dev/null +++ b/sysutils/xentools41/patches/patch-ae @@ -0,0 +1,13 @@ +$NetBSD: patch-ae,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- Makefile.orig 2010-07-23 10:11:46.000000000 +0000 ++++ Makefile +@@ -25,6 +25,7 @@ SUBDIRS-$(CONFIG_Linux) += memshr + SUBDIRS-$(CONFIG_Linux) += blktap + SUBDIRS-$(CONFIG_Linux) += blktap2 + SUBDIRS-$(CONFIG_NetBSD) += libaio ++SUBDIRS-$(CONFIG_NetBSD) += blktap +-SUBDIRS-$(CONFIG_NetBSD) += blktap2 ++#SUBDIRS-$(CONFIG_NetBSD) += blktap2 + SUBDIRS-$(CONFIG_NetBSD) += xenbackendd + SUBDIRS-y += libfsimage diff --git a/sysutils/xentools41/patches/patch-af b/sysutils/xentools41/patches/patch-af new file mode 100644 index 00000000000..88ea8591c18 --- /dev/null +++ b/sysutils/xentools41/patches/patch-af @@ -0,0 +1,26 @@ +$NetBSD: patch-af,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- firmware/etherboot/Makefile.orig 2011-03-25 10:42:50.000000000 +0000 ++++ firmware/etherboot/Makefile +@@ -34,18 +34,10 @@ eb-roms.h: Config + $(MAKE) NO_WERROR=1 $@.new + mv -f $@.new $@ + +-$T: +- if ! wget -O _$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 >../_$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/xentools41/patches/patch-ag b/sysutils/xentools41/patches/patch-ag new file mode 100644 index 00000000000..fabbf1cde4d --- /dev/null +++ b/sysutils/xentools41/patches/patch-ag @@ -0,0 +1,22 @@ +$NetBSD: patch-ag,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- ../config/NetBSD.mk.orig 2011-03-25 11:42:47.000000000 +0100 ++++ ../config/NetBSD.mk 2011-03-31 17:21:05.000000000 +0200 +@@ -7,12 +7,12 @@ + LIBEXEC = $(PREFIX)/libexec + PRIVATE_BINDIR = $(BINDIR) + ++MANDIR = $(PREFIX)/man ++MAN1DIR = $(MANDIR)/man1 ++MAN8DIR = $(MANDIR)/man8 ++ + DLOPEN_LIBS = + +-ifeq ($(PREFIX),/usr) +-XEN_LOCK_DIR = /var/lib +-else +-XEN_LOCK_DIR = $(PREFIX)/var/lib +-endif ++XEN_LOCK_DIR = $(VARBASE)/run + + WGET = ftp diff --git a/sysutils/xentools41/patches/patch-ah b/sysutils/xentools41/patches/patch-ah new file mode 100644 index 00000000000..7f6db20c2d3 --- /dev/null +++ b/sysutils/xentools41/patches/patch-ah @@ -0,0 +1,26 @@ +$NetBSD: patch-ah,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- hotplug/NetBSD/Makefile.orig 2011-03-31 16:18:33.000000000 +0200 ++++ hotplug/NetBSD/Makefile 2011-03-31 16:22:07.000000000 +0200 +@@ -8,7 +8,7 @@ + XEN_SCRIPTS += vif-ip + + XEN_SCRIPT_DATA = +-XEN_RCD_PROG = rc.d/xencommons rc.d/xend rc.d/xendomains rc.d/xen-watchdog ++#XEN_RCD_PROG = rc.d/xencommons rc.d/xend rc.d/xendomains rc.d/xen-watchdog + + .PHONY: all + all: +@@ -33,12 +33,6 @@ + + .PHONY: install-rcd + install-rcd: +- $(INSTALL_DIR) $(DESTDIR)$(CONFIG_DIR)/rc.d +- set -e; for i in $(XEN_RCD_PROG); \ +- do \ +- $(INSTALL_PROG) $$i $(DESTDIR)$(CONFIG_DIR)/rc.d; \ +- done +- $(INSTALL_DATA) ../common/hotplugpath.sh $(DESTDIR)$(CONFIG_DIR)/rc.d/xen-hotplugpath.sh + + .PHONY: clean + clean: diff --git a/sysutils/xentools41/patches/patch-ai b/sysutils/xentools41/patches/patch-ai new file mode 100644 index 00000000000..1a9cad03681 --- /dev/null +++ b/sysutils/xentools41/patches/patch-ai @@ -0,0 +1,18 @@ +$NetBSD: patch-ai,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- python/xen/xend/osdep.py.orig 2011-04-01 12:03:13.000000000 +0200 ++++ python/xen/xend/osdep.py 2011-04-01 13:49:45.000000000 +0200 +@@ -94,8 +94,12 @@ + return None + cmd = "/sbin/sysctl " + cmdarg + sysctloutput = commands.getoutput(cmd) ++ div = 1 ++ if label == 'current' and '=' not in sysctloutput: ++ sysctloutput = commands.getoutput( "/sbin/sysctl hw.physmem64") ++ div = 1024 + (name, value) = sysctloutput.split('=') +- return int(value) ++ return int(value) / div + + def _solaris_balloon_stat(label): + """Returns the value for the named label, or None if an error occurs.""" diff --git a/sysutils/xentools41/patches/patch-aj b/sysutils/xentools41/patches/patch-aj new file mode 100644 index 00000000000..f2e93e65bf9 --- /dev/null +++ b/sysutils/xentools41/patches/patch-aj @@ -0,0 +1,16 @@ +$NetBSD: patch-aj,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- hotplug/NetBSD/vif-bridge.orig 2011-03-25 11:42:50.000000000 +0100 ++++ hotplug/NetBSD/vif-bridge 2011-04-01 14:55:58.000000000 +0200 +@@ -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 + echo ifconfig $iface up + ifconfig $iface up + brconfig $xbridge add $iface diff --git a/sysutils/xentools41/patches/patch-ak b/sysutils/xentools41/patches/patch-ak new file mode 100644 index 00000000000..a782d0f07aa --- /dev/null +++ b/sysutils/xentools41/patches/patch-ak @@ -0,0 +1,14 @@ +--- hotplug/NetBSD/vif-ip.orig 2011-04-01 16:04:24.000000000 +0200 ++++ hotplug/NetBSD/vif-ip 2011-04-01 16:04:54.000000000 +0200 +@@ -23,7 +23,10 @@ + xip=$(xenstore-read "$xpath/ip") + 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 + echo ifconfig $iface $xip up + ifconfig $iface $xip up + xenstore-write $xpath/hotplug-status connected diff --git a/sysutils/xentools41/patches/patch-ba b/sysutils/xentools41/patches/patch-ba new file mode 100644 index 00000000000..1bcb19b9830 --- /dev/null +++ b/sysutils/xentools41/patches/patch-ba @@ -0,0 +1,56 @@ +$NetBSD: patch-ba,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- python/xen/xend/XendNode.py.orig 2010-04-07 16:12:05.000000000 +0000 ++++ python/xen/xend/XendNode.py +@@ -276,28 +276,29 @@ class XendNode: + except KeyError: + pass + +- for pci_dev in PciUtil.get_all_pci_devices(): +- ppci_record = { +- 'domain': pci_dev.domain, +- 'bus': pci_dev.bus, +- 'slot': pci_dev.slot, +- 'func': pci_dev.func, +- 'vendor_id': pci_dev.vendor, +- 'vendor_name': pci_dev.vendorname, +- 'device_id': pci_dev.device, +- 'device_name': pci_dev.devicename, +- 'revision_id': pci_dev.revision, +- 'class_code': pci_dev.classcode, +- 'class_name': pci_dev.classname, +- 'subsystem_vendor_id': pci_dev.subvendor, +- 'subsystem_vendor_name': pci_dev.subvendorname, +- 'subsystem_id': pci_dev.subdevice, +- 'subsystem_name': pci_dev.subdevicename, +- 'driver': pci_dev.driver +- } +- # If saved uuid exists, use it. Otherwise create one. +- ppci_uuid = saved_ppci_table.get(pci_dev.name, uuid.createString()) +- XendPPCI(ppci_uuid, ppci_record) ++ pass ++ #for pci_dev in PciUtil.get_all_pci_devices(): ++ # ppci_record = { ++ # 'domain': pci_dev.domain, ++ # 'bus': pci_dev.bus, ++ # 'slot': pci_dev.slot, ++ # 'func': pci_dev.func, ++ # 'vendor_id': pci_dev.vendor, ++ # 'vendor_name': pci_dev.vendorname, ++ # 'device_id': pci_dev.device, ++ # 'device_name': pci_dev.devicename, ++ # 'revision_id': pci_dev.revision, ++ # 'class_code': pci_dev.classcode, ++ # 'class_name': pci_dev.classname, ++ # 'subsystem_vendor_id': pci_dev.subvendor, ++ # 'subsystem_vendor_name': pci_dev.subvendorname, ++ # 'subsystem_id': pci_dev.subdevice, ++ # 'subsystem_name': pci_dev.subdevicename, ++ # 'driver': pci_dev.driver ++ # } ++ # # If saved uuid exists, use it. Otherwise create one. ++ # ppci_uuid = saved_ppci_table.get(pci_dev.name, uuid.createString()) ++ # XendPPCI(ppci_uuid, ppci_record) + + def _init_PSCSIs(self): + # Initialise PSCSIs and PSCSI_HBAs diff --git a/sysutils/xentools41/patches/patch-bb b/sysutils/xentools41/patches/patch-bb new file mode 100644 index 00000000000..eeaf66e2964 --- /dev/null +++ b/sysutils/xentools41/patches/patch-bb @@ -0,0 +1,213 @@ +$NetBSD: patch-bb,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- libxc/xc_netbsd.c.orig 2011-03-29 17:09:58.000000000 +0000 ++++ libxc/xc_netbsd.c +@@ -21,6 +21,7 @@ + #include "xc_private.h" + + #include <xen/sys/evtchn.h> ++#include <xen/sys/gntdev.h> + #include <unistd.h> + #include <fcntl.h> + +@@ -351,7 +352,189 @@ void discard_file_cache(xc_interface *xc + errno = saved_errno; + } + +-static struct xc_osdep_ops *netbsd_osdep_init(xc_interface *xch, enum xc_osdep_type type) ++#define DEVXEN "/dev/xen/" ++ ++static xc_osdep_handle ++netbsd_gnttab_open(xc_gnttab *xcg) ++{ ++ int fd; ++ ++ fd = open(DEVXEN "gntdev", O_RDWR); ++ if (fd == -1) ++ return XC_OSDEP_OPEN_ERROR; ++ ++ return (xc_osdep_handle)fd; ++} ++ ++static int ++netbsd_gnttab_close(xc_gnttab *xcg, xc_osdep_handle h) ++{ ++ int fd = (int)h; ++ return close(fd); ++} ++ ++static void * ++netbsd_gnttab_map_grant_ref(xc_gnttab *xch, xc_osdep_handle h, ++ uint32_t domid, uint32_t ref, int prot) ++{ ++ int fd = (int)h; ++ struct ioctl_gntdev_map_grant_ref map; ++ void *addr; ++ ++ map.count = 1; ++ map.refs[0].domid = domid; ++ map.refs[0].ref = ref; ++ ++ if ( ioctl(fd, IOCTL_GNTDEV_MAP_GRANT_REF, &map) ) { ++ PERROR("netbsd_gnttab_map_grant_ref: ioctl MAP_GRANT_REF failed"); ++ return NULL; ++ } ++ ++mmap_again: ++ addr = mmap(NULL, XC_PAGE_SIZE, prot, MAP_SHARED, fd, map.index); ++ if ( addr == MAP_FAILED ) ++ { ++ int saved_errno = errno; ++ struct ioctl_gntdev_unmap_grant_ref unmap_grant; ++ ++ if ( saved_errno == EAGAIN ) ++ { ++ usleep(1000); ++ goto mmap_again; ++ } ++ /* Unmap the driver slots used to store the grant information. */ ++ PERROR("netbsd_gnttab_map_grant_ref: mmap failed"); ++ unmap_grant.index = map.index; ++ unmap_grant.count = 1; ++ ioctl(fd, IOCTL_GNTDEV_UNMAP_GRANT_REF, &unmap_grant); ++ errno = saved_errno; ++ return NULL; ++ } ++ ++ return addr; ++} ++ ++static void * ++do_gnttab_map_grant_refs(xc_gnttab *xch, xc_osdep_handle h, ++ uint32_t count, uint32_t *domids, int domids_stride, ++ uint32_t *refs, int prot) ++{ ++ int fd = (int)h; ++ struct ioctl_gntdev_map_grant_ref *map; ++ void *addr = NULL; ++ int i; ++ ++ map = malloc(sizeof(*map) + ++ (count - 1) * sizeof(struct ioctl_gntdev_map_grant_ref)); ++ if ( map == NULL ) ++ return NULL; ++ ++ for ( i = 0; i < count; i++ ) ++ { ++ map->refs[i].domid = domids[i * domids_stride]; ++ map->refs[i].ref = refs[i]; ++ } ++ ++ map->count = count; ++ ++ if ( ioctl(fd, IOCTL_GNTDEV_MAP_GRANT_REF, map) ) { ++ PERROR("xc_gnttab_map_grant_refs: ioctl MAP_GRANT_REF failed"); ++ goto out; ++ } ++ ++ addr = mmap(NULL, XC_PAGE_SIZE * count, prot, MAP_SHARED, fd, ++ map->index); ++ if ( addr == MAP_FAILED ) ++ { ++ int saved_errno = errno; ++ struct ioctl_gntdev_unmap_grant_ref unmap_grant; ++ ++ /* Unmap the driver slots used to store the grant information. */ ++ PERROR("xc_gnttab_map_grant_refs: mmap failed"); ++ unmap_grant.index = map->index; ++ unmap_grant.count = count; ++ ioctl(fd, IOCTL_GNTDEV_UNMAP_GRANT_REF, &unmap_grant); ++ errno = saved_errno; ++ addr = NULL; ++ } ++ ++ out: ++ free(map); ++ ++ return addr; ++} ++ ++static void * ++netbsd_gnttab_map_grant_refs(xc_gnttab *xcg, xc_osdep_handle h, ++ uint32_t count, uint32_t *domids, uint32_t *refs, int prot) ++{ ++ return do_gnttab_map_grant_refs(xcg, h, count, domids, 1, refs, prot); ++} ++ ++static void * ++netbsd_gnttab_map_domain_grant_refs(xc_gnttab *xcg, xc_osdep_handle h, ++ uint32_t count, uint32_t domid, uint32_t *refs, int prot) ++{ ++ return do_gnttab_map_grant_refs(xcg, h, count, &domid, 0, refs, prot); ++} ++ ++static int ++netbsd_gnttab_munmap(xc_gnttab *xcg, xc_osdep_handle h, ++ void *start_address, uint32_t count) ++{ ++ int fd = (int)h; ++ struct ioctl_gntdev_get_offset_for_vaddr get_offset; ++ struct ioctl_gntdev_unmap_grant_ref unmap_grant; ++ int rc; ++ ++ if ( start_address == NULL ) ++ { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ /* First, it is necessary to get the offset which was initially used to ++ * mmap() the pages. ++ */ ++ get_offset.vaddr = (unsigned long)start_address; ++ rc = ioctl(fd, IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR, &get_offset); ++ if ( rc ) ++ return rc; ++ ++ if ( get_offset.count != count ) ++ { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ /* Next, unmap the memory. */ ++ rc = munmap(start_address, count * getpagesize()); ++ if ( rc ) ++ return rc; ++ ++ /* Finally, unmap the driver slots used to store the grant information. */ ++ unmap_grant.index = get_offset.offset; ++ unmap_grant.count = count; ++ rc = ioctl(fd, IOCTL_GNTDEV_UNMAP_GRANT_REF, &unmap_grant); ++ if ( rc ) ++ return rc; ++ return 0; ++} ++ ++static struct xc_osdep_ops netbsd_gnttab_ops = { ++ .open = &netbsd_gnttab_open, ++ .close = &netbsd_gnttab_close, ++ ++ .u.gnttab = { ++ .map_grant_ref = &netbsd_gnttab_map_grant_ref, ++ .map_grant_refs = &netbsd_gnttab_map_grant_refs, ++ .map_domain_grant_refs = &netbsd_gnttab_map_domain_grant_refs, ++ .munmap = &netbsd_gnttab_munmap, ++ }, ++}; ++ ++static struct xc_osdep_ops * ++netbsd_osdep_init(xc_interface *xch, enum xc_osdep_type type) + { + switch ( type ) + { +@@ -360,8 +543,7 @@ static struct xc_osdep_ops *netbsd_osdep + case XC_OSDEP_EVTCHN: + return &netbsd_evtchn_ops; + case XC_OSDEP_GNTTAB: +- ERROR("GNTTAB interface not supported on this platform"); +- return NULL; ++ return &netbsd_gnttab_ops; + default: + return NULL; + } diff --git a/sysutils/xentools41/patches/patch-bc b/sysutils/xentools41/patches/patch-bc new file mode 100644 index 00000000000..d082975117a --- /dev/null +++ b/sysutils/xentools41/patches/patch-bc @@ -0,0 +1,110 @@ +$NetBSD: patch-bc,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- include/xen-sys/NetBSD/gntdev.h.orig 2011-03-29 17:10:31.000000000 +0000 ++++ include/xen-sys/NetBSD/gntdev.h +@@ -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/xentools41/patches/patch-ca b/sysutils/xentools41/patches/patch-ca new file mode 100644 index 00000000000..6e7a5fa665d --- /dev/null +++ b/sysutils/xentools41/patches/patch-ca @@ -0,0 +1,47 @@ +$NetBSD: patch-ca,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- ../docs/man/xend-config.sxp.pod.5.orig 2010-04-07 16:12:04.000000000 +0000 ++++ ../docs/man/xend-config.sxp.pod.5 +@@ -4,7 +4,7 @@ xend-config.sxp - Xen daemon configurati + + =head1 SYNOPSIS + +-/etc/xen/xend-config.sxp ++@XENDCONFDIR@/xend-config.sxp + + =head1 DESCRIPTION + +@@ -12,7 +12,7 @@ The xend(1) program requires xend-config + parameters which determine the behavior of the daemon at runtime. + + The parameters are specified in S-expression format. See the example +-configuration file in I</etc/xen/xend-config.sxp> for details. ++configuration file in I<@XENDCONFDIR@/xend-config.sxp> for details. + + =head1 OPTIONS + +@@ -82,13 +82,13 @@ Defaults to I<1024>. + + =item I<network-script> + +-The name of the script in I</etc/xen/scripts> that will be run to ++The name of the script in I<@XENDCONFDIR@/scripts> that will be run to + setup the networking environment. This can be any name, but in + general is either I<network-bridge> or I<network-route>. + + =item I<vif-script> + +-The name of the script in I</etc/xen/scripts> that will be run to ++The name of the script in I<@XENDCONFDIR@/scripts> that will be run to + setup a virtual interface when it is created or destroyed. This needs + to (in general) work in unison with the I<network-script>. + +@@ -113,7 +113,7 @@ domains should be saved when a crash occ + + The name of an application or script that can handle external device + migration, such as for example virtual TPM migration. An example +-script is I</etc/xen/scripts/external-device-migrate>. ++script is I<@XENDCONFDIR@/scripts/external-device-migrate>. + + =item I<device-create-timeout> + diff --git a/sysutils/xentools41/patches/patch-cb b/sysutils/xentools41/patches/patch-cb new file mode 100644 index 00000000000..74aa5bd0068 --- /dev/null +++ b/sysutils/xentools41/patches/patch-cb @@ -0,0 +1,36 @@ +$NetBSD: patch-cb,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- ../docs/man/xmdomain.cfg.pod.5.orig 2008-08-01 16:38:07.000000000 +0200 ++++ ../docs/man/xmdomain.cfg.pod.5 +@@ -4,9 +4,9 @@ xmdomain.cfg - xm domain config file for + + =head1 SYNOPSIS + +- /etc/xen/myxendomain +- /etc/xen/myxendomain2 +- /etc/xen/auto/myxenautostarted ++ @XENDCONFDIR@/myxendomain ++ @XENDCONFDIR@/myxendomain2 ++ @XENDCONFDIR@/auto/myxenautostarted + + =head1 DESCRIPTION + +@@ -14,14 +14,14 @@ The B<xm>(1) program uses python executa + domains to create from scratch. Each of these config files needs to + contain a number of required options, and may specify many more. + +-Domain configuration files live in /etc/xen by default, if you store ++Domain configuration files live in @XENDCONFDIR@ by default, if you store + config files anywhere else the full path to the config file must be + specified in the I<xm create> command. + +-/etc/xen/auto is a special case. Domain config files in that ++@XENDCONFDIR@/auto is a special case. Domain config files in that + directory will be started automatically at system boot if the +-xendomain init script is enabled. The contents of /etc/xen/auto +-should be symlinks to files in /etc/xen to allow I<xm create> to be ++xendomain init script is enabled. The contents of @XENDCONFDIR@/auto ++should be symlinks to files in @XENDCONFDIR@ to allow I<xm create> to be + used without full paths. + + Options are specified by I<name = value> statements in the diff --git a/sysutils/xentools41/patches/patch-cc b/sysutils/xentools41/patches/patch-cc new file mode 100644 index 00000000000..33eb6446b57 --- /dev/null +++ b/sysutils/xentools41/patches/patch-cc @@ -0,0 +1,40 @@ +$NetBSD: patch-cc,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- ../docs/man/xm.pod.1.orig 2009-01-05 11:26:58.000000000 +0000 ++++ ../docs/man/xm.pod.1 +@@ -75,7 +75,7 @@ in the config file. See L<xmdomain.cfg> + format, and possible options used in either the configfile or for I<vars>. + + I<configfile> can either be an absolute path to a file, or a relative +-path to a file located in /etc/xen. ++path to a file located in @XENDCONFDIR@. + + Create will return B<as soon> as the domain is started. This B<does + not> mean the guest OS in the domain has actually booted, or is +@@ -156,7 +156,7 @@ B<EXAMPLES> + + xm create Fedora4 + +-This creates a domain with the file /etc/xen/Fedora4, and returns as ++This creates a domain with the file @XENDCONFDIR@/Fedora4, and returns as + soon as it is run. + + =item I<without config file> +@@ -388,7 +388,7 @@ file format, and possible options used i + I<vars>. + + I<configfile> can either be an absolute path to a file, or a relative +-path to a file located in /etc/xen. ++path to a file located in @XENDCONFDIR@. + + The new subcommand will return without starting the domain. The + domain needs to be started using the B<xm start> command. +@@ -1068,7 +1068,7 @@ I<policy> is a dot-separated list of nam + name pre-fix for the policy XML file. The preceding name parts are + translated into the local path pointing to the policy XML file + relative to the global policy root directory +-(/etc/xen/acm-security/policies). For example, ++(@XENDCONFDIR@/acm-security/policies). For example, + example.chwall_ste.client_v1 denotes the policy file + example/chwall_ste/client_v1-security_policy.xml relative to the + global policy root directory. diff --git a/sysutils/xentools41/patches/patch-cd b/sysutils/xentools41/patches/patch-cd new file mode 100644 index 00000000000..06a796a5936 --- /dev/null +++ b/sysutils/xentools41/patches/patch-cd @@ -0,0 +1,13 @@ +$NetBSD: patch-cd,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- python/xen/xm/create.py.orig 2010-04-07 16:12:05.000000000 +0000 ++++ python/xen/xm/create.py +@@ -426,7 +426,7 @@ gopts.var('vtpm', val="instance=INSTANCE + preferred instance number. The hotplug script will determine + which instance number will actually be assigned to the domain. + The associtation between virtual machine and the TPM instance +- number can be found in /etc/xen/vtpm.db. Use the backend in the ++ number can be found in @XENDCONFDIR@/vtpm.db. Use the backend in the + given domain. + The type parameter can be used to select a specific driver type + that the VM can use. To prevent a fully virtualized domain (HVM) diff --git a/sysutils/xentools41/patches/patch-ce b/sysutils/xentools41/patches/patch-ce new file mode 100644 index 00000000000..bd14472245e --- /dev/null +++ b/sysutils/xentools41/patches/patch-ce @@ -0,0 +1,24 @@ +$NetBSD: patch-ce,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- security/policytools.txt.orig 2008-08-01 16:38:07.000000000 +0200 ++++ security/policytools.txt +@@ -16,10 +16,10 @@ XML. Read in the user manual about the n + name is used by the Xen management tools to identify existing + policies. Creating the security policy means creating a policy + description in XML: +-/etc/xen/acm-security/policies/example/chwall_ste/test-security_policy.xml. ++@XENDCONFDIR@/acm-security/policies/example/chwall_ste/test-security_policy.xml. + + The policy XML description must follow the XML schema definition in +-/etc/xen/acm-security/policies/security_policy.xsd. The policy tools ++@XENDCONFDIR@/acm-security/policies/security_policy.xsd. The policy tools + are written against this schema; they will create and refine policies + that conform to this scheme. + +@@ -144,5 +144,5 @@ policy file naming conventions based on + choose to use. + + To get a feel for the tool, you could use one of the example policy +-definitions files from /etc/xen/acm-security/policies/example as ++definitions files from @XENDCONFDIR@/acm-security/policies/example as + input or a policy created by the xensec_ezpolicy tool. diff --git a/sysutils/xentools41/patches/patch-cf b/sysutils/xentools41/patches/patch-cf new file mode 100644 index 00000000000..b6129f6fdd1 --- /dev/null +++ b/sysutils/xentools41/patches/patch-cf @@ -0,0 +1,17 @@ +$NetBSD: patch-cf,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- xm-test/tests/security-acm/Makefile.am.orig 2008-08-01 16:38:07.000000000 +0200 ++++ xm-test/tests/security-acm/Makefile.am +@@ -19,10 +19,10 @@ TESTS_ENVIRONMENT=@TENV@ + %.test: %.py + cp $< $@ + chmod +x $@ +- @if [ -d /etc/xen/acm-security/policies ]; then \ ++ @if [ -d @XENDCONFDIR@/acm-security/policies ]; then \ + cp -f xm-test-security_policy.xml \ + xm-test-update-security_policy.xml\ +- /etc/xen/acm-security/policies; \ ++ @XENDCONFDIR@/acm-security/policies; \ + fi; + + clean-local: am_config_clean-local diff --git a/sysutils/xentools41/patches/patch-cg b/sysutils/xentools41/patches/patch-cg new file mode 100644 index 00000000000..51a794c2f2f --- /dev/null +++ b/sysutils/xentools41/patches/patch-cg @@ -0,0 +1,22 @@ +$NetBSD: patch-cg,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- security/xensec_ezpolicy.orig 2008-08-01 16:38:07.000000000 +0200 ++++ security/xensec_ezpolicy +@@ -935,7 +935,7 @@ class ezFrame(wx.Frame): + policyname = transInfo() + if not policyname: + return +- path="/etc/xen/acm-security/policies/" ++ path="@XENDCONFDIR@/acm-security/policies/" + nameparts=string.split(policyname, ".") + if len(nameparts) > 1: + path = path + "/".join(nameparts[0:len(nameparts)-1]) +@@ -1592,7 +1592,7 @@ where you merely replace "NAME" + Save the policy under the name proposed by the tool in the proposed directory + if you are using this tool in your Xen environment. Otherwise, you need + to copy the resulting file into your Xen environment to the directory +-"/etc/xen/acm-security/policies/example/chwall_ste/".<BR> ++"@XENDCONFDIR@/acm-security/policies/example/chwall_ste/".<BR> + <BR> + This tool creates policies for the Xen Chinese Wall and Simple Type Enforcement + policy. The Xen access control policy in general is more expressive and diff --git a/sysutils/xentools41/patches/patch-ch b/sysutils/xentools41/patches/patch-ch new file mode 100644 index 00000000000..2649cd2da10 --- /dev/null +++ b/sysutils/xentools41/patches/patch-ch @@ -0,0 +1,16 @@ +$NetBSD: patch-ch,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- xm-test/runtest.sh.orig 2008-08-01 16:38:07.000000000 +0200 ++++ xm-test/runtest.sh +@@ -220,9 +220,9 @@ unsafe=no + GROUPENTERED=default + + #Prepare for usage with ACM +-if [ -d /etc/xen/acm-security/policies ]; then ++if [ -d @XENDCONFDIR@/acm-security/policies ]; then + cp -f tests/security-acm/xm-test-security_policy.xml \ +- /etc/xen/acm-security/policies ++ @XENDCONFDIR@/acm-security/policies + fi + + unset XM_MANAGED_DOMAINS diff --git a/sysutils/xentools41/patches/patch-da b/sysutils/xentools41/patches/patch-da new file mode 100644 index 00000000000..161d1793033 --- /dev/null +++ b/sysutils/xentools41/patches/patch-da @@ -0,0 +1,23 @@ +$NetBSD: patch-da,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- ioemu-qemu-xen/configure.orig 2011-02-11 18:54:51.000000000 +0100 ++++ ioemu-qemu-xen/configure 2011-03-31 16:50:40.000000000 +0200 +@@ -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" +@@ -1215,6 +1215,9 @@ + echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h + echo "MAKE=$make" >> $config_mak + echo "INSTALL=$install" >> $config_mak ++echo "INSTALL_DIR=$install -d -m0755 -p" >> $config_mak ++echo "INSTALL_DATA=$install -d -m0644 -p" >> $config_mak ++echo "INSTALL_PROG=$install -d -m0755 -p" >> $config_mak + echo "CC=$cc" >> $config_mak + echo "HOST_CC=$host_cc" >> $config_mak + echo "AR=$ar" >> $config_mak diff --git a/sysutils/xentools41/patches/patch-db b/sysutils/xentools41/patches/patch-db new file mode 100644 index 00000000000..0f14778103f --- /dev/null +++ b/sysutils/xentools41/patches/patch-db @@ -0,0 +1,85 @@ +$NetBSD: patch-db,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +--- ioemu-qemu-xen/Makefile.orig 2011-02-11 17:54:51.000000000 +0000 ++++ ioemu-qemu-xen/Makefile +@@ -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 @@ BLOBS= + 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) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" ++ $(INSTALL_PROG) -s $(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 @@ cscope: + + # documentation + %.html: %.texi +- texi2html -monolithic -number $< ++ texi2html -monolithic -number-sections $< + + %.info: %.texi + makeinfo $< -o $@ +@@ -284,15 +284,15 @@ cscope: + 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/xentools41/patches/patch-dc b/sysutils/xentools41/patches/patch-dc new file mode 100644 index 00000000000..6b54034f40a --- /dev/null +++ b/sysutils/xentools41/patches/patch-dc @@ -0,0 +1,34 @@ +$NetBSD: patch-dc,v 1.1.1.1 2011/04/06 09:10:27 cegger Exp $ + +From sysutils/xentools33/patches/patch-ak. + +qemu-0.13.x will include this fix: +http://git.qemu.org/qemu.git/commit/?id=9651ac55e5de0e1534d898316cc851af6ffc4334 + +--- ioemu-qemu-xen/hw/e1000.c.orig 2009-08-06 12:56:34.000000000 +0000 ++++ ioemu-qemu-xen/hw/e1000.c +@@ -244,16 +244,20 @@ set_eecd(E1000State *s, int index, uint3 + + 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; |