Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Jun 2016 11:26:09 +0000 (UTC)
From:      =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <royger@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r416310 - in head: emulators/xen-kernel emulators/xen-kernel/files sysutils/xen-tools sysutils/xen-tools/files
Message-ID:  <201606031126.u53BQ952081233@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: royger (src committer)
Date: Fri Jun  3 11:26:09 2016
New Revision: 416310
URL: https://svnweb.freebsd.org/changeset/ports/416310

Log:
  xen: update to Xen 4.7-rc4
  
  Now both the xen-kernel and xen-tools packages are compiled with clang from
  base.
  
  xen-kernel however needs to use binutils due to some limitations in the
  current elftc.
  
  Approved by:	bapt
  Sponsored by:	Citrix Systems R&D

Added:
  head/emulators/xen-kernel/files/0001-build-fix-assembler-instruction-tests-again.patch   (contents, props changed)
  head/emulators/xen-kernel/files/0001-xen-logdirty-prevent-preemption-if-finished.patch   (contents, props changed)
  head/emulators/xen-kernel/files/0002-xen-rework-paging_log_dirty_op-to-work-with-hvm-gues.patch   (contents, props changed)
  head/sysutils/xen-tools/files/var_paths.patch   (contents, props changed)
Deleted:
  head/emulators/xen-kernel/files/0001-introduce-a-helper-to-allocate-non-contiguous-memory.patch
  head/emulators/xen-kernel/files/0001-x86-pvh-use-a-custom-IO-bitmap-for-PVH-hardware-doma.patch
  head/emulators/xen-kernel/files/0002-vmap-avoid-hitting-an-ASSERT-with-vfree-NULL.patch
  head/emulators/xen-kernel/files/0002-x86-pvh-trap-access-to-sensitive-IO-ports.patch
  head/emulators/xen-kernel/files/0003-x86-shadow-fix-shadow_track_dirty_vram-to-work-on-hv.patch
  head/emulators/xen-kernel/files/0004-x86-hap-make-hap_track_dirty_vram-use-non-contiguous.patch
  head/emulators/xen-kernel/files/0005-x86-rework-paging_log_dirty_op-to-work-with-hvm-gues.patch
  head/emulators/xen-kernel/files/0006-xen-pvh-enable-mmu_update-hypercall.patch
  head/emulators/xen-kernel/files/0007-iommu-fix-usage-of-shared-EPT-IOMMU-page-tables-on-P.patch
  head/emulators/xen-kernel/files/xsa156-4.5.patch
  head/emulators/xen-kernel/files/xsa159.patch
  head/emulators/xen-kernel/files/xsa165-4.5.patch
  head/emulators/xen-kernel/files/xsa166-4.5.patch
  head/emulators/xen-kernel/files/xsa167-4.6.patch
  head/emulators/xen-kernel/files/xsa168.patch
  head/emulators/xen-kernel/files/xsa170-4.5.patch
  head/sysutils/xen-tools/files/0002-libxc-fix-xc_dom_load_elf_symtab.patch
  head/sysutils/xen-tools/files/patch-configure
  head/sysutils/xen-tools/files/patch-tools_configure
  head/sysutils/xen-tools/files/patch-tools_libxc_xc__dom__bzimageloader.c
  head/sysutils/xen-tools/files/patch-tools_misc_xenpm.c
  head/sysutils/xen-tools/files/patch-tools_qemu-xen_configure
  head/sysutils/xen-tools/files/xsa160-4.6.patch
  head/sysutils/xen-tools/files/xsa162-qemuu.patch
Modified:
  head/emulators/xen-kernel/Makefile
  head/emulators/xen-kernel/distinfo
  head/sysutils/xen-tools/Makefile
  head/sysutils/xen-tools/distinfo
  head/sysutils/xen-tools/pkg-plist

Modified: head/emulators/xen-kernel/Makefile
==============================================================================
--- head/emulators/xen-kernel/Makefile	Fri Jun  3 10:52:44 2016	(r416309)
+++ head/emulators/xen-kernel/Makefile	Fri Jun  3 11:26:09 2016	(r416310)
@@ -2,10 +2,12 @@
 
 PORTNAME=	xen
 PKGNAMESUFFIX=	-kernel
-PORTVERSION=	4.5.2
-PORTREVISION=   2
+PORTVERSION=	4.7.0
+PORTREVISION=   0
+RCVERSION=	4
+DISTNAME=	${PORTNAME}-${DISTVERSION}-rc${RCVERSION}
 CATEGORIES=	emulators
-MASTER_SITES=	http://bits.xensource.com/oss-xen/release/${PORTVERSION}/
+MASTER_SITES=	http://bits.xensource.com/oss-xen/release/${DISTVERSION}-rc${RCVERSION}/
 
 MAINTAINER=	royger@FreeBSD.org
 COMMENT=	Hypervisor using a microkernel design
@@ -15,31 +17,32 @@ LICENSE=	GPLv2
 ONLY_FOR_ARCHS=	amd64
 
 USES=		cpe gmake python:build
-MAKE_ARGS=	HOSTCC="${CC}" CC="${CC}" PYTHON=${PYTHON_CMD} \
-		NM="${NM}" LD="${LD}"
-USE_GCC=	yes
+
+# We need to use ld from ports because the version in base doesn't
+# support the '--build-id' switch that's needed for live hypervisor
+# hot-patching. Once the ld version in base supports this option the
+# dependency can be removed.
+#
+# GNU objcopy is used instead of elftc objcopy because of bug #533:
+# https://sourceforge.net/p/elftoolchain/tickets/533/
+# Once this is solved we should be able to switch to elfcopy.
+#
+# And finally we also need to use nm from binutils because the one
+# from base cannot deal with i386pep binary files which is the format
+# of the Xen EFI image (note that FreeBSD cannot yet boot as Dom0 from EFI,
+# but the image is built anyway). This is reported to elftc as bug #534:
+# https://sourceforge.net/p/elftoolchain/tickets/534/
+MAKE_ARGS=	clang=y PYTHON=${PYTHON_CMD} LD="${LD}" OBJCOPY="${OBJCOPY}" \
+		NM="${NM}"
+USE_BINUTILS=	yes
 NO_MTREE=	yes
+STRIP=		#
 PLIST_FILES=	/boot/xen \
 		/boot/xen.4th
-ALL_TARGET=	build
-STRIP=		#
-WRKSRC_SUBDIR=	xen
-EXTRA_PATCHES=	${FILESDIR}/0001-introduce-a-helper-to-allocate-non-contiguous-memory.patch:-p2 \
-		${FILESDIR}/0002-vmap-avoid-hitting-an-ASSERT-with-vfree-NULL.patch:-p2 \
-		${FILESDIR}/0003-x86-shadow-fix-shadow_track_dirty_vram-to-work-on-hv.patch:-p2 \
-		${FILESDIR}/0004-x86-hap-make-hap_track_dirty_vram-use-non-contiguous.patch:-p2 \
-		${FILESDIR}/0005-x86-rework-paging_log_dirty_op-to-work-with-hvm-gues.patch:-p2 \
-		${FILESDIR}/0006-xen-pvh-enable-mmu_update-hypercall.patch:-p2 \
-		${FILESDIR}/0007-iommu-fix-usage-of-shared-EPT-IOMMU-page-tables-on-P.patch:-p2 \
-		${FILESDIR}/0001-x86-pvh-use-a-custom-IO-bitmap-for-PVH-hardware-doma.patch:-p2 \
-		${FILESDIR}/0002-x86-pvh-trap-access-to-sensitive-IO-ports.patch:-p2 \
-		${FILESDIR}/xsa156-4.5.patch:-p2 \
-		${FILESDIR}/xsa159.patch:-p2 \
-		${FILESDIR}/xsa165-4.5.patch:-p2 \
-		${FILESDIR}/xsa166-4.5.patch:-p2 \
-		${FILESDIR}/xsa167-4.6.patch:-p2 \
-		${FILESDIR}/xsa168.patch:-p2 \
-		${FILESDIR}/xsa170-4.5.patch:-p2
+EXTRA_PATCHES=	${FILESDIR}/0001-xen-logdirty-prevent-preemption-if-finished.patch:-p1 \
+		${FILESDIR}/0002-xen-rework-paging_log_dirty_op-to-work-with-hvm-gues.patch:-p1 \
+		${FILESDIR}/0001-build-fix-assembler-instruction-tests-again.patch:-p1 \
+		${FILESDIR}/kconf_arch.patch:-p1
 
 
 .include <bsd.port.options.mk>
@@ -52,13 +55,20 @@ IGNORE=		Only supported on FreeBSD
 IGNORE=		Only supported on recent FreeBSD 11
 .endif
 
+pre-build:
+	${MAKE_CMD} -C ${WRKSRC}/xen defconfig ${MAKE_ARGS}
+	# Enable hypervisor hot-patching.
+	echo 'CONFIG_XSPLICE=y' >> ${WRKSRC}/xen/.config
+	echo 'CONFIG_FAST_SYMBOL_LOOKUP=y' >> ${WRKSRC}/xen/.config
+
+# The ports native 'build' target cannot be used because it sets
+# CFLAGS, and that breaks the Xen build system.
+do-build:
+	${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC}/xen build ${MAKE_ARGS}
+
 do-install:
 	${MKDIR} ${STAGEDIR}/boot
-	${INSTALL_PROGRAM} ${WRKSRC}/xen ${STAGEDIR}/boot
+	${INSTALL_PROGRAM} ${WRKSRC}/xen/xen ${STAGEDIR}/boot
 	${INSTALL_DATA} ${FILESDIR}/xen.4th ${STAGEDIR}/boot
 
 .include <bsd.port.mk>
-
-#Filter out LDFLAGS
-.undef LDFLAGS
-RUN_DEPENDS:=	${RUN_DEPENDS:N*gcc*}

Modified: head/emulators/xen-kernel/distinfo
==============================================================================
--- head/emulators/xen-kernel/distinfo	Fri Jun  3 10:52:44 2016	(r416309)
+++ head/emulators/xen-kernel/distinfo	Fri Jun  3 11:26:09 2016	(r416310)
@@ -1,2 +1,3 @@
-SHA256 (xen-4.5.2.tar.gz) = 4c9e5dac4eea484974e9f76da2756c8e0973b4e884d28d37e955df9ebf00e7e8
-SIZE (xen-4.5.2.tar.gz) = 18416220
+TIMESTAMP = 1464704290
+SHA256 (xen-4.7.0-rc4.tar.gz) = ad752bc80da2ab31287e5249adbeea2536b8141eefd7e8a45a3df42db727c630
+SIZE (xen-4.7.0-rc4.tar.gz) = 20696897

Added: head/emulators/xen-kernel/files/0001-build-fix-assembler-instruction-tests-again.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/xen-kernel/files/0001-build-fix-assembler-instruction-tests-again.patch	Fri Jun  3 11:26:09 2016	(r416310)
@@ -0,0 +1,37 @@
+From 1dda826420fff634983e94f97fb8411486acda0d Mon Sep 17 00:00:00 2001
+From: Jan Beulich <jbeulich@suse.com>
+Date: Tue, 31 May 2016 18:14:22 +0200
+Subject: [PATCH] build: fix assembler instruction tests again
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Commit 7fb252bd41 ("build/xen: fix assembler instruction tests") added
+$(AFLAGS) here, which results in all of those tests now failing.
+Certain items need to be removed for things to work again.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Wei Liu <wei.liu2@citrix.com>
+Acked-by: Roger Pau Monné <roger.pau@citrix.com>
+Release-acked-by: Wei Liu <wei.liu2@citrix.com>
+---
+ Config.mk | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Config.mk b/Config.mk
+index 5ddfbf8..bc5c456 100644
+--- a/Config.mk
++++ b/Config.mk
+@@ -150,7 +150,8 @@ endif
+ # as-insn: Check whether assembler supports an instruction.
+ # Usage: cflags-y += $(call as-insn "insn",option-yes,option-no)
+ as-insn = $(if $(shell echo 'void _(void) { asm volatile ( $(2) ); }' \
+-                       | $(1) $(AFLAGS) -c -x c -o /dev/null - 2>&1),$(4),$(3))
++                       | $(1) $(filter-out -M% %.d -include %/include/xen/config.h,$(AFLAGS)) \
++                              -c -x c -o /dev/null - 2>&1),$(4),$(3))
+ 
+ # as-insn-check: Add an option to compilation flags, but only if insn is
+ #                supported by assembler.
+-- 
+2.7.4 (Apple Git-66)
+

Added: head/emulators/xen-kernel/files/0001-xen-logdirty-prevent-preemption-if-finished.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/xen-kernel/files/0001-xen-logdirty-prevent-preemption-if-finished.patch	Fri Jun  3 11:26:09 2016	(r416310)
@@ -0,0 +1,44 @@
+From 7a0ed7f3c2dcb1f104b6f70223d48d8826aec7f2 Mon Sep 17 00:00:00 2001
+From: Roger Pau Monne <roger.pau@citrix.com>
+Date: Tue, 31 May 2016 16:07:26 +0200
+Subject: [PATCH 1/2] xen/logdirty: prevent preemption if finished
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+While working on PVH migration support I've realized that
+paging_log_dirty_op sometimes restarts with sc->pages == pages, which means
+there's no more work to do. Avoid this by adding a check in the preemption
+points of the function.
+
+Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
+---
+ xen/arch/x86/mm/paging.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
+index 8219bb6..ed94ff7 100644
+--- a/xen/arch/x86/mm/paging.c
++++ b/xen/arch/x86/mm/paging.c
+@@ -519,7 +519,8 @@ static int paging_log_dirty_op(struct domain *d,
+             if ( l2 )
+                 unmap_domain_page(l2);
+ 
+-            if ( i3 < LOGDIRTY_NODE_ENTRIES - 1 && hypercall_preempt_check() )
++            if ( i3 < LOGDIRTY_NODE_ENTRIES - 1 && hypercall_preempt_check() &&
++                 sc->pages != pages )
+             {
+                 d->arch.paging.preempt.log_dirty.i4 = i4;
+                 d->arch.paging.preempt.log_dirty.i3 = i3 + 1;
+@@ -531,7 +532,7 @@ static int paging_log_dirty_op(struct domain *d,
+             unmap_domain_page(l3);
+ 
+         if ( !rv && i4 < LOGDIRTY_NODE_ENTRIES - 1 &&
+-             hypercall_preempt_check() )
++             hypercall_preempt_check() && sc->pages != pages )
+         {
+             d->arch.paging.preempt.log_dirty.i4 = i4 + 1;
+             d->arch.paging.preempt.log_dirty.i3 = 0;
+-- 
+2.7.4 (Apple Git-66)
+

Added: head/emulators/xen-kernel/files/0002-xen-rework-paging_log_dirty_op-to-work-with-hvm-gues.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/xen-kernel/files/0002-xen-rework-paging_log_dirty_op-to-work-with-hvm-gues.patch	Fri Jun  3 11:26:09 2016	(r416310)
@@ -0,0 +1,244 @@
+From e253a2e2fb45197273cee7a7fa2b77f7a87cb67f Mon Sep 17 00:00:00 2001
+From: Roger Pau Monne <roger.pau@citrix.com>
+Date: Tue, 31 May 2016 16:07:26 +0200
+Subject: [PATCH 2/2] xen: rework paging_log_dirty_op to work with hvm guests
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When the caller of paging_log_dirty_op is a hvm guest Xen would choke when
+trying to copy the dirty bitmap to the guest because the paging lock is
+already held.
+
+Fix this by independently mapping each page of the guest bitmap as needed
+without the paging lock held.
+
+Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
+Cc: Tim Deegan <tim@xen.org>
+Cc: Jan Beulich <jbeulich@suse.com>
+Cc: Andrew Cooper <andrew.cooper3@citrix.com>
+---
+Changes since v6:
+ - Move the again label to the start of the function.
+ - Set all the preempt fields if we need to map a new page (just like on the
+   preempt case).
+
+Changes since v4:
+ - Indent again label.
+ - Replace bogus paddr_t cast with proper type.
+ - Update preempt.log_dirty before dropping the paging lock.
+
+Changes since v3:
+ - Drop last parameter from map_dirty_bitmap.
+ - Drop pointless initializers in paging_log_dirty_op.
+ - Add a new field to paging_domain in order to copy i2 position.
+ - Move the again case up to make sure we don't hold cached values of the
+   contents of log_dirty.
+ - Replace the BUG_ON in paging_log_dirty_op with an ASSERT.
+
+Changes since v2:
+ - Add checks for p2m_is_ram and p2m_is_discard_write when mapping a guest
+   page.
+ - Remove error checking from memset/memcpy, they unconditionally return
+   dst.
+---
+ xen/arch/x86/mm/paging.c     | 97 +++++++++++++++++++++++++++++++++++++++-----
+ xen/include/asm-x86/domain.h |  1 +
+ 2 files changed, 87 insertions(+), 11 deletions(-)
+
+diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
+index ed94ff7..595c9d6 100644
+--- a/xen/arch/x86/mm/paging.c
++++ b/xen/arch/x86/mm/paging.c
+@@ -406,6 +406,51 @@ int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn)
+     return rv;
+ }
+ 
++static inline void *map_dirty_bitmap(XEN_GUEST_HANDLE_64(uint8) dirty_bitmap,
++                                     unsigned long pages,
++                                     struct page_info **page)
++{
++    uint32_t pfec = PFEC_page_present | PFEC_write_access;
++    unsigned long gfn;
++    p2m_type_t p2mt;
++
++    gfn = paging_gva_to_gfn(current,
++                            (unsigned long)(dirty_bitmap.p + (pages >> 3)),
++                            &pfec);
++    if ( gfn == INVALID_GFN )
++        return NULL;
++
++    *page = get_page_from_gfn(current->domain, gfn, &p2mt, P2M_UNSHARE);
++
++    if ( !p2m_is_ram(p2mt) )
++    {
++        put_page(*page);
++        return NULL;
++    }
++    if ( p2m_is_paging(p2mt) )
++    {
++        put_page(*page);
++        p2m_mem_paging_populate(current->domain, gfn);
++        return NULL;
++    }
++    if ( p2m_is_shared(p2mt) || p2m_is_discard_write(p2mt) )
++    {
++        put_page(*page);
++        return NULL;
++    }
++
++    return __map_domain_page(*page);
++}
++
++static inline void unmap_dirty_bitmap(void *addr, struct page_info *page)
++{
++    if ( addr != NULL )
++    {
++        unmap_domain_page(addr);
++        put_page(page);
++    }
++}
++
+ 
+ /* Read a domain's log-dirty bitmap and stats.  If the operation is a CLEAN,
+  * clear the bitmap and stats as well. */
+@@ -418,7 +463,11 @@ static int paging_log_dirty_op(struct domain *d,
+     mfn_t *l4 = NULL, *l3 = NULL, *l2 = NULL;
+     unsigned long *l1 = NULL;
+     int i4, i3, i2;
++    uint8_t *dirty_bitmap;
++    struct page_info *page;
++    unsigned long index_mapped;
+ 
++ again:
+     if ( !resuming )
+     {
+         /*
+@@ -439,6 +488,14 @@ static int paging_log_dirty_op(struct domain *d,
+         p2m_flush_hardware_cached_dirty(d);
+     }
+ 
++    index_mapped = resuming ? d->arch.paging.preempt.log_dirty.done : 0;
++    dirty_bitmap = map_dirty_bitmap(sc->dirty_bitmap, index_mapped, &page);
++    if ( dirty_bitmap == NULL )
++    {
++        domain_unpause(d);
++        return -EFAULT;
++    }
++
+     paging_lock(d);
+ 
+     if ( !d->arch.paging.preempt.dom )
+@@ -478,18 +535,18 @@ static int paging_log_dirty_op(struct domain *d,
+     l4 = paging_map_log_dirty_bitmap(d);
+     i4 = d->arch.paging.preempt.log_dirty.i4;
+     i3 = d->arch.paging.preempt.log_dirty.i3;
++    i2 = d->arch.paging.preempt.log_dirty.i2;
+     pages = d->arch.paging.preempt.log_dirty.done;
+ 
+     for ( ; (pages < sc->pages) && (i4 < LOGDIRTY_NODE_ENTRIES); i4++, i3 = 0 )
+     {
+         l3 = (l4 && mfn_valid(l4[i4])) ? map_domain_page(l4[i4]) : NULL;
+-        for ( ; (pages < sc->pages) && (i3 < LOGDIRTY_NODE_ENTRIES); i3++ )
++        for ( ; (pages < sc->pages) && (i3 < LOGDIRTY_NODE_ENTRIES);
++             i3++, i2 = 0 )
+         {
+             l2 = ((l3 && mfn_valid(l3[i3])) ?
+                   map_domain_page(l3[i3]) : NULL);
+-            for ( i2 = 0;
+-                  (pages < sc->pages) && (i2 < LOGDIRTY_NODE_ENTRIES);
+-                  i2++ )
++            for ( ; (pages < sc->pages) && (i2 < LOGDIRTY_NODE_ENTRIES); i2++ )
+             {
+                 unsigned int bytes = PAGE_SIZE;
+                 l1 = ((l2 && mfn_valid(l2[i2])) ?
+@@ -498,15 +555,28 @@ static int paging_log_dirty_op(struct domain *d,
+                     bytes = (unsigned int)((sc->pages - pages + 7) >> 3);
+                 if ( likely(peek) )
+                 {
+-                    if ( (l1 ? copy_to_guest_offset(sc->dirty_bitmap,
+-                                                    pages >> 3, (uint8_t *)l1,
+-                                                    bytes)
+-                             : clear_guest_offset(sc->dirty_bitmap,
+-                                                  pages >> 3, bytes)) != 0 )
++                    if ( pages >> (3 + PAGE_SHIFT) !=
++                         index_mapped >> (3 + PAGE_SHIFT) )
+                     {
+-                        rv = -EFAULT;
+-                        goto out;
++                        /* We need to map next page */
++                        d->arch.paging.preempt.log_dirty.i4 = i4;
++                        d->arch.paging.preempt.log_dirty.i3 = i3;
++                        d->arch.paging.preempt.log_dirty.i2 = i2;
++                        d->arch.paging.preempt.log_dirty.done = pages;
++                        d->arch.paging.preempt.dom = current->domain;
++                        d->arch.paging.preempt.op = sc->op;
++                        resuming = 1;
++                        paging_unlock(d);
++                        unmap_dirty_bitmap(dirty_bitmap, page);
++                        goto again;
+                     }
++                    ASSERT(((pages >> 3) % PAGE_SIZE) + bytes <= PAGE_SIZE);
++                    if ( l1 )
++                        memcpy(dirty_bitmap + ((pages >> 3) % PAGE_SIZE), l1,
++                               bytes);
++                    else
++                        memset(dirty_bitmap + ((pages >> 3) % PAGE_SIZE), 0,
++                               bytes);
+                 }
+                 pages += bytes << 3;
+                 if ( l1 )
+@@ -524,6 +594,7 @@ static int paging_log_dirty_op(struct domain *d,
+             {
+                 d->arch.paging.preempt.log_dirty.i4 = i4;
+                 d->arch.paging.preempt.log_dirty.i3 = i3 + 1;
++                d->arch.paging.preempt.log_dirty.i2 = 0;
+                 rv = -ERESTART;
+                 break;
+             }
+@@ -536,6 +607,7 @@ static int paging_log_dirty_op(struct domain *d,
+         {
+             d->arch.paging.preempt.log_dirty.i4 = i4 + 1;
+             d->arch.paging.preempt.log_dirty.i3 = 0;
++            d->arch.paging.preempt.log_dirty.i2 = 0;
+             rv = -ERESTART;
+         }
+         if ( rv )
+@@ -565,6 +637,7 @@ static int paging_log_dirty_op(struct domain *d,
+     if ( rv )
+     {
+         /* Never leave the domain paused on real errors. */
++        unmap_dirty_bitmap(dirty_bitmap, page);
+         ASSERT(rv == -ERESTART);
+         return rv;
+     }
+@@ -577,12 +650,14 @@ static int paging_log_dirty_op(struct domain *d,
+          * paging modes (shadow or hap).  Safe because the domain is paused. */
+         d->arch.paging.log_dirty.clean_dirty_bitmap(d);
+     }
++    unmap_dirty_bitmap(dirty_bitmap, page);
+     domain_unpause(d);
+     return rv;
+ 
+  out:
+     d->arch.paging.preempt.dom = NULL;
+     paging_unlock(d);
++    unmap_dirty_bitmap(dirty_bitmap, page);
+     domain_unpause(d);
+ 
+     if ( l1 )
+diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
+index 165e533..0dc1ed8 100644
+--- a/xen/include/asm-x86/domain.h
++++ b/xen/include/asm-x86/domain.h
+@@ -206,6 +206,7 @@ struct paging_domain {
+                 unsigned long done:PADDR_BITS - PAGE_SHIFT;
+                 unsigned long i4:PAGETABLE_ORDER;
+                 unsigned long i3:PAGETABLE_ORDER;
++                unsigned long i2:PAGETABLE_ORDER;
+             } log_dirty;
+         };
+     } preempt;
+-- 
+2.7.4 (Apple Git-66)
+

Modified: head/sysutils/xen-tools/Makefile
==============================================================================
--- head/sysutils/xen-tools/Makefile	Fri Jun  3 10:52:44 2016	(r416309)
+++ head/sysutils/xen-tools/Makefile	Fri Jun  3 11:26:09 2016	(r416310)
@@ -1,11 +1,13 @@
 # $FreeBSD$
 
 PORTNAME=	xen
-PORTVERSION=	4.5.2
-PORTREVISION=   3
-CATEGORIES=	sysutils emulators
-MASTER_SITES=	http://bits.xensource.com/oss-xen/release/${PORTVERSION}/
 PKGNAMESUFFIX=	-tools
+PORTVERSION=	4.7.0
+PORTREVISION=   0
+RCVERSION=	4
+DISTNAME=	${PORTNAME}-${DISTVERSION}-rc${RCVERSION}
+CATEGORIES=	sysutils emulators
+MASTER_SITES=	http://bits.xensource.com/oss-xen/release/${DISTVERSION}-rc${RCVERSION}/
 
 MAINTAINER=	royger@FreeBSD.org
 COMMENT=	Xen management tool, based on LibXenlight
@@ -17,42 +19,40 @@ BROKEN_FreeBSD_10=	does not build
 
 LIB_DEPENDS=	libyajl.so:devel/yajl \
 		liblzo2.so:archivers/lzo2 \
-		libpixman-1.so:x11/pixman
+		libpixman-1.so:x11/pixman \
+		libargp.so:devel/argp-standalone
 BUILD_DEPENDS=	dev86>0:devel/dev86 \
-		seabios>0:misc/seabios
+		seabios>0:misc/seabios \
+		markdown>0:textproc/markdown
 
 OPTIONS_DEFINE=	DOCS
 
 ONLY_FOR_ARCHS=	amd64
 ONLY_FOR_ARCHS_REASON=	"not yet ported to anything other than amd64"
 
-WRKSRC=		${WRKDIR}/xen-${PORTVERSION}
-
-USES=		cpe gmake libtool perl5 pkgconfig python shebangfix localbase
+USES=		cpe gmake libtool perl5 pkgconfig python shebangfix localbase \
+		gettext
 USE_GNOME=	glib20
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV=	HOSTCC="${CC}" CC="${CC}" \
-		ac_cv_path_BASH=${TRUE} \
-		ac_cv_path_XGETTEXT=${TRUE}
-MAKE_ARGS=	HOSTCC="${CC}" CC="${CC}" GCC="${CC}" cc="${GCC}" \
-		HOSTCFLAGS="${CFLAGS}" SEABIOS_PATH="${LOCALBASE}/share/seabios/bios.bin"
+MAKE_ARGS=	clang=y
 QEMU_ARGS=	--disable-gtk \
 		--disable-smartcard-nss \
 		--disable-sdl \
 		--disable-vte \
-		--disable-glx \
 		--disable-curses \
 		--disable-tools \
 		--disable-curl \
 		--cxx=c++
-CFLAGS=		-Wno-ignored-attributes -Qunused-arguments -Wno-header-guard \
-		-Wno-tautological-compare -Wno-format-extra-args -w
 
-EXTRA_PATCHES=	${FILESDIR}/0002-libxc-fix-xc_dom_load_elf_symtab.patch:-p1 \
-		${FILESDIR}/xsa160-4.6.patch:-p1
+EXTRA_PATCHES=	${FILESDIR}/var_paths.patch:-p1
+
+CONFIGURE_ARGS+=	--with-extra-qemuu-configure-args="${QEMU_ARGS}" \
+			--with-system-seabios=${LOCALBASE}/share/seabios/bios.bin
+
+# Disable bash and xgettext tests, they are not needed on FreeBSD.
+CONFIGURE_ENV+=		ac_cv_path_BASH=${TRUE}
 
-CONFIGURE_ARGS+=	--with-extra-qemuu-configure-args="${QEMU_ARGS}"
 SHEBANG_FILES=	tools/misc/xencov_split \
 		tools/misc/xen-ringwatch
 ALL_TARGET=	tools docs
@@ -73,7 +73,7 @@ post-patch:
 		${WRKSRC}/tools/libxl/libxl_dm.c \
 		${WRKSRC}/tools/qemu-xen-traditional/i386-dm/helper2.c \
 		${WRKSRC}/docs/man/*
-	@for p in ${FILESDIR}/*qemuu*.patch; do \
+	@for p in `ls ${FILESDIR}/*qemuu*.patch 2>/dev/null`; do \
 		${ECHO_CMD} "====> Applying $${p##*/}" ; \
 		${PATCH} -s -p1 -i $${p} -d ${WRKSRC}/tools/qemu-xen ; \
 	done

Modified: head/sysutils/xen-tools/distinfo
==============================================================================
--- head/sysutils/xen-tools/distinfo	Fri Jun  3 10:52:44 2016	(r416309)
+++ head/sysutils/xen-tools/distinfo	Fri Jun  3 11:26:09 2016	(r416310)
@@ -1,2 +1,3 @@
-SHA256 (xen-4.5.2.tar.gz) = 4c9e5dac4eea484974e9f76da2756c8e0973b4e884d28d37e955df9ebf00e7e8
-SIZE (xen-4.5.2.tar.gz) = 18416220
+TIMESTAMP = 1464773219
+SHA256 (xen-4.7.0-rc4.tar.gz) = ad752bc80da2ab31287e5249adbeea2536b8141eefd7e8a45a3df42db727c630
+SIZE (xen-4.7.0-rc4.tar.gz) = 20696897

Added: head/sysutils/xen-tools/files/var_paths.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/xen-tools/files/var_paths.patch	Fri Jun  3 11:26:09 2016	(r416310)
@@ -0,0 +1,13 @@
+diff --git a/config/FreeBSD.mk b/config/FreeBSD.mk
+index bb3a5d0..b072030 100644
+--- a/config/FreeBSD.mk
++++ b/config/FreeBSD.mk
+@@ -2,3 +2,8 @@ include $(XEN_ROOT)/config/StdGNU.mk
+ 
+ # No wget on FreeBSD base system
+ WGET = ftp
++
++XEN_LIB_STORED	:= ${localstatedir}/db/xenstored
++XEN_LOCK_DIR	:= ${localstatedir}/db
++XEN_PAGING_DIR	:= ${localstatedir}/db/xen/xenpaging
++XEN_DUMP_DIR	:= ${localstatedir}/crash/xen

Modified: head/sysutils/xen-tools/pkg-plist
==============================================================================
--- head/sysutils/xen-tools/pkg-plist	Fri Jun  3 10:52:44 2016	(r416309)
+++ head/sysutils/xen-tools/pkg-plist	Fri Jun  3 11:26:09 2016	(r416310)
@@ -1,5 +1,7 @@
 bin/pygrub
+bin/xen-cpuid
 bin/xen-detect
+bin/xenalyze
 bin/xencons
 bin/xencov_split
 bin/xenstore
@@ -12,14 +14,14 @@ bin/xenstore-read
 bin/xenstore-rm
 bin/xenstore-watch
 bin/xenstore-write
-bin/xentrace
 bin/xentrace_format
-bin/xentrace_setsize
 etc/bash_completion.d/xl.sh
 etc/rc.d/xencommons
+etc/rc.d/xendriverdomain
 %%ETCDIR%%/README
 %%ETCDIR%%/README.incompatibilities
 %%ETCDIR%%/cpupool
+%%ETCDIR%%/scripts/block
 %%ETCDIR%%/scripts/hotplugpath.sh
 %%ETCDIR%%/scripts/vif-bridge
 %%ETCDIR%%/xl.conf
@@ -40,8 +42,10 @@ 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/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
@@ -52,6 +56,7 @@ 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
@@ -63,6 +68,7 @@ include/xen/grant_table.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
@@ -84,11 +90,11 @@ include/xen/io/vscsiif.h
 include/xen/io/xenbus.h
 include/xen/io/xs_wire.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/pmu.h
 include/xen/sched.h
 include/xen/sys/evtchn.h
 include/xen/sys/privcmd.h
@@ -97,13 +103,18 @@ 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/xenctrlosdep.h
+include/xenctrl_compat.h
+include/xenevtchn.h
+include/xenforeignmemory.h
+include/xengnttab.h
 include/xenguest.h
 include/xenstat.h
 include/xenstore-compat/xs.h
@@ -123,18 +134,34 @@ 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.0
 lib/libxenctrl.a
 lib/libxenctrl.so
-lib/libxenctrl.so.4.5
-lib/libxenctrl.so.4.5.0
+lib/libxenctrl.so.4.7
+lib/libxenctrl.so.4.7.0
+lib/libxenevtchn.a
+lib/libxenevtchn.so
+lib/libxenevtchn.so.1
+lib/libxenevtchn.so.1.0
+lib/libxenforeignmemory.a
+lib/libxenforeignmemory.so
+lib/libxenforeignmemory.so.1
+lib/libxenforeignmemory.so.1.0
+lib/libxengnttab.a
+lib/libxengnttab.so
+lib/libxengnttab.so.1
+lib/libxengnttab.so.1.0
 lib/libxenguest.a
 lib/libxenguest.so
-lib/libxenguest.so.4.5
-lib/libxenguest.so.4.5.0
+lib/libxenguest.so.4.7
+lib/libxenguest.so.4.7.0
 lib/libxenlight.a
 lib/libxenlight.so
-lib/libxenlight.so.4.5
-lib/libxenlight.so.4.5.0
+lib/libxenlight.so.4.7
+lib/libxenlight.so.4.7.0
 lib/libxenstat.a
 lib/libxenstat.so
 lib/libxenstat.so.0
@@ -143,10 +170,14 @@ lib/libxenstore.a
 lib/libxenstore.so
 lib/libxenstore.so.3.0
 lib/libxenstore.so.3.0.3
+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.3
-lib/libxlutil.so.4.3.0
+lib/libxlutil.so.4.7
+lib/libxlutil.so.4.7.0
 %%PYTHON_SITELIBDIR%%/fsimage.so
 %%PYTHON_SITELIBDIR%%/grub/ExtLinuxConf.py
 %%PYTHON_SITELIBDIR%%/grub/ExtLinuxConf.pyc
@@ -164,18 +195,35 @@ lib/libxlutil.so.4.3.0
 %%PYTHON_SITELIBDIR%%/xen/lowlevel/__init__.pyc
 %%PYTHON_SITELIBDIR%%/xen/lowlevel/xc.so
 %%PYTHON_SITELIBDIR%%/xen/lowlevel/xs.so
+%%PYTHON_SITELIBDIR%%/xen/migration/__init__.py
+%%PYTHON_SITELIBDIR%%/xen/migration/__init__.pyc
+%%PYTHON_SITELIBDIR%%/xen/migration/legacy.py
+%%PYTHON_SITELIBDIR%%/xen/migration/legacy.pyc
+%%PYTHON_SITELIBDIR%%/xen/migration/libxc.py
+%%PYTHON_SITELIBDIR%%/xen/migration/libxc.pyc
+%%PYTHON_SITELIBDIR%%/xen/migration/libxl.py
+%%PYTHON_SITELIBDIR%%/xen/migration/libxl.pyc
+%%PYTHON_SITELIBDIR%%/xen/migration/public.py
+%%PYTHON_SITELIBDIR%%/xen/migration/public.pyc
+%%PYTHON_SITELIBDIR%%/xen/migration/tests.py
+%%PYTHON_SITELIBDIR%%/xen/migration/tests.pyc
+%%PYTHON_SITELIBDIR%%/xen/migration/verify.py
+%%PYTHON_SITELIBDIR%%/xen/migration/verify.pyc
+%%PYTHON_SITELIBDIR%%/xen/migration/xl.py
+%%PYTHON_SITELIBDIR%%/xen/migration/xl.pyc
+lib/xen/bin/convert-legacy-stream
 lib/xen/bin/libxl-save-helper
 lib/xen/bin/lsevtchn
 lib/xen/bin/pygrub
 lib/xen/bin/qemu-system-i386
 lib/xen/bin/readnotes
+lib/xen/bin/verify-stream-v2
 lib/xen/bin/xen-init-dom0
 lib/xen/bin/xenconsole
 lib/xen/bin/xenctx
 lib/xen/bin/xenpaging
 lib/xen/bin/xenpvnetboot
 lib/xen/boot/hvmloader
-lib/xen/etc/qemu/target-x86_64.conf
 man/man1/xenstore-chmod.1.gz
 man/man1/xenstore-ls.1.gz
 man/man1/xenstore.1.gz
@@ -186,6 +234,12 @@ man/man5/xl.cfg.5.gz
 man/man5/xl.conf.5.gz
 man/man5/xlcpupool.cfg.5.gz
 man/man8/xentrace.8.gz
+sbin/flask-get-bool
+sbin/flask-getenforce
+sbin/flask-label-pci
+sbin/flask-loadpolicy
+sbin/flask-set-bool
+sbin/flask-setenforce
 sbin/gdbsx
 sbin/gtracestat
 sbin/gtraceview
@@ -198,6 +252,7 @@ sbin/xen-lowmemd
 sbin/xen-mfndump
 sbin/xen-ringwatch
 sbin/xen-tmem-list-parse
+sbin/xen-xsplice
 sbin/xenbaked
 sbin/xenconsoled
 sbin/xencov
@@ -208,10 +263,11 @@ sbin/xenpm
 sbin/xenpmd
 sbin/xenstored
 sbin/xentop
+sbin/xentrace
 sbin/xentrace_setmask
+sbin/xentrace_setsize
 sbin/xenwatchdogd
 sbin/xl
-%%PORTDOCS%%%%DOCSDIR%%/README.xenmon
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/.deps
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,arch-arm,hvm,save.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,arch-arm.h.html
@@ -219,6 +275,7 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,dom0_ops.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,domctl.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,elfnote.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,errno.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,event_channel.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,features.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,gcov.h.html
@@ -226,6 +283,7 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,hvm,e820.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,hvm,hvm_info_table.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,hvm,hvm_op.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,hvm,hvm_vcpu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,hvm,hvm_xs_strings.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,hvm,ioreq.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,hvm,params.h.html
@@ -247,17 +305,18 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,io,xenbus.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,io,xs_wire.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,kexec.h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,mem_event.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,memory.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,nmi.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,physdev.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,platform.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,pmu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,sched.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,sysctl.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,tmem.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,trace.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,vcpu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,version.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,vm_event.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,xen-compat.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,xen.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,xencomm.h.html
@@ -267,8 +326,10 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/index.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/index.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/.deps
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,cpufeatureset.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,cpuid.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,hvm,save.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,pmu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,xen-mca.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,xen-x86_32.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,xen.h.html
@@ -277,6 +338,7 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,dom0_ops.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,domctl.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,elfnote.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,errno.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,event_channel.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,features.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,gcov.h.html
@@ -284,6 +346,7 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,hvm,e820.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,hvm,hvm_info_table.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,hvm,hvm_op.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,hvm,hvm_vcpu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,hvm,hvm_xs_strings.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,hvm,ioreq.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,hvm,params.h.html
@@ -305,17 +368,18 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,io,xenbus.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,io,xs_wire.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,kexec.h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,mem_event.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,memory.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,nmi.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,physdev.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,platform.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,pmu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,sched.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,sysctl.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,tmem.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,trace.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,vcpu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,version.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,vm_event.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,xen-compat.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,xen.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,xencomm.h.html
@@ -324,8 +388,10 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,xen,errno.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/index.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/.deps
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,cpufeatureset.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,cpuid.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,hvm,save.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,pmu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,xen-mca.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,xen-x86_64.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,xen.h.html
@@ -334,6 +400,7 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,dom0_ops.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,domctl.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,elfnote.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,errno.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,event_channel.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,features.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,gcov.h.html
@@ -341,6 +408,7 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,hvm,e820.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,hvm,hvm_info_table.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,hvm,hvm_op.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,hvm,hvm_vcpu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,hvm,hvm_xs_strings.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,hvm,ioreq.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,hvm,params.h.html
@@ -362,17 +430,18 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,io,xenbus.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,io,xs_wire.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,kexec.h.html
-%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,mem_event.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,memory.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,nmi.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,physdev.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,platform.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,pmu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,sched.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,sysctl.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,tmem.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,trace.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,vcpu.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,version.h.html
+%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,vm_event.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,xen-compat.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,xen.h.html
 %%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,xencomm.h.html
@@ -385,36 +454,68 @@ sbin/xl
 %%PORTDOCS%%%%DOCSDIR%%/html/man/xenstore-chmod.1.html
 %%PORTDOCS%%%%DOCSDIR%%/html/man/xenstore-ls.1.html
 %%PORTDOCS%%%%DOCSDIR%%/html/man/xenstore.1.html
+%%PORTDOCS%%%%DOCSDIR%%/html/man/xentop.1.html
+%%PORTDOCS%%%%DOCSDIR%%/html/man/xentrace.8.html
+%%PORTDOCS%%%%DOCSDIR%%/html/man/xentrace_format.1.html
 %%PORTDOCS%%%%DOCSDIR%%/html/man/xl.1.html
 %%PORTDOCS%%%%DOCSDIR%%/html/man/xl.cfg.5.html
 %%PORTDOCS%%%%DOCSDIR%%/html/man/xl.conf.5.html
 %%PORTDOCS%%%%DOCSDIR%%/html/man/xlcpupool.cfg.5.html
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/amd-ucode-container.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/booting.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/device-tree/booting.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/device-tree/guest.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/device-tree/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/device-tree/passthrough.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/early-printk.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/arm/passthrough.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/block-scripts.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/channel.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/console.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/coverage.html
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/crashdb.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/distro_mapping.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/dump-core-format.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/efi.html
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/grant-tables.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/hvm-emulated-unplug.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/hvmlite.html
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/kconfig-language.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/kconfig.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/kexec_and_kdump.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/libxl_memory.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/pci-device-reservations.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/printk-formats.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/pvh-readme.txt
-%%PORTDOCS%%%%DOCSDIR%%/html/misc/sedf_scheduler_mini-HOWTO.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/pvh.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/qemu-backends.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/qemu-deprivilege.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/stubdom.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/tscmode.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/vbd-interface.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/vtd-pi.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/vtd.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/vtpm-platforms.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/vtpm.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/vtpmmgr.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/x86-xenpv-bootloader.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/xen-command-line.html
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/xen-error-handling.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/xenmon.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/xenpaging.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/xenstore-paths.html
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/xenstore-ring.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/xenstore.txt
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/xl-disk-configuration.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/xl-network-configuration.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/xl-numa-placement.html
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/xl-psr.html
 %%PORTDOCS%%%%DOCSDIR%%/html/misc/xsm-flask.txt
+%%PORTDOCS%%%%DOCSDIR%%/html/misc/xsplice.html
+share/pkgconfig/xenlight.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
@@ -488,16 +589,18 @@ share/qemu-xen/qemu/s390-zipl.rom
 share/qemu-xen/qemu/sgabios.bin
 share/qemu-xen/qemu/slof.bin
 share/qemu-xen/qemu/spapr-rtas.bin
+share/qemu-xen/qemu/trace-events
+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
 @dir %%ETCDIR%%/auto
+@dir /var/crash/xen
 @dir /var/db/xen/xenpaging
 @dir /var/db/xen
 @dir /var/db/xenstored
 @dir /var/log/xen
-@dir /var/xen/dump
-@dir /var/xen
 @dir /var/run/xen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606031126.u53BQ952081233>