Hello community,

here is the log from the commit of package xen for openSUSE:Factory checked in 
at 2017-05-27 13:09:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
 and      /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xen"

Sat May 27 13:09:02 2017 rev:228 rq:496467 version:4.9.0_04

Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes  2017-04-11 12:39:50.315734414 
+0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes     2017-05-27 
13:09:39.973294867 +0200
@@ -1,0 +2,133 @@
+Thu May 18 16:22:53 MDT 2017 - [email protected]
+
+- bsc#1031343 - xen fails to build with GCC 7
+  gcc7-mini-os.patch
+  gcc7-xen.patch
+
+-------------------------------------------------------------------
+Wed May 17 08:28:37 MDT 2017 - [email protected]
+
+- bsc#1031343 - xen fails to build with GCC 7
+  gcc7-error-xenpmd.patch
+
+-------------------------------------------------------------------
+Tue May 16 09:04:19 MDT 2017 - [email protected]
+
+- Update to Xen 4.9.0-rc5 (fate#321394, fate#323108)
+  xen-4.9.0-testing-src.tar.bz2
+- Drop xen-tools-pkgconfig-xenlight.patch
+
+-------------------------------------------------------------------
+Wed May 10 15:26:38 MDT 2017 - [email protected]
+
+- bsc#1037779 - xen breaks kexec-tools build
+  xen-tools-pkgconfig-xenlight.patch
+
+-------------------------------------------------------------------
+Tue May  9 08:40:58 MDT 2017 - [email protected]
+
+- Update to Xen 4.9.0-rc4 (fate#321394, fate#323108)
+  xen-4.9.0-testing-src.tar.bz2
+
+-------------------------------------------------------------------
+Tue May  2 09:18:24 MDT 2017 - [email protected]
+
+- bsc#1036146 - sles12sp2 xen VM dumps core to wrong path
+  xen.spec
+
+-------------------------------------------------------------------
+Fri Apr 28 09:03:56 MDT 2017 - [email protected]
+
+- Update to Xen 4.9.0-rc3 (fate#321394, fate#323108)
+  xen-4.9.0-testing-src.tar.bz2
+  aarch64-maybe-uninitialized.patch
+
+-------------------------------------------------------------------
+Fri Apr 21 16:26:31 MDT 2017 - [email protected]
+
+- Update to Xen 4.9.0-rc2 (fate#321394, fate#323108)
+  xen-4.9.0-testing-src.tar.bz2
+
+-------------------------------------------------------------------
+Wed Apr 19 07:54:58 MDT 2017 - [email protected]
+
+- Update to Xen 4.9.0-rc1 (fate#321394, fate#323108)
+  xen-4.9.0-testing-src.tar.bz2
+  ioemu-devicemodel-include.patch
+- Dropped patches contained in new tarball
+  xen-4.8.0-testing-src.tar.bz2
+  0001-xenstore-let-write_node-and-some-callers-return-errn.patch
+  0002-xenstore-undo-function-rename.patch
+  0003-xenstore-rework-of-transaction-handling.patch
+  584806ce-x86emul-correct-PUSHF-POPF.patch
+  584fc649-fix-determining-when-domain-creation-is-complete.patch
+  58510c06-x86emul-CMPXCHGnB-ignore-prefixes.patch
+  58510cac-x86emul-MOVNTI-no-REP-prefixes.patch
+  58526ccc-x86emul-64bit-ignore-most-segment-bases-in-align-check.patch
+  5853ed37-VT-d-correct-dma_msi_set_affinity.patch
+  5853ee07-x86emul-CMPXCHG16B-aligned-operand.patch
+  58580060-x86-emul-correct-SYSCALL-eflags-handling.patch
+  585aa3c5-x86-force-EFLAGS-IF-on-upon-exit-to-PV.patch
+  585aa407-x86-HVM-NULL-check-before-using-VMFUNC-hook.patch
+  585bd5fe-x86-emul-correct-VMFUNC-return-value-handling.patch
+  586ba81c-x86-cpu-dont-update-this_cpu-for-guest-get_cpu_vendor.patch
+  587d04d6-x86-xstate-fix-array-overrun-with-LWP.patch
+  587de4a9-x86emul-VEX-B-ignored-in-compat-mode.patch
+  5882129d-x86emul-LOCK-check-adjustments.patch
+  58821300-x86-segment-attribute-handling.patch
+  58873c1f-x86emul-correct-FPU-stub-asm-constraints.patch
+  58873c80-x86-hvm-do-not-set-msr_tsc_adjust-on-.patch
+  5887888f-credit2-fix-shutdown-suspend-with-cpupools.patch
+  5887888f-credit2-never-consider-CPUs-outside-of-pool.patch
+  5887888f-credit2-use-the-correct-scratch-cpumask.patch
+  5888b1b3-x86-emulate-dont-assume-addr_size-32-implies-protmode.patch
+  5899cbd9-EPT-allow-wrcomb-MMIO-mappings-again.patch
+  
589b3272-libxl-dont-segfault-when-creating-domain-with-invalid-pvusb-device.patch
+  58a44771-IOMMU-always-call-teardown-callback.patch
+  58a48ccc-x86-fix-p2m_flush_table-for-non-nested.patch
+  58a59f4b-libxl-correct-xenstore-entry-for-empty-cdrom.patch
+  58a70d94-VMX-fix-VMCS-race-on-cswitch-paths.patch
+  58ac1f3f-VMX-dont-leak-host-syscall-MSRs.patch
+  58b5a2de-x86-correct-Xens-idea-of-its-memory-layout.patch
+  58b6fd42-credit2-always-mark-a-tickled-pCPU-as-tickled.patch
+  58b6fd42-credit2-dont-miss-accounting-during-credit-reset.patch
+  58cbf682-x86-EFI-avoid-overrunning-mb_modules.patch
+  58cf9200-x86-EFI-avoid-IOMMU-faults-on-tail-gap.patch
+  58cf9260-x86-EFI-avoid-Xen-when-looking-for-mod-kexec-pos.patch
+  58cf9277-x86-time-dont-use-vTSC-if-host-guest-freqs-match.patch
+  58d25ea2-xenstore-add-missing-checks-for-allocation-failure.patch
+  58d91365-sched-dont-call-wrong-hook-via-VCPU2OP.patch
+  
CVE-2017-2615-qemut-display-cirrus-oob-access-while-doing-bitblt-copy-backward-mode.patch
+  
CVE-2017-2620-xsa209-qemut-cirrus_bitblt_cputovideo-does-not-check-if-memory-region-safe.patch
+  glibc-2.25-compatibility-fix.patch
+  xs-09-add_change_node-params.patch
+  xs-10-call-add_change_node.patch
+  xs-11-tdb-record-header.patch
+  xs-12-node-gen-count.patch
+  xs-13-read-directory-part-support.patch
+  xs-14-command-array.patch
+  xs-15-command-return-val.patch
+  xs-16-function-static.patch
+  xs-17-arg-parsing.patch
+  xs-18-default-buffer.patch
+  xs-19-handle-alloc-failures.patch
+  xs-20-tdb-version.patch
+  xs-21-empty-tdb-database.patch
+  xs-22-reopen_log-fix.patch
+  xs-23-XS_DEBUG-rename.patch
+  xs-24-xenstored_control.patch
+  xs-25-control-enhance.patch
+  xs-26-log-control.patch
+  xs-27-memory-report.patch
+  xs-28-remove-talloc-report.patch
+  xs-29-define-off_t.patch
+  xsa206-0001-xenstored-apply-a-write-transaction-rate-limit.patch
+  xsa206-0002-xenstored-Log-when-the-write-transaction-rate-limit.patch
+
+-------------------------------------------------------------------
+Wed Apr  5 11:41:52 MDT 2017 - [email protected]
+
+- bsc#1022703 - Xen HVM guest with OVMF hangs with unattached CDRom
+  58a59f4b-libxl-correct-xenstore-entry-for-empty-cdrom.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-xenstore-let-write_node-and-some-callers-return-errn.patch
  0002-xenstore-undo-function-rename.patch
  0003-xenstore-rework-of-transaction-handling.patch
  584806ce-x86emul-correct-PUSHF-POPF.patch
  584fc649-fix-determining-when-domain-creation-is-complete.patch
  58510c06-x86emul-CMPXCHGnB-ignore-prefixes.patch
  58510cac-x86emul-MOVNTI-no-REP-prefixes.patch
  58526ccc-x86emul-64bit-ignore-most-segment-bases-in-align-check.patch
  5853ed37-VT-d-correct-dma_msi_set_affinity.patch
  5853ee07-x86emul-CMPXCHG16B-aligned-operand.patch
  58580060-x86-emul-correct-SYSCALL-eflags-handling.patch
  585aa3c5-x86-force-EFLAGS-IF-on-upon-exit-to-PV.patch
  585aa407-x86-HVM-NULL-check-before-using-VMFUNC-hook.patch
  585bd5fe-x86-emul-correct-VMFUNC-return-value-handling.patch
  586ba81c-x86-cpu-dont-update-this_cpu-for-guest-get_cpu_vendor.patch
  587d04d6-x86-xstate-fix-array-overrun-with-LWP.patch
  587de4a9-x86emul-VEX-B-ignored-in-compat-mode.patch
  5882129d-x86emul-LOCK-check-adjustments.patch
  58821300-x86-segment-attribute-handling.patch
  58873c1f-x86emul-correct-FPU-stub-asm-constraints.patch
  58873c80-x86-hvm-do-not-set-msr_tsc_adjust-on-.patch
  5887888f-credit2-fix-shutdown-suspend-with-cpupools.patch
  5887888f-credit2-never-consider-CPUs-outside-of-pool.patch
  5887888f-credit2-use-the-correct-scratch-cpumask.patch
  5888b1b3-x86-emulate-dont-assume-addr_size-32-implies-protmode.patch
  5899cbd9-EPT-allow-wrcomb-MMIO-mappings-again.patch
  
589b3272-libxl-dont-segfault-when-creating-domain-with-invalid-pvusb-device.patch
  58a44771-IOMMU-always-call-teardown-callback.patch
  58a48ccc-x86-fix-p2m_flush_table-for-non-nested.patch
  58a70d94-VMX-fix-VMCS-race-on-cswitch-paths.patch
  58ac1f3f-VMX-dont-leak-host-syscall-MSRs.patch
  58b5a2de-x86-correct-Xens-idea-of-its-memory-layout.patch
  58b6fd42-credit2-always-mark-a-tickled-pCPU-as-tickled.patch
  58b6fd42-credit2-dont-miss-accounting-during-credit-reset.patch
  58cbf682-x86-EFI-avoid-overrunning-mb_modules.patch
  58cf9200-x86-EFI-avoid-IOMMU-faults-on-tail-gap.patch
  58cf9260-x86-EFI-avoid-Xen-when-looking-for-mod-kexec-pos.patch
  58cf9277-x86-time-dont-use-vTSC-if-host-guest-freqs-match.patch
  58d25ea2-xenstore-add-missing-checks-for-allocation-failure.patch
  58d91365-sched-dont-call-wrong-hook-via-VCPU2OP.patch
  
CVE-2017-2615-qemut-display-cirrus-oob-access-while-doing-bitblt-copy-backward-mode.patch
  
CVE-2017-2620-xsa209-qemut-cirrus_bitblt_cputovideo-does-not-check-if-memory-region-safe.patch
  glibc-2.25-compatibility-fix.patch
  xen-4.8.0-testing-src.tar.bz2
  xs-09-add_change_node-params.patch
  xs-10-call-add_change_node.patch
  xs-11-tdb-record-header.patch
  xs-12-node-gen-count.patch
  xs-13-read-directory-part-support.patch
  xs-14-command-array.patch
  xs-15-command-return-val.patch
  xs-16-function-static.patch
  xs-17-arg-parsing.patch
  xs-18-default-buffer.patch
  xs-19-handle-alloc-failures.patch
  xs-20-tdb-version.patch
  xs-21-empty-tdb-database.patch
  xs-22-reopen_log-fix.patch
  xs-23-XS_DEBUG-rename.patch
  xs-24-xenstored_control.patch
  xs-25-control-enhance.patch
  xs-26-log-control.patch
  xs-27-memory-report.patch
  xs-28-remove-talloc-report.patch
  xs-29-define-off_t.patch
  xsa206-0001-xenstored-apply-a-write-transaction-rate-limit.patch
  xsa206-0002-xenstored-Log-when-the-write-transaction-rate-limit.patch

New:
----
  aarch64-maybe-uninitialized.patch
  gcc7-error-xenpmd.patch
  gcc7-mini-os.patch
  gcc7-xen.patch
  ioemu-devicemodel-include.patch
  xen-4.9.0-testing-src.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.220835716 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.228834584 +0200
@@ -18,8 +18,8 @@
 
 Name:           xen
 ExclusiveArch:  %ix86 x86_64 %arm aarch64
-%define changeset 34159
-%define xen_build_dir xen-4.8.0-testing
+%define changeset 35349
+%define xen_build_dir xen-4.9.0-testing
 #
 %define with_kmp 0
 %define with_gdbsx 0
@@ -135,6 +135,8 @@
 BuildRequires:  acpica
 %endif
 %ifarch x86_64
+BuildRequires:  gcc-32bit
+BuildRequires:  gcc-c++
 %if %{?with_gcc47}0
 BuildRequires:  gcc47
 %endif
@@ -143,6 +145,7 @@
 %endif
 BuildRequires:  glibc-32bit
 BuildRequires:  glibc-devel-32bit
+BuildRequires:  makeinfo
 %endif
 %if %{?with_kmp}0
 BuildRequires:  kernel-source
@@ -156,12 +159,12 @@
 %endif
 %endif
 
-Version:        4.8.0_06
+Version:        4.9.0_04
 Release:        0
 Summary:        Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
 License:        GPL-2.0
 Group:          System/Kernel
-Source0:        xen-4.8.0-testing-src.tar.bz2
+Source0:        xen-4.9.0-testing-src.tar.bz2
 Source1:        stubdom.tar.bz2
 Source2:        qemu-xen-traditional-dir-remote.tar.bz2
 Source5:        ipxe.tar.bz2
@@ -194,42 +197,6 @@
 # For xen-libs
 Source99:       baselibs.conf
 # Upstream patches
-Patch1:         584806ce-x86emul-correct-PUSHF-POPF.patch
-Patch2:         584fc649-fix-determining-when-domain-creation-is-complete.patch
-Patch3:         58510c06-x86emul-CMPXCHGnB-ignore-prefixes.patch
-Patch4:         58510cac-x86emul-MOVNTI-no-REP-prefixes.patch
-Patch5:         
58526ccc-x86emul-64bit-ignore-most-segment-bases-in-align-check.patch
-Patch6:         5853ed37-VT-d-correct-dma_msi_set_affinity.patch
-Patch7:         5853ee07-x86emul-CMPXCHG16B-aligned-operand.patch
-Patch8:         58580060-x86-emul-correct-SYSCALL-eflags-handling.patch
-Patch9:         585aa3c5-x86-force-EFLAGS-IF-on-upon-exit-to-PV.patch
-Patch10:        585aa407-x86-HVM-NULL-check-before-using-VMFUNC-hook.patch
-Patch11:        585bd5fe-x86-emul-correct-VMFUNC-return-value-handling.patch
-Patch12:        
586ba81c-x86-cpu-dont-update-this_cpu-for-guest-get_cpu_vendor.patch
-Patch13:        587d04d6-x86-xstate-fix-array-overrun-with-LWP.patch
-Patch14:        587de4a9-x86emul-VEX-B-ignored-in-compat-mode.patch
-Patch15:        5882129d-x86emul-LOCK-check-adjustments.patch
-Patch16:        58821300-x86-segment-attribute-handling.patch
-Patch17:        58873c1f-x86emul-correct-FPU-stub-asm-constraints.patch
-Patch18:        58873c80-x86-hvm-do-not-set-msr_tsc_adjust-on-.patch
-Patch19:        5887888f-credit2-use-the-correct-scratch-cpumask.patch
-Patch20:        5887888f-credit2-never-consider-CPUs-outside-of-pool.patch
-Patch21:        5887888f-credit2-fix-shutdown-suspend-with-cpupools.patch
-Patch22:        
5888b1b3-x86-emulate-dont-assume-addr_size-32-implies-protmode.patch
-Patch23:        5899cbd9-EPT-allow-wrcomb-MMIO-mappings-again.patch
-Patch24:        
589b3272-libxl-dont-segfault-when-creating-domain-with-invalid-pvusb-device.patch
-Patch25:        58a44771-IOMMU-always-call-teardown-callback.patch
-Patch26:        58a48ccc-x86-fix-p2m_flush_table-for-non-nested.patch
-Patch27:        58a70d94-VMX-fix-VMCS-race-on-cswitch-paths.patch
-Patch28:        58ac1f3f-VMX-dont-leak-host-syscall-MSRs.patch
-Patch29:        58b5a2de-x86-correct-Xens-idea-of-its-memory-layout.patch
-Patch30:        58b6fd42-credit2-always-mark-a-tickled-pCPU-as-tickled.patch
-Patch31:        58b6fd42-credit2-dont-miss-accounting-during-credit-reset.patch
-Patch32:        58cbf682-x86-EFI-avoid-overrunning-mb_modules.patch
-Patch33:        58cf9200-x86-EFI-avoid-IOMMU-faults-on-tail-gap.patch
-Patch34:        58cf9260-x86-EFI-avoid-Xen-when-looking-for-mod-kexec-pos.patch
-Patch35:        58cf9277-x86-time-dont-use-vTSC-if-host-guest-freqs-match.patch
-Patch36:        58d91365-sched-dont-call-wrong-hook-via-VCPU2OP.patch
 # Upstream qemu-traditional patches
 Patch250:       VNC-Support-for-ExtendedKeyEvent-client-message.patch
 Patch251:       0001-net-move-the-tap-buffer-into-TAPState.patch
@@ -269,9 +236,7 @@
 Patch285:       
CVE-2016-8669-qemut-char-divide-by-zero-error-in-serial_update_parameters.patch
 Patch286:       
CVE-2016-8910-qemut-net-rtl8139-infinite-loop-while-transmit-in-Cplus-mode.patch
 Patch287:       
CVE-2016-9921-qemut-display-cirrus_vga-divide-by-zero-in-cirrus_do_copy.patch
-Patch288:       
CVE-2017-2615-qemut-display-cirrus-oob-access-while-doing-bitblt-copy-backward-mode.patch
-Patch289:       
CVE-2017-2620-xsa209-qemut-cirrus_bitblt_cputovideo-does-not-check-if-memory-region-safe.patch
-Patch290:       
CVE-2017-6505-qemut-usb-an-infinite-loop-issue-in-ohci_service_ed_list.patch
+Patch288:       
CVE-2017-6505-qemut-usb-an-infinite-loop-issue-in-ohci_service_ed_list.patch
 # qemu-traditional patches that are not upstream
 Patch350:       blktap.patch
 Patch351:       cdrom-removable.patch
@@ -298,6 +263,7 @@
 Patch381:       ioemu-disable-scsi.patch
 Patch382:       ioemu-disable-emulated-ide-if-pv.patch
 Patch383:       xenpaging.qemu.flush-cache.patch
+Patch384:       ioemu-devicemodel-include.patch
 # Our platform specific patches
 Patch400:       xen-destdir.patch
 Patch401:       vif-bridge-no-iptables.patch
@@ -310,7 +276,9 @@
 Patch421:       xenpaging.doc.patch
 Patch422:       stubdom-have-iovec.patch
 Patch423:       vif-route.patch
-Patch424:       glibc-2.25-compatibility-fix.patch
+Patch424:       gcc7-error-xenpmd.patch
+Patch425:       gcc7-mini-os.patch
+Patch426:       gcc7-xen.patch
 # Other bug fixes or features
 Patch451:       xenconsole-no-multiple-connections.patch
 Patch452:       hibernate.patch
@@ -320,40 +288,13 @@
 Patch456:       pygrub-boot-legacy-sles.patch
 Patch457:       pygrub-handle-one-line-menu-entries.patch
 Patch458:       aarch64-rename-PSR_MODE_ELxx-to-match-linux-headers.patch
-Patch459:       CVE-2014-0222-blktap-qcow1-validate-l2-table-size.patch
-Patch460:       libxl.pvscsi.patch
-Patch461:       xen.libxl.dmmd.patch
-Patch462:       libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch
-Patch463:       blktap2-no-uninit.patch
-Patch464:       libxl.set-migration-constraints-from-cmdline.patch
-# Xenstored
-Patch509:       xs-09-add_change_node-params.patch
-Patch510:       xs-10-call-add_change_node.patch
-Patch511:       xs-11-tdb-record-header.patch
-Patch512:       xs-12-node-gen-count.patch
-Patch513:       xs-13-read-directory-part-support.patch
-Patch514:       xs-14-command-array.patch
-Patch515:       xs-15-command-return-val.patch
-Patch516:       xs-16-function-static.patch
-Patch517:       xs-17-arg-parsing.patch
-Patch518:       xs-18-default-buffer.patch
-Patch519:       xs-19-handle-alloc-failures.patch
-Patch520:       xs-20-tdb-version.patch
-Patch521:       xs-21-empty-tdb-database.patch
-Patch522:       xs-22-reopen_log-fix.patch
-Patch523:       xs-23-XS_DEBUG-rename.patch
-Patch524:       xs-24-xenstored_control.patch
-Patch525:       xs-25-control-enhance.patch
-Patch526:       xs-26-log-control.patch
-Patch527:       xs-27-memory-report.patch
-Patch528:       xs-28-remove-talloc-report.patch
-Patch529:       xs-29-define-off_t.patch
-Patch530:       
xsa206-0001-xenstored-apply-a-write-transaction-rate-limit.patch
-Patch531:       
xsa206-0002-xenstored-Log-when-the-write-transaction-rate-limit.patch
-Patch532:       
58d25ea2-xenstore-add-missing-checks-for-allocation-failure.patch
-Patch533:       0001-xenstore-let-write_node-and-some-callers-return-errn.patch
-Patch534:       0002-xenstore-undo-function-rename.patch
-Patch535:       0003-xenstore-rework-of-transaction-handling.patch
+Patch459:       aarch64-maybe-uninitialized.patch
+Patch460:       CVE-2014-0222-blktap-qcow1-validate-l2-table-size.patch
+Patch461:       libxl.pvscsi.patch
+Patch462:       xen.libxl.dmmd.patch
+Patch463:       libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch
+Patch464:       blktap2-no-uninit.patch
+Patch465:       libxl.set-migration-constraints-from-cmdline.patch
 # Hypervisor and PV driver Patches
 Patch601:       x86-ioapic-ack-default.patch
 Patch602:       x86-cpufreq-report.patch
@@ -576,42 +517,6 @@
 %prep
 %setup -q -n %xen_build_dir -a 1 -a 2 -a 5 -a 6 -a 57
 # Upstream patches
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
-%patch29 -p1
-%patch30 -p1
-%patch31 -p1
-%patch32 -p1
-%patch33 -p1
-%patch34 -p1
-%patch35 -p1
-%patch36 -p1
 # Upstream qemu patches
 %patch250 -p1
 %patch251 -p1
@@ -652,8 +557,6 @@
 %patch286 -p1
 %patch287 -p1
 %patch288 -p1
-%patch289 -p1
-%patch290 -p1
 # Qemu traditional
 %patch350 -p1
 %patch351 -p1
@@ -680,6 +583,7 @@
 %patch381 -p1
 %patch382 -p1
 %patch383 -p1
+%patch384 -p1
 # Our platform specific patches
 %patch400 -p1
 %patch401 -p1
@@ -693,6 +597,8 @@
 %patch422 -p1
 %patch423 -p1
 %patch424 -p1
+%patch425 -p1
+%patch426 -p1
 # Other bug fixes or features
 %patch451 -p1
 %patch452 -p1
@@ -709,34 +615,7 @@
 %patch462 -p1
 %patch463 -p1
 %patch464 -p1
-# Xenstored
-%patch509 -p1
-%patch510 -p1
-%patch511 -p1
-%patch512 -p1
-%patch513 -p1
-%patch514 -p1
-%patch515 -p1
-%patch516 -p1
-%patch517 -p1
-%patch518 -p1
-%patch519 -p1
-%patch520 -p1
-%patch521 -p1
-%patch522 -p1
-%patch523 -p1
-%patch524 -p1
-%patch525 -p1
-%patch526 -p1
-%patch527 -p1
-%patch528 -p1
-%patch529 -p1
-%patch530 -p1
-%patch531 -p1
-%patch532 -p1
-%patch533 -p1
-%patch534 -p1
-%patch535 -p1
+%patch465 -p1
 # Hypervisor and PV driver Patches
 %patch601 -p1
 %patch602 -p1
@@ -830,7 +709,6 @@
         --libdir=%{_libdir} \
         --libexecdir=%{_libexecdir} \
         --datadir=%{_datadir} \
-        --with-xen-dumpdir=%{_sharedstatedir}/xen/dump \
         --mandir=%{_mandir} \
         --includedir=%{_includedir} \
         --docdir=%{_defaultdocdir}/xen \
@@ -1037,9 +915,7 @@
 for name in COPYING %SOURCE10 %SOURCE11 %SOURCE12; do
     install -m 644 $name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/
 done
-for name in vtpm.txt crashdb.txt \
-    xenpaging.txt xl-disk-configuration.txt pci-device-reservations.txt \
-    xl-network-configuration.markdown xl-numa-placement.markdown \
+for name in vtpm-platforms.txt crashdb.txt xenpaging.txt \
     xen-command-line.markdown xenstore-paths.markdown; do
     install -m 644 docs/misc/$name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc/
 done
@@ -1331,11 +1207,16 @@
 %{_mandir}/man1/xenstore-chmod.1.gz
 %{_mandir}/man1/xenstore-ls.1.gz
 %{_mandir}/man1/xenstore.1.gz
+%{_mandir}/man1/xen-list.1.gz
 %{_mandir}/man5/xl.cfg.5.gz
 %{_mandir}/man5/xl.conf.5.gz
 %{_mandir}/man5/xlcpupool.cfg.5.gz
+%{_mandir}/man5/xl-disk-configuration.5.gz
+%{_mandir}/man7/xen-pci-device-reservations.7.gz
+%{_mandir}/man7/xen-tscmode.7.gz
+%{_mandir}/man7/xen-vtpm.7.gz
+%{_mandir}/man7/xen-vtpmmgr.7.gz
 %{_mandir}/man8/*.8.gz
-%{_mandir}/man1/xen-list.1.gz
 
 %if %{with xen_oxenstored}
 /usr/sbin/oxenstored
@@ -1419,6 +1300,18 @@
 /usr/include/*
 %{_datadir}/pkgconfig/xenlight.pc
 %{_datadir}/pkgconfig/xlutil.pc
+%{_datadir}/pkgconfig/xenblktapctl.pc
+%{_datadir}/pkgconfig/xencall.pc
+%{_datadir}/pkgconfig/xencontrol.pc
+%{_datadir}/pkgconfig/xendevicemodel.pc
+%{_datadir}/pkgconfig/xenevtchn.pc
+%{_datadir}/pkgconfig/xenforeignmemory.pc
+%{_datadir}/pkgconfig/xengnttab.pc
+%{_datadir}/pkgconfig/xenguest.pc
+%{_datadir}/pkgconfig/xenstat.pc
+%{_datadir}/pkgconfig/xenstore.pc
+%{_datadir}/pkgconfig/xentoollog.pc
+%{_datadir}/pkgconfig/xenvchan.pc
 
 %if %{?with_dom0_support}0
 

++++++ CVE-2015-8504-qemut-vnc-avoid-floating-point-exception.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.348817621 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.348817621 +0200
@@ -1,10 +1,10 @@
 References: bsc#958493 CVE-2015-8504
 
-Index: xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
 ===================================================================
---- xen-4.6.1-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
-+++ xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
-@@ -1644,15 +1644,15 @@ static void set_pixel_format(VncState *v
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+@@ -1610,15 +1610,15 @@ static void set_pixel_format(VncState *v
      }
  
      vs->clientds = vs->serverds;

++++++ 
CVE-2016-9921-qemut-display-cirrus_vga-divide-by-zero-in-cirrus_do_copy.patch 
++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.412808573 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.412808573 +0200
@@ -15,10 +15,10 @@
 Message-id: [email protected]
 Signed-off-by: Gerd Hoffmann <[email protected]>
 
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c
 ===================================================================
---- 
xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c
+--- 
xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c
 @@ -306,6 +306,9 @@ static void cirrus_vga_mem_writew(void *
  static bool blit_region_is_unsafe(struct CirrusVGAState *s,
                                    int32_t pitch, int32_t addr)
@@ -28,8 +28,8 @@
 +    }
      if (pitch < 0) {
          int64_t min = addr
-             + ((int64_t)s->cirrus_blt_height-1) * pitch;
-@@ -752,7 +755,7 @@ static int cirrus_bitblt_videotovideo_pa
+             + ((int64_t)s->cirrus_blt_height - 1) * pitch
+@@ -751,7 +754,7 @@ static int cirrus_bitblt_videotovideo_pa
                                              s->cirrus_addr_mask));
  }
  
@@ -38,7 +38,7 @@
  {
      int sx = 0, sy = 0;
      int dx = 0, dy = 0;
-@@ -765,6 +768,9 @@ static void cirrus_do_copy(CirrusVGAStat
+@@ -764,6 +767,9 @@ static void cirrus_do_copy(CirrusVGAStat
          int width, height;
  
          depth = s->get_bpp((VGAState *)s) / 8;
@@ -48,7 +48,7 @@
          s->get_resolution((VGAState *)s, &width, &height);
  
          /* extra x, y */
-@@ -818,6 +824,8 @@ static void cirrus_do_copy(CirrusVGAStat
+@@ -812,6 +818,8 @@ static void cirrus_do_copy(CirrusVGAStat
      cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
                                s->cirrus_blt_dstpitch, s->cirrus_blt_width,
                                s->cirrus_blt_height);
@@ -57,7 +57,7 @@
  }
  
  static int cirrus_bitblt_videotovideo_copy(CirrusVGAState * s)
-@@ -825,11 +833,9 @@ static int cirrus_bitblt_videotovideo_co
+@@ -819,11 +827,9 @@ static int cirrus_bitblt_videotovideo_co
      if (blit_is_unsafe(s))
          return 0;
  

++++++ VNC-Support-for-ExtendedKeyEvent-client-message.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.448803485 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.448803485 +0200
@@ -20,11 +20,11 @@
  vnc.c |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
  1 files changed, 50 insertions(+), 9 deletions(-)
 
-Index: xen-4.7.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
 ===================================================================
---- xen-4.7.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
-+++ xen-4.7.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
-@@ -1285,35 +1285,22 @@ static void press_key_altgr_down(VncStat
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+@@ -1255,35 +1255,22 @@ static void press_key_altgr_down(VncStat
      }
  }
  
@@ -62,7 +62,7 @@
      /* QEMU console switch */
      switch(keycode) {
      case 0x2a:                          /* Left Shift */
-@@ -1445,7 +1432,25 @@ static void do_key_event(VncState *vs, i
+@@ -1415,7 +1402,25 @@ static void do_key_event(VncState *vs, i
  
  static void key_event(VncState *vs, int down, uint32_t sym)
  {
@@ -89,7 +89,7 @@
  }
  
  static void framebuffer_set_updated(VncState *vs, int x, int y, int w, int h)
-@@ -1534,6 +1539,15 @@ static void framebuffer_update_request(V
+@@ -1504,6 +1509,15 @@ static void framebuffer_update_request(V
      qemu_mod_timer(vs->timer, qemu_get_clock(rt_clock));
  }
  
@@ -105,7 +105,7 @@
  static void set_encodings(VncState *vs, int32_t *encodings, size_t 
n_encodings)
  {
      int i;
-@@ -1562,6 +1576,9 @@ static void set_encodings(VncState *vs,
+@@ -1528,6 +1542,9 @@ static void set_encodings(VncState *vs,
        case -257:
            vs->has_pointer_type_change = 1;
            break;
@@ -115,7 +115,7 @@
          case 0x574D5669:
              vs->has_WMVi = 1;
        default:
-@@ -1790,6 +1807,24 @@ static int protocol_client_msg(VncState
+@@ -1756,6 +1773,24 @@ static int protocol_client_msg(VncState
  
        client_cut_text(vs, read_u32(data, 4), (char *)(data + 8));
        break;
@@ -140,7 +140,7 @@
      default:
        printf("Msg: %d\n", data[0]);
        vnc_client_error(vs);
-@@ -2486,10 +2521,11 @@ void vnc_display_init(DisplayState *ds)
+@@ -2451,10 +2486,11 @@ void vnc_display_init(DisplayState *ds)
  
      vs->ds = ds;
  

++++++ aarch64-maybe-uninitialized.patch ++++++
--- xen-4.9.0-testing/tools/libxl/libxl_arm_acpi.c.orig 2017-04-28 
09:40:33.038730388 -0600
+++ xen-4.9.0-testing/tools/libxl/libxl_arm_acpi.c      2017-04-28 
09:41:20.332937907 -0600
@@ -98,7 +98,7 @@ int libxl__get_acpi_size(libxl__gc *gc,
                          const libxl_domain_build_info *info,
                          uint64_t *out)
 {
-    uint64_t size;
+    uint64_t size = 0;
     int rc = 0;
 
 
@@ -123,7 +123,7 @@ static int libxl__allocate_acpi_tables(l
                                        struct acpitable acpitables[])
 {
     int rc;
-    size_t size;
+    size_t size = 0;
 
     acpitables[RSDP].addr = GUEST_ACPI_BASE;
     acpitables[RSDP].size = sizeof(struct acpi_table_rsdp);
++++++ altgr_2.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.472800091 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.476799526 +0200
@@ -29,11 +29,11 @@
 
 Signed-off by Chunyan Liu ([email protected])
 
-Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
 ===================================================================
---- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
-+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
-@@ -1440,6 +1440,9 @@ static void key_event(VncState *vs, int
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+@@ -1410,6 +1410,9 @@ static void key_event(VncState *vs, int
      int keycode;
      int shift = 0;
  

++++++ bdrv_default_rwflag.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.504795568 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.504795568 +0200
@@ -1,11 +1,11 @@
 Subject: modify default read/write flag in bdrv_init.
 Signed-off by Chunyan Liu <[email protected]>
 
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
-@@ -2626,6 +2626,8 @@ int drive_init(struct drive_opt *arg, in
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+@@ -2631,6 +2631,8 @@ int drive_init(struct drive_opt *arg, in
      strncpy(drives_table[nb_drives].serial, serial, sizeof(serial));
      nb_drives++;
  
@@ -14,7 +14,7 @@
      switch(type) {
      case IF_IDE:
      case IF_XEN:
-@@ -2639,6 +2641,7 @@ int drive_init(struct drive_opt *arg, in
+@@ -2644,6 +2646,7 @@ int drive_init(struct drive_opt *arg, in
            break;
        case MEDIA_CDROM:
              bdrv_set_type_hint(bdrv, BDRV_TYPE_CDROM);
@@ -22,7 +22,7 @@
            break;
        }
          break;
-@@ -2659,7 +2662,6 @@ int drive_init(struct drive_opt *arg, in
+@@ -2664,7 +2667,6 @@ int drive_init(struct drive_opt *arg, in
      }
      if (!file[0])
          return -2;

++++++ capslock_enable.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.592783128 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.592783128 +0200
@@ -1,8 +1,8 @@
-Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
 ===================================================================
---- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
-+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
-@@ -1329,6 +1329,11 @@ static void do_key_event(VncState *vs, i
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+@@ -1299,6 +1299,11 @@ static void do_key_event(VncState *vs, i
          }
          break;
      case 0x3a:                        /* CapsLock */

++++++ gcc7-error-xenpmd.patch ++++++
gcc  -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes 
-Wdeclaration-after-statement -Wno-unused-but-set-variable 
-Wno-unused-local-typedefs   -g3 -O0 -fno-omit-frame-pointer 
-D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -MMD -MF 
.xenpmd.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -fmessage-length=0 
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong 
-funwind-tables -fasynchronous-unwind-tables -g -Werror 
-I/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/tools/xenpmd/../../tools/xenstore/include
 
-I/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/tools/xenpmd/../../tools/include
  -c -o xenpmd.o xenpmd.c
xenpmd.c: In function 'get_next_battery_file':
xenpmd.c:90:36: error: '%s' directive output may be truncated writing up to 255 
bytes into a region of size 19 [-Werror=format-truncation=]
     #define BATTERY_INFO_FILE_PATH "/tmp/battery/%s/info"
                                    ^
xenpmd.c:113:37: note: in expansion of macro 'BATTERY_INFO_FILE_PATH'
             snprintf(file_name, 32, BATTERY_INFO_FILE_PATH,
                                     ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:939:0,
                 from xenpmd.c:35:
/usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' output 
between 19 and 274 bytes into a destination of size 32
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xenpmd.c:91:37: error: '%s' directive output may be truncated writing up to 255 
bytes into a region of size 19 [-Werror=format-truncation=]
     #define BATTERY_STATE_FILE_PATH "/tmp/battery/%s/state"
                                     ^
xenpmd.c:116:37: note: in expansion of macro 'BATTERY_STATE_FILE_PATH'
             snprintf(file_name, 32, BATTERY_STATE_FILE_PATH,
                                     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:939:0,
                 from xenpmd.c:35:
/usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' output 
between 20 and 275 bytes into a destination of size 32
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Index: xen-4.9.0-testing/tools/xenpmd/xenpmd.c
===================================================================
--- xen-4.9.0-testing.orig/tools/xenpmd/xenpmd.c
+++ xen-4.9.0-testing/tools/xenpmd/xenpmd.c
@@ -100,7 +100,7 @@ FILE *get_next_battery_file(DIR *battery
 {
     FILE *file = 0;
     struct dirent *dir_entries;
-    char file_name[32];
+    char file_name[276];
     
     do 
     {
@@ -110,10 +110,10 @@ FILE *get_next_battery_file(DIR *battery
         if ( strlen(dir_entries->d_name) < 4 )
             continue;
         if ( battery_info_type == BIF ) 
-            snprintf(file_name, 32, BATTERY_INFO_FILE_PATH,
+            snprintf(file_name, 276, BATTERY_INFO_FILE_PATH,
                      dir_entries->d_name);
         else 
-            snprintf(file_name, 32, BATTERY_STATE_FILE_PATH,
+            snprintf(file_name, 276, BATTERY_STATE_FILE_PATH,
                      dir_entries->d_name);
         file = fopen(file_name, "r");
     } while ( !file );
++++++ gcc7-mini-os.patch ++++++
ld -nostdlib 
-L/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/cross-root-i686/i686-xen-elf/lib
  -m elf_i386 -T 
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/arch/x86/minios-x86_32.lds
  
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os.o
  -o 
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os.o:
 In function `_strtoll_r':
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/newlib-x86_32/i686-xen-elf/newlib/libc/stdlib/../../../../../newlib-1.16.0/newlib/libc/stdlib/strtoll_r.c:110:
 undefined reference to `__udivmoddi4'
make[2]: *** [Makefile:167: 
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom/mini-os-x86_32-grub/mini-os]
 Error 1
make[2]: Leaving directory 
'/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/extras/mini-os-remote'
make[1]: *** [Makefile:566: pv-grub] Error 2
make[1]: Leaving directory 
'/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/stubdom'
make: *** [Makefile:106: install-stubdom] Error 2

GCC 6.x used to generate __umoddi3 and __udivdi3, now __udivmoddi4 is generated.

Index: xen-4.9.0-testing/extras/mini-os-remote/Makefile
===================================================================
--- xen-4.9.0-testing.orig/extras/mini-os-remote/Makefile
+++ xen-4.9.0-testing/extras/mini-os-remote/Makefile
@@ -162,7 +162,11 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  ar
        $(CPP) $(ASFLAGS) -P $< -o $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib 
$(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
-       $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) 
-o [email protected]
+       if [ "$(MINIOS_TARGET_ARCH)" = "x86_32" -a -f 
/usr/lib64/gcc/x86_64-suse-linux/7/32/libgcc.a ] ; then \
+               $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) 
-L/usr/lib64/gcc/x86_64-suse-linux/7/32 $(LDLIBS) -lgcc -o [email protected] ; \
+       else \
+               $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) 
$(LDLIBS) -o [email protected] ; \
+       fi
        $(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start [email protected] [email protected]
        $(LD) $(LDFLAGS) $(LDFLAGS_FINAL) [email protected] $(EXTRA_OBJS) -o $@
        gzip -f -9 -c $@ >[email protected]
++++++ gcc7-xen.patch ++++++
In file included from 
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/asm/uaccess.h:11:0,
                 from 
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/asm/guest_access.h:10,
                 from 
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/xen/guest_access.h:10,
                 from compat.c:1:
runtime.c: In function 'efi_compat_get_info':
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/asm/x86_64/uaccess.h:58:37:
 error: '*' in boolean context, suggest '&&' instead 
[-Werror=int-in-bool-context]
      compat_access_ok(addr, (count) * (size)))
                                     ^
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/asm/x86_64/uaccess.h:48:22:
 note: in definition of macro '__compat_addr_ok'
     ((unsigned long)(addr) < HYPERVISOR_COMPAT_VIRT_START(d))
                      ^~~~
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/asm/x86_64/uaccess.h:54:5:
 note: in expansion of macro '__compat_access_ok'
     __compat_access_ok(current->domain, addr, size)
     ^~~~~~~~~~~~~~~~~~
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/asm/x86_64/uaccess.h:58:6:
 note: in expansion of macro 'compat_access_ok'
      compat_access_ok(addr, (count) * (size)))
      ^~~~~~~~~~~~~~~~
/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/include/xen/compat.h:95:5: 
note: in expansion of macro 'compat_array_access_ok'
     compat_array_access_ok((void *)(full_ptr_t)(hnd).c, (nr),        \
     ^~~~~~~~~~~~~~~~~~~~~~
compat.c:19:27: note: in expansion of macro 'compat_handle_okay'
 #define guest_handle_okay compat_handle_okay
                           ^~~~~~~~~~~~~~~~~~
runtime.c:229:15: note: in expansion of macro 'guest_handle_okay'
         if ( !guest_handle_okay(guest_handle_cast(info->vendor.name,
               ^~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [/home/abuild/rpmbuild/BUILD/xen-4.9.0-testing/xen/Rules.mk:174: 
compat.o] Error 1


--- xen-4.9.0-testing/xen/Rules.mk.orig 2017-05-18 16:00:55.717033728 -0600
+++ xen-4.9.0-testing/xen/Rules.mk      2017-05-18 16:01:22.944001605 -0600
@@ -47,7 +47,7 @@ CFLAGS += -O2 -fomit-frame-pointer
 endif
 
 CFLAGS += -nostdinc -fno-builtin -fno-common
-CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
+CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith -Wno-int-in-bool-context
 CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
 CFLAGS += '-D__OBJECT_FILE__="$@"'
 
++++++ ioemu-devicemodel-include.patch ++++++
Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
===================================================================
--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
+++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
@@ -6,6 +6,7 @@ CPPFLAGS+= -DXC_WANT_COMPAT_DEVICEMODEL_
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/call/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/foreignmemory/include
+CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/devicemodel/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
Index: xen-4.9.0-testing/extras/mini-os-remote/include/linux/types.h
===================================================================
--- xen-4.9.0-testing.orig/extras/mini-os-remote/include/linux/types.h
+++ xen-4.9.0-testing/extras/mini-os-remote/include/linux/types.h
@@ -2,4 +2,5 @@
 #define _LINUX_TYPES_H_
 #include <mini-os/types.h>
 typedef uint64_t __u64;
+typedef uint16_t __u16;
 #endif /* _LINUX_TYPES_H_ */
++++++ ioemu-disable-emulated-ide-if-pv.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.696768426 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.700767861 +0200
@@ -1,7 +1,7 @@
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
 @@ -1,6 +1,8 @@
  #ifndef QEMU_XEN_H
  #define QEMU_XEN_H
@@ -20,11 +20,11 @@
  int xenstore_parse_disable_pf_config(void);
  int xenstore_fd(void);
  void xenstore_process_event(void *opaque);
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
-@@ -5907,9 +5907,9 @@ int main(int argc, char **argv, char **e
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+@@ -5912,9 +5912,9 @@ int main(int argc, char **argv, char **e
          if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s)))
              fprintf(stderr,"Can not read our own domid: %s\n", msg);
          else
@@ -36,10 +36,10 @@
  #endif /* CONFIG_STUBDOM */
      }
  
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 @@ -445,7 +445,7 @@ void xenstore_init(void)
      }
  }

++++++ ioemu-hvm-pv-support.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.712766164 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.712766164 +0200
@@ -2,24 +2,24 @@
  tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c |   46 
++++++++++++++++
  1 file changed, 46 insertions(+)
 
-Index: xen-4.7.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
 ===================================================================
---- xen-4.7.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
-+++ xen-4.7.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
-@@ -2,6 +2,9 @@ CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/tool
- CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/evtchn/include
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
+@@ -3,6 +3,9 @@ CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/evtc
  CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/gnttab/include
  CPPFLAGS+= -DXC_WANT_COMPAT_MAP_FOREIGN_API
+ CPPFLAGS+= -DXC_WANT_COMPAT_DEVICEMODEL_API
 +CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
 +CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/call/include
 +CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/foreignmemory/include
  CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include
  CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include
  CPPFLAGS+= -I$(XEN_ROOT)/tools/include
-Index: 
xen-4.7.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+Index: 
xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
 ===================================================================
---- 
xen-4.7.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
-+++ xen-4.7.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+--- 
xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
 @@ -30,6 +30,8 @@
  #include "qemu-xen.h"
  #include "net.h"

++++++ ioemu-vnc-resize.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.724764468 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.728763902 +0200
@@ -1,8 +1,8 @@
-Index: xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
 ===================================================================
---- xen-4.6.1-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
-+++ xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
-@@ -1761,6 +1761,25 @@ static int protocol_client_msg(VncState
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
+@@ -1727,6 +1727,25 @@ static int protocol_client_msg(VncState
        }
  
        set_encodings(vs, (int32_t *)(data + 4), limit);

++++++ ioemu-watchdog-linkage.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.744761641 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.744761641 +0200
@@ -7,10 +7,10 @@
 Signed-off-by: Markus Armbruster <[email protected]>
 Signed-off-by: Anthony Liguori <[email protected]>
 
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
 @@ -26,6 +26,16 @@
  #include "sysemu.h"
  #include "hw/watchdog.h"
@@ -28,10 +28,10 @@
  static LIST_HEAD(watchdog_list, WatchdogTimerModel) watchdog_list;
  
  void watchdog_add_model(WatchdogTimerModel *model)
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
 @@ -27,13 +27,6 @@
  extern void wdt_i6300esb_init(void);
  extern void wdt_ib700_init(void);
@@ -57,11 +57,11 @@
  /* in hw/watchdog.c */
  extern int select_watchdog(const char *p);
  extern int select_watchdog_action(const char *action);
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
-@@ -250,8 +250,6 @@ int no_shutdown = 0;
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+@@ -251,8 +251,6 @@ int no_shutdown = 0;
  int cursor_hide = 1;
  int graphic_rotate = 0;
  int daemonize = 0;

++++++ ioemu-watchdog-support.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.756759944 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.756759944 +0200
@@ -10,10 +10,10 @@
 Signed-off-by: Richard W.M. Jones <[email protected]>
 Signed-off-by: Anthony Liguori <[email protected]>
 
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile.target
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile.target
 ===================================================================
---- 
xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile.target
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile.target
+--- 
xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile.target
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile.target
 @@ -580,6 +580,10 @@ OBJS += e1000.o
  # Serial mouse
  OBJS += msmouse.o
@@ -25,10 +25,10 @@
  ifeq ($(TARGET_BASE_ARCH), i386)
  # Hardware support
  ifdef CONFIG_AUDIO
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pc.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pc.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/pc.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pc.c
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/pc.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pc.c
 @@ -41,6 +41,7 @@
  #include "virtio-balloon.h"
  #include "virtio-console.h"
@@ -46,10 +46,10 @@
      for(i = 0; i < nb_nics; i++) {
          NICInfo *nd = &nd_table[i];
  
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.c
 @@ -0,0 +1,136 @@
 +/*
 + * Virtual hardware watchdog.
@@ -187,10 +187,10 @@
 +    wdt_ib700_init();
 +    wdt_i6300esb_init();
 +}
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/watchdog.h
 @@ -0,0 +1,65 @@
 +/*
 + * Virtual hardware watchdog.
@@ -257,10 +257,10 @@
 +extern void register_watchdogs(void);
 +
 +#endif /* QEMU_WATCHDOG_H */
-Index: 
xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_i6300esb.c
+Index: 
xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_i6300esb.c
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_i6300esb.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_i6300esb.c
 @@ -0,0 +1,470 @@
 +/*
 + * Virtual hardware watchdog.
@@ -732,10 +732,10 @@
 +{
 +    watchdog_add_model(&model);
 +}
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_ib700.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_ib700.c
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_ib700.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/hw/wdt_ib700.c
 @@ -0,0 +1,112 @@
 +/*
 + * Virtual hardware watchdog.
@@ -849,10 +849,10 @@
 +    watchdog_add_model(&model);
 +    timer = qemu_new_timer(vm_clock, ib700_timer_expired, NULL);
 +}
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/monitor.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/monitor.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/monitor.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/monitor.c
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/monitor.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/monitor.c
 @@ -26,6 +26,7 @@
  #include "hw/pcmcia.h"
  #include "hw/pc.h"
@@ -884,10 +884,10 @@
      { "cpu_set", "is", do_cpu_set_nr,
        "cpu [online|offline]", "change cpu state" },
      { NULL, NULL, },
-Index: xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
-+++ xen-4.8.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
 @@ -30,6 +30,7 @@
  #include "hw/isa.h"
  #include "hw/baum.h"
@@ -896,7 +896,7 @@
  #include "net.h"
  #include "console.h"
  #include "sysemu.h"
-@@ -249,6 +250,8 @@ int no_shutdown = 0;
+@@ -250,6 +251,8 @@ int no_shutdown = 0;
  int cursor_hide = 1;
  int graphic_rotate = 0;
  int daemonize = 0;
@@ -905,7 +905,7 @@
  const char *option_rom[MAX_OPTION_ROMS];
  int nb_option_roms;
  int semihosting_enabled = 0;
-@@ -4222,6 +4225,10 @@ static void help(int exitcode)
+@@ -4227,6 +4230,10 @@ static void help(int exitcode)
             "-startdate      select initial date of the clock\n"
             "-icount [N|auto]\n"
             "                enable virtual instruction counter with 2^N clock 
ticks per instruction\n"
@@ -916,7 +916,7 @@
             "-echr chr       set terminal escape character instead of ctrl-a\n"
             "-virtioconsole c\n"
             "                set virtio console\n"
-@@ -4369,6 +4376,8 @@ enum {
+@@ -4374,6 +4381,8 @@ enum {
      QEMU_OPTION_localtime,
      QEMU_OPTION_startdate,
      QEMU_OPTION_icount,
@@ -925,7 +925,7 @@
      QEMU_OPTION_echr,
      QEMU_OPTION_virtiocon,
      QEMU_OPTION_show_cursor,
-@@ -4495,6 +4504,8 @@ static const QEMUOption qemu_options[] =
+@@ -4500,6 +4509,8 @@ static const QEMUOption qemu_options[] =
      { "localtime", 0, QEMU_OPTION_localtime },
      { "startdate", HAS_ARG, QEMU_OPTION_startdate },
      { "icount", HAS_ARG, QEMU_OPTION_icount },
@@ -934,7 +934,7 @@
      { "echr", HAS_ARG, QEMU_OPTION_echr },
      { "virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon },
      { "show-cursor", 0, QEMU_OPTION_show_cursor },
-@@ -4996,6 +5007,8 @@ int main(int argc, char **argv, char **e
+@@ -5001,6 +5012,8 @@ int main(int argc, char **argv, char **e
      tb_size = 0;
      autostart= 1;
  
@@ -943,7 +943,7 @@
      optind = 1;
      for(;;) {
          if (optind >= argc)
-@@ -5370,6 +5383,17 @@ int main(int argc, char **argv, char **e
+@@ -5375,6 +5388,17 @@ int main(int argc, char **argv, char **e
                  serial_devices[serial_device_index] = optarg;
                  serial_device_index++;
                  break;

++++++ ipxe-use-rpm-opt-flags.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:43.772757683 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:43.776757117 +0200
@@ -12,7 +12,7 @@
 + 
 + CLEANUP              :=
 +-CFLAGS               :=
-++CFLAGS               := $(RPM_OPT_FLAGS) -Wno-error=array-bounds 
-Wno-nonnull-compare -Wno-unused-const-variable -Wno-misleading-indentation 
-Wno-shift-negative-value
+++CFLAGS               := $(RPM_OPT_FLAGS) -Wno-error=array-bounds 
-Wno-nonnull-compare -Wno-unused-const-variable -Wno-misleading-indentation 
-Wno-shift-negative-value -Wno-implicit-fallthrough -Wno-nonnull
 + ASFLAGS              :=
 + LDFLAGS              :=
 + MAKEDEPS     := Makefile

++++++ ipxe.tar.bz2 ++++++

++++++ libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:44.616638371 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:44.616638371 +0200
@@ -7,11 +7,11 @@
  tools/libxl/libxlu_disk_l.l |    1 +
  5 files changed, 18 insertions(+), 1 deletion(-)
 
-Index: xen-4.8.0-testing/tools/libxl/libxl.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_disk.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl.c
-+++ xen-4.8.0-testing/tools/libxl/libxl.c
-@@ -2306,6 +2306,8 @@ static void device_disk_add(libxl__egc *
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_disk.c
++++ xen-4.9.0-testing/tools/libxl/libxl_disk.c
+@@ -411,6 +411,8 @@ static void device_disk_add(libxl__egc *
          flexarray_append_pair(back, "discard-enable",
                                libxl_defbool_val(disk->discard_enable) ?
                                "1" : "0");
@@ -20,12 +20,12 @@
  
          flexarray_append(front, "backend-id");
          flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
-Index: xen-4.8.0-testing/tools/libxl/libxl.h
+Index: xen-4.9.0-testing/tools/libxl/libxl.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl.h
-+++ xen-4.8.0-testing/tools/libxl/libxl.h
-@@ -288,6 +288,18 @@
- #define LIBXL_HAVE_SCHED_CREDIT2_PARAMS 1
+--- xen-4.9.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.9.0-testing/tools/libxl/libxl.h
+@@ -306,6 +306,18 @@
+ #define LIBXL_HAVE_BUILDINFO_HVM_ACPI_LAPTOP_SLATE 1
  
  /*
 + * The libxl_device_disk has no way to indicate that cache=unsafe is
@@ -43,10 +43,10 @@
   * libxl ABI compatibility
   *
   * The only guarantee which libxl makes regarding ABI compatibility
-Index: xen-4.8.0-testing/tools/libxl/libxlu_disk.c
+Index: xen-4.9.0-testing/tools/libxl/libxlu_disk.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxlu_disk.c
-+++ xen-4.8.0-testing/tools/libxl/libxlu_disk.c
+--- xen-4.9.0-testing.orig/tools/libxl/libxlu_disk.c
++++ xen-4.9.0-testing/tools/libxl/libxlu_disk.c
 @@ -79,6 +79,8 @@ int xlu_disk_parse(XLU_Config *cfg,
          if (!disk->pdev_path || !strcmp(disk->pdev_path, ""))
              disk->format = LIBXL_DISK_FORMAT_EMPTY;
@@ -56,10 +56,10 @@
  
      if (!disk->vdev) {
          xlu__disk_err(&dpc,0, "no vdev specified");
-Index: xen-4.8.0-testing/tools/libxl/libxlu_disk_i.h
+Index: xen-4.9.0-testing/tools/libxl/libxlu_disk_i.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxlu_disk_i.h
-+++ xen-4.8.0-testing/tools/libxl/libxlu_disk_i.h
+--- xen-4.9.0-testing.orig/tools/libxl/libxlu_disk_i.h
++++ xen-4.9.0-testing/tools/libxl/libxlu_disk_i.h
 @@ -10,7 +10,7 @@ typedef struct {
      void *scanner;
      YY_BUFFER_STATE buf;
@@ -69,11 +69,11 @@
      const char *spec;
  } DiskParseContext;
  
-Index: xen-4.8.0-testing/tools/libxl/libxlu_disk_l.l
+Index: xen-4.9.0-testing/tools/libxl/libxlu_disk_l.l
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxlu_disk_l.l
-+++ xen-4.8.0-testing/tools/libxl/libxlu_disk_l.l
-@@ -195,6 +195,7 @@ colo-port=[^,]*,?  { STRIP(','); setcolop
+--- xen-4.9.0-testing.orig/tools/libxl/libxlu_disk_l.l
++++ xen-4.9.0-testing/tools/libxl/libxlu_disk_l.l
+@@ -196,6 +196,7 @@ colo-port=[^,]*,?  { STRIP(','); setcolop
  colo-export=[^,]*,?   { STRIP(','); SAVESTRING("colo-export", colo_export, 
FROMEQUALS); }
  active-disk=[^,]*,?   { STRIP(','); SAVESTRING("active-disk", active_disk, 
FROMEQUALS); }
  hidden-disk=[^,]*,?   { STRIP(','); SAVESTRING("hidden-disk", hidden_disk, 
FROMEQUALS); }

++++++ libxl.pvscsi.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:44.632636109 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:44.632636109 +0200
@@ -34,11 +34,11 @@
  tools/libxl/xl_cmdtable.c            |   15 
  16 files changed, 2326 insertions(+), 4 deletions(-)
 
-Index: xen-4.8.0-testing/docs/man/xl.cfg.pod.5.in
+Index: xen-4.9.0-testing/docs/man/xl.cfg.pod.5.in
 ===================================================================
---- xen-4.8.0-testing.orig/docs/man/xl.cfg.pod.5.in
-+++ xen-4.8.0-testing/docs/man/xl.cfg.pod.5.in
-@@ -517,6 +517,62 @@ value is optional if this is a guest dom
+--- xen-4.9.0-testing.orig/docs/man/xl.cfg.pod.5.in
++++ xen-4.9.0-testing/docs/man/xl.cfg.pod.5.in
+@@ -548,6 +548,62 @@ Specify the backend domain name or id, d
  
  =back
  
@@ -101,11 +101,11 @@
  =item B<vfb=[ "VFB_SPEC_STRING", "VFB_SPEC_STRING", ...]>
  
  Specifies the paravirtual framebuffer devices which should be supplied
-Index: xen-4.8.0-testing/docs/man/xl.pod.1.in
+Index: xen-4.9.0-testing/docs/man/xl.pod.1.in
 ===================================================================
---- xen-4.8.0-testing.orig/docs/man/xl.pod.1.in
-+++ xen-4.8.0-testing/docs/man/xl.pod.1.in
-@@ -1436,6 +1436,24 @@ List virtual trusted platform modules fo
+--- xen-4.9.0-testing.orig/docs/man/xl.pod.1.in
++++ xen-4.9.0-testing/docs/man/xl.pod.1.in
+@@ -1451,6 +1451,24 @@ List virtual trusted platform modules fo
  
  =back
  
@@ -130,10 +130,10 @@
  =head1 PCI PASS-THROUGH
  
  =over 4
-Index: xen-4.8.0-testing/tools/libxl/Makefile
+Index: xen-4.9.0-testing/tools/libxl/Makefile
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/Makefile
-+++ xen-4.8.0-testing/tools/libxl/Makefile
+--- xen-4.9.0-testing.orig/tools/libxl/Makefile
++++ xen-4.9.0-testing/tools/libxl/Makefile
 @@ -129,6 +129,7 @@ endif
  LIBXL_LIBS += -lyajl
  
@@ -142,7 +142,7 @@
                        libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
                        libxl_internal.o libxl_utils.o libxl_uuid.o \
                        libxl_json.o libxl_aoutils.o libxl_numa.o libxl_vnuma.o 
\
-@@ -173,6 +174,7 @@ AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h
+@@ -175,6 +176,7 @@ AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h
  AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
  AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
  LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
@@ -150,11 +150,11 @@
        libxlu_disk_l.o libxlu_disk.o libxlu_vif.o libxlu_pci.o
  $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
  
-Index: xen-4.8.0-testing/tools/libxl/libxl.h
+Index: xen-4.9.0-testing/tools/libxl/libxl.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl.h
-+++ xen-4.8.0-testing/tools/libxl/libxl.h
-@@ -915,6 +915,13 @@ void libxl_mac_copy(libxl_ctx *ctx, libx
+--- xen-4.9.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.9.0-testing/tools/libxl/libxl.h
+@@ -933,6 +933,13 @@ void libxl_mac_copy(libxl_ctx *ctx, libx
  #define LIBXL_HAVE_PCITOPOLOGY 1
  
  /*
@@ -168,7 +168,7 @@
   * LIBXL_HAVE_SOCKET_BITMAP
   *
   * If this is defined, then libxl_socket_bitmap_alloc and
-@@ -1809,6 +1816,41 @@ int libxl_device_channel_getinfo(libxl_c
+@@ -1834,6 +1841,41 @@ int libxl_device_channel_getinfo(libxl_c
                                   libxl_device_channel *channel,
                                   libxl_channelinfo *channelinfo);
  
@@ -210,11 +210,11 @@
  /* Virtual TPMs */
  int libxl_device_vtpm_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vtpm 
*vtpm,
                            const libxl_asyncop_how *ao_how)
-Index: xen-4.8.0-testing/tools/libxl/libxl_create.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_create.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_create.c
-+++ xen-4.8.0-testing/tools/libxl/libxl_create.c
-@@ -1439,6 +1439,7 @@ const struct libxl_device_type *device_t
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_create.c
++++ xen-4.9.0-testing/tools/libxl/libxl_create.c
+@@ -1436,6 +1436,7 @@ const struct libxl_device_type *device_t
      &libxl__disk_devtype,
      &libxl__nic_devtype,
      &libxl__vtpm_devtype,
@@ -222,11 +222,11 @@
      &libxl__usbctrl_devtype,
      &libxl__usbdev_devtype,
      &libxl__pcidev_devtype,
-Index: xen-4.8.0-testing/tools/libxl/libxl_internal.h
+Index: xen-4.9.0-testing/tools/libxl/libxl_internal.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_internal.h
-+++ xen-4.8.0-testing/tools/libxl/libxl_internal.h
-@@ -3511,6 +3511,7 @@ static inline int *libxl__device_type_ge
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_internal.h
++++ xen-4.9.0-testing/tools/libxl/libxl_internal.h
+@@ -3527,6 +3527,7 @@ static inline int *libxl__device_type_ge
  extern const struct libxl_device_type libxl__disk_devtype;
  extern const struct libxl_device_type libxl__nic_devtype;
  extern const struct libxl_device_type libxl__vtpm_devtype;
@@ -234,11 +234,11 @@
  extern const struct libxl_device_type libxl__usbctrl_devtype;
  extern const struct libxl_device_type libxl__usbdev_devtype;
  extern const struct libxl_device_type libxl__pcidev_devtype;
-Index: xen-4.8.0-testing/tools/libxl/libxl_types.idl
+Index: xen-4.9.0-testing/tools/libxl/libxl_types.idl
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_types.idl
-+++ xen-4.8.0-testing/tools/libxl/libxl_types.idl
-@@ -703,6 +703,43 @@ libxl_device_channel = Struct("device_ch
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_types.idl
++++ xen-4.9.0-testing/tools/libxl/libxl_types.idl
+@@ -778,6 +778,43 @@ libxl_device_channel = Struct("device_ch
             ])),
  ])
  
@@ -282,15 +282,15 @@
  libxl_domain_config = Struct("domain_config", [
      ("c_info", libxl_domain_create_info),
      ("b_info", libxl_domain_build_info),
-@@ -714,6 +751,7 @@ libxl_domain_config = Struct("domain_con
+@@ -789,6 +826,7 @@ libxl_domain_config = Struct("domain_con
      ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
      ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
      ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
 +    ("vscsictrls", Array(libxl_device_vscsictrl, "num_vscsictrls")),
      ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
+     ("p9", Array(libxl_device_p9, "num_p9s")),
      # a channel manifests as a console with a name,
-     # see docs/misc/channels.txt
-@@ -751,6 +789,21 @@ libxl_nicinfo = Struct("nicinfo", [
+@@ -827,6 +865,21 @@ libxl_nicinfo = Struct("nicinfo", [
      ("rref_rx", integer),
      ], dir=DIR_OUT)
  
@@ -312,22 +312,22 @@
  libxl_vtpminfo = Struct("vtpminfo", [
      ("backend", string),
      ("backend_id", uint32),
-Index: xen-4.8.0-testing/tools/libxl/libxl_types_internal.idl
+Index: xen-4.9.0-testing/tools/libxl/libxl_types_internal.idl
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_types_internal.idl
-+++ xen-4.8.0-testing/tools/libxl/libxl_types_internal.idl
-@@ -25,6 +25,7 @@ libxl__device_kind = Enumeration("device
-     (8, "VTPM"),
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_types_internal.idl
++++ xen-4.9.0-testing/tools/libxl/libxl_types_internal.idl
+@@ -26,6 +26,7 @@ libxl__device_kind = Enumeration("device
      (9, "VUSB"),
      (10, "QUSB"),
-+    (11, "VSCSI"),
+     (11, "9PFS"),
++    (12, "VSCSI"),
      ])
  
  libxl__console_backend = Enumeration("console_backend", [
-Index: xen-4.8.0-testing/tools/libxl/libxl_vscsi.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_vscsi.c
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/tools/libxl/libxl_vscsi.c
++++ xen-4.9.0-testing/tools/libxl/libxl_vscsi.c
 @@ -0,0 +1,1176 @@
 +/*
 + * Copyright (C) 2016      SUSE Linux GmbH
@@ -1505,10 +1505,10 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-Index: xen-4.8.0-testing/tools/libxl/libxlu_vscsi.c
+Index: xen-4.9.0-testing/tools/libxl/libxlu_vscsi.c
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/tools/libxl/libxlu_vscsi.c
++++ xen-4.9.0-testing/tools/libxl/libxlu_vscsi.c
 @@ -0,0 +1,668 @@
 +/*
 + * libxlu_vscsi.c - xl configuration file parsing: setup and helper functions
@@ -2178,10 +2178,10 @@
 +    return ERROR_INVAL;
 +}
 +#endif
-Index: xen-4.8.0-testing/tools/libxl/libxlutil.h
+Index: xen-4.9.0-testing/tools/libxl/libxlutil.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxlutil.h
-+++ xen-4.8.0-testing/tools/libxl/libxlutil.h
+--- xen-4.9.0-testing.orig/tools/libxl/libxlutil.h
++++ xen-4.9.0-testing/tools/libxl/libxlutil.h
 @@ -118,6 +118,25 @@ int xlu_rdm_parse(XLU_Config *cfg, libxl
  int xlu_vif_parse_rate(XLU_Config *cfg, const char *rate,
                         libxl_device_nic *nic);
@@ -2208,11 +2208,24 @@
  #endif /* LIBXLUTIL_H */
  
  /*
-Index: xen-4.8.0-testing/tools/libxl/xl.h
+Index: xen-4.9.0-testing/tools/xl/Makefile
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/xl.h
-+++ xen-4.8.0-testing/tools/libxl/xl.h
-@@ -89,6 +89,9 @@ int main_channellist(int argc, char **ar
+--- xen-4.9.0-testing.orig/tools/xl/Makefile
++++ xen-4.9.0-testing/tools/xl/Makefile
+@@ -17,7 +17,7 @@ CFLAGS_XL += -Wshadow
+ 
+ XL_OBJS = xl.o xl_cmdtable.o xl_sxp.o xl_utils.o
+ XL_OBJS += xl_tmem.o xl_parse.o xl_cpupool.o xl_flask.o
+-XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o
++XL_OBJS += xl_vtpm.o xl_vscsi.o xl_block.o xl_nic.o xl_usb.o
+ XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
+ XL_OBJS += xl_psr.o xl_info.o xl_console.o xl_misc.o
+ XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
+Index: xen-4.9.0-testing/tools/xl/xl.h
+===================================================================
+--- xen-4.9.0-testing.orig/tools/xl/xl.h
++++ xen-4.9.0-testing/tools/xl/xl.h
+@@ -163,6 +163,9 @@ int main_channellist(int argc, char **ar
  int main_blockattach(int argc, char **argv);
  int main_blocklist(int argc, char **argv);
  int main_blockdetach(int argc, char **argv);
@@ -2222,20 +2235,20 @@
  int main_vtpmattach(int argc, char **argv);
  int main_vtpmlist(int argc, char **argv);
  int main_vtpmdetach(int argc, char **argv);
-Index: xen-4.8.0-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.9.0-testing/tools/xl/xl_parse.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.8.0-testing/tools/libxl/xl_cmdimpl.c
-@@ -1328,7 +1328,7 @@ static void parse_config_data(const char
+--- xen-4.9.0-testing.orig/tools/xl/xl_parse.c
++++ xen-4.9.0-testing/tools/xl/xl_parse.c
+@@ -812,7 +812,7 @@ void parse_config_data(const char *confi
      long l, vcpus = 0;
      XLU_Config *config;
      XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms,
--                   *usbctrls, *usbdevs;
-+                   *usbctrls, *usbdevs, *vscsictrls;
+-                   *usbctrls, *usbdevs, *p9devs;
++                   *usbctrls, *usbdevs, *p9devs, *vscsictrls;
      XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian, *dtdevs;
      int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian;
      int pci_power_mgmt = 0;
-@@ -1863,6 +1863,17 @@ static void parse_config_data(const char
+@@ -1418,6 +1418,17 @@ void parse_config_data(const char *confi
          }
      }
  
@@ -2253,10 +2266,36 @@
      if (!xlu_cfg_get_list(config, "vtpm", &vtpms, 0, 0)) {
          d_config->num_vtpms = 0;
          d_config->vtpms = NULL;
-@@ -7601,6 +7612,218 @@ int main_blockdetach(int argc, char **ar
-     return rc;
- }
- 
+Index: xen-4.9.0-testing/tools/xl/xl_vscsi.c
+===================================================================
+--- /dev/null
++++ xen-4.9.0-testing/tools/xl/xl_vscsi.c
+@@ -0,0 +1,229 @@
++/*
++ * Copyright 2009-2017 Citrix Ltd and other contributors
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation; version 2.1 only. with the special
++ * exception on linking described in file LICENSE.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License for more details.
++ */
++
++#include <stdlib.h>
++#include <stdio.h>
++
++#include <libxl.h>
++#include <libxl_utils.h>
++#include <libxlutil.h>
++
++#include "xl.h"
++#include "xl_utils.h"
++#include "xl_parse.h"
++
 +int main_vscsiattach(int argc, char **argv)
 +{
 +    uint32_t domid;
@@ -2284,18 +2323,10 @@
 +
 +    optind++;
 +
-+    if (argc == 5) {
-+        if (asprintf(&feat_buf, ",%s", argv[4]) < 0) {
-+            perror("asprintf");
-+            return 1;
-+        }
-+    }
++    if (argc == 5)
++        xasprintf(&feat_buf, ",%s", argv[4]);
 +
-+    if (asprintf(&str, "%s,%s%s", argv[2], argv[3], feat_buf ?: "") < 0) {
-+        perror("asprintf");
-+        rc = 1;
-+        goto out;;
-+    }
++    xasprintf(&str, "%s,%s%s", argv[2], argv[3], feat_buf ?: "");
 +
 +    libxl_device_vscsictrl_init(&existing);
 +    libxl_device_vscsictrl_init(&ctrl);
@@ -2469,13 +2500,10 @@
 +    return !!rc;
 +}
 +
- int main_vtpmattach(int argc, char **argv)
- {
-     int opt;
-Index: xen-4.8.0-testing/tools/libxl/xl_cmdtable.c
+Index: xen-4.9.0-testing/tools/xl/xl_cmdtable.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/xl_cmdtable.c
-+++ xen-4.8.0-testing/tools/libxl/xl_cmdtable.c
+--- xen-4.9.0-testing.orig/tools/xl/xl_cmdtable.c
++++ xen-4.9.0-testing/tools/xl/xl_cmdtable.c
 @@ -357,6 +357,21 @@ struct cmd_spec cmd_table[] = {
        "Destroy a domain's virtual block device",
        "<Domain> <DevId>",

++++++ libxl.set-migration-constraints-from-cmdline.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:44.644634413 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:44.648633847 +0200
@@ -89,11 +89,11 @@
  tools/libxl/xl_cmdtable.c        |   23 ++++++++++++++--------
  13 files changed, 156 insertions(+), 28 deletions(-)
 
-Index: xen-4.8.0-testing/docs/man/xl.pod.1.in
+Index: xen-4.9.0-testing/docs/man/xl.pod.1.in
 ===================================================================
---- xen-4.8.0-testing.orig/docs/man/xl.pod.1.in
-+++ xen-4.8.0-testing/docs/man/xl.pod.1.in
-@@ -447,6 +447,26 @@ Print huge (!) amount of debug during th
+--- xen-4.9.0-testing.orig/docs/man/xl.pod.1.in
++++ xen-4.9.0-testing/docs/man/xl.pod.1.in
+@@ -457,6 +457,26 @@ Print huge (!) amount of debug during th
  
  Leave the domain on the receive side paused after migration.
  
@@ -120,10 +120,10 @@
  =back
  
  =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
-Index: xen-4.8.0-testing/tools/libxc/include/xenguest.h
+Index: xen-4.9.0-testing/tools/libxc/include/xenguest.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxc/include/xenguest.h
-+++ xen-4.8.0-testing/tools/libxc/include/xenguest.h
+--- xen-4.9.0-testing.orig/tools/libxc/include/xenguest.h
++++ xen-4.9.0-testing/tools/libxc/include/xenguest.h
 @@ -29,6 +29,7 @@
  #define XCFLAGS_HVM       (1 << 2)
  #define XCFLAGS_STDVGA    (1 << 3)
@@ -145,10 +145,10 @@
  /* callbacks provided by xc_domain_restore */
  struct restore_callbacks {
      /* Called after a new checkpoint to suspend the guest.
-Index: xen-4.8.0-testing/tools/libxc/xc_nomigrate.c
+Index: xen-4.9.0-testing/tools/libxc/xc_nomigrate.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxc/xc_nomigrate.c
-+++ xen-4.8.0-testing/tools/libxc/xc_nomigrate.c
+--- xen-4.9.0-testing.orig/tools/libxc/xc_nomigrate.c
++++ xen-4.9.0-testing/tools/libxc/xc_nomigrate.c
 @@ -29,6 +29,16 @@ int xc_domain_save(xc_interface *xch, in
      return -1;
  }
@@ -166,10 +166,10 @@
  int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom,
                        unsigned int store_evtchn, unsigned long *store_mfn,
                        domid_t store_domid, unsigned int console_evtchn,
-Index: xen-4.8.0-testing/tools/libxc/xc_sr_common.h
+Index: xen-4.9.0-testing/tools/libxc/xc_sr_common.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxc/xc_sr_common.h
-+++ xen-4.8.0-testing/tools/libxc/xc_sr_common.h
+--- xen-4.9.0-testing.orig/tools/libxc/xc_sr_common.h
++++ xen-4.9.0-testing/tools/libxc/xc_sr_common.h
 @@ -201,6 +201,7 @@ struct xc_sr_context
              /* Parameters for tweaking live migration. */
              unsigned max_iterations;
@@ -178,10 +178,10 @@
  
              unsigned long p2m_size;
  
-Index: xen-4.8.0-testing/tools/libxc/xc_sr_save.c
+Index: xen-4.9.0-testing/tools/libxc/xc_sr_save.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxc/xc_sr_save.c
-+++ xen-4.8.0-testing/tools/libxc/xc_sr_save.c
+--- xen-4.9.0-testing.orig/tools/libxc/xc_sr_save.c
++++ xen-4.9.0-testing/tools/libxc/xc_sr_save.c
 @@ -511,6 +511,14 @@ static int send_memory_live(struct xc_sr
              goto out;
      }
@@ -232,11 +232,11 @@
  
      /* Sanity checks for callbacks. */
      if ( hvm )
-Index: xen-4.8.0-testing/tools/libxl/libxl.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_domain.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl.c
-+++ xen-4.8.0-testing/tools/libxl/libxl.c
-@@ -926,8 +926,9 @@ static void domain_suspend_cb(libxl__egc
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_domain.c
++++ xen-4.9.0-testing/tools/libxl/libxl_domain.c
+@@ -486,8 +486,9 @@ static void domain_suspend_cb(libxl__egc
  
  }
  
@@ -248,7 +248,7 @@
  {
      AO_CREATE(ctx, domid, ao_how);
      int rc;
-@@ -947,9 +948,15 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -507,9 +508,15 @@ int libxl_domain_suspend(libxl_ctx *ctx,
      dss->domid = domid;
      dss->fd = fd;
      dss->type = type;
@@ -266,7 +266,7 @@
  
      rc = libxl__fd_flags_modify_save(gc, dss->fd,
                                       ~(O_NONBLOCK|O_NDELAY), 0,
-@@ -963,6 +970,20 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -523,6 +530,20 @@ int libxl_domain_suspend(libxl_ctx *ctx,
      return AO_CREATE_FAIL(rc);
  }
  
@@ -287,11 +287,11 @@
  int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
  {
      int ret;
-Index: xen-4.8.0-testing/tools/libxl/libxl.h
+Index: xen-4.9.0-testing/tools/libxl/libxl.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl.h
-+++ xen-4.8.0-testing/tools/libxl/libxl.h
-@@ -1378,8 +1378,23 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+--- xen-4.9.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.9.0-testing/tools/libxl/libxl.h
+@@ -1403,8 +1403,23 @@ int libxl_domain_suspend(libxl_ctx *ctx,
                           int flags, /* LIBXL_SUSPEND_* */
                           const libxl_asyncop_how *ao_how)
                           LIBXL_EXTERNAL_CALLERS_ONLY;
@@ -315,11 +315,11 @@
  
  /* @param suspend_cancel [from xenctrl.h:xc_domain_resume( @param fast )]
   *   If this parameter is true, use co-operative resume. The guest
-Index: xen-4.8.0-testing/tools/libxl/libxl_dom_save.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_dom_save.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_dom_save.c
-+++ xen-4.8.0-testing/tools/libxl/libxl_dom_save.c
-@@ -375,6 +375,7 @@ void libxl__domain_save(libxl__egc *egc,
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_dom_save.c
++++ xen-4.9.0-testing/tools/libxl/libxl_dom_save.c
+@@ -376,6 +376,7 @@ void libxl__domain_save(libxl__egc *egc,
  
      dss->xcflags = (live ? XCFLAGS_LIVE : 0)
            | (debug ? XCFLAGS_DEBUG : 0)
@@ -327,11 +327,11 @@
            | (dss->hvm ? XCFLAGS_HVM : 0);
  
      /* Disallow saving a guest with vNUMA configured because migration
-Index: xen-4.8.0-testing/tools/libxl/libxl_internal.h
+Index: xen-4.9.0-testing/tools/libxl/libxl_internal.h
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_internal.h
-+++ xen-4.8.0-testing/tools/libxl/libxl_internal.h
-@@ -3286,6 +3286,10 @@ struct libxl__domain_save_state {
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_internal.h
++++ xen-4.9.0-testing/tools/libxl/libxl_internal.h
+@@ -3302,6 +3302,10 @@ struct libxl__domain_save_state {
      /* private */
      int rc;
      int hvm;
@@ -342,10 +342,10 @@
      int xcflags;
      libxl__domain_suspend_state dsps;
      union {
-Index: xen-4.8.0-testing/tools/libxl/libxl_save_callout.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_save_callout.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_save_callout.c
-+++ xen-4.8.0-testing/tools/libxl/libxl_save_callout.c
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_save_callout.c
++++ xen-4.9.0-testing/tools/libxl/libxl_save_callout.c
 @@ -89,7 +89,9 @@ void libxl__xc_domain_save(libxl__egc *e
          libxl__srm_callout_enumcallbacks_save(&shs->callbacks.save.a);
  
@@ -357,10 +357,10 @@
          cbflags, dss->checkpointed_stream,
      };
  
-Index: xen-4.8.0-testing/tools/libxl/libxl_save_helper.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_save_helper.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_save_helper.c
-+++ xen-4.8.0-testing/tools/libxl/libxl_save_helper.c
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_save_helper.c
++++ xen-4.9.0-testing/tools/libxl/libxl_save_helper.c
 @@ -253,6 +253,7 @@ int main(int argc, char **argv)
          uint32_t dom =                      strtoul(NEXTARG,0,10);
          uint32_t max_iters =                strtoul(NEXTARG,0,10);
@@ -383,11 +383,11 @@
          complete(r);
  
      } else if (!strcmp(mode,"--restore-domain")) {
-Index: xen-4.8.0-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.9.0-testing/tools/xl/xl_migrate.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.8.0-testing/tools/libxl/xl_cmdimpl.c
-@@ -4693,6 +4693,8 @@ static void migrate_do_preamble(int send
+--- xen-4.9.0-testing.orig/tools/xl/xl_migrate.c
++++ xen-4.9.0-testing/tools/xl/xl_migrate.c
+@@ -177,6 +177,8 @@ static void migrate_do_preamble(int send
  }
  
  static void migrate_domain(uint32_t domid, const char *rune, int debug,
@@ -396,7 +396,7 @@
                             const char *override_config_file)
  {
      pid_t child = -1;
-@@ -4701,7 +4703,13 @@ static void migrate_domain(uint32_t domi
+@@ -185,7 +187,13 @@ static void migrate_domain(uint32_t domi
      char *away_domname;
      char rc_buf;
      uint8_t *config_data;
@@ -411,7 +411,7 @@
  
      save_domain_core_begin(domid, override_config_file,
                             &config_data, &config_len);
-@@ -4720,10 +4728,12 @@ static void migrate_domain(uint32_t domi
+@@ -204,10 +212,12 @@ static void migrate_domain(uint32_t domi
      xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
  
      if (debug)
@@ -427,7 +427,7 @@
                  " (rc=%d)\n", rc);
          if (rc == ERROR_GUEST_TIMEDOUT)
              goto failed_suspend;
-@@ -5146,13 +5156,18 @@ int main_migrate(int argc, char **argv)
+@@ -537,13 +547,18 @@ int main_migrate(int argc, char **argv)
      char *rune = NULL;
      char *host;
      int opt, daemonize = 1, monitor = 1, debug = 0, pause_after_migration = 0;
@@ -447,7 +447,7 @@
      case 'C':
          config_filename = optarg;
          break;
-@@ -5172,6 +5187,18 @@ int main_migrate(int argc, char **argv)
+@@ -563,6 +578,18 @@ int main_migrate(int argc, char **argv)
      case 0x100: /* --debug */
          debug = 1;
          break;
@@ -466,7 +466,7 @@
      case 0x200: /* --live */
          /* ignored for compatibility with xm */
          break;
-@@ -5205,7 +5232,8 @@ int main_migrate(int argc, char **argv)
+@@ -596,7 +623,8 @@ int main_migrate(int argc, char **argv)
                    pause_after_migration ? " -p" : "");
      }
  
@@ -475,11 +475,11 @@
 +                   abort_if_busy, config_filename);
      return EXIT_SUCCESS;
  }
- #endif
-Index: xen-4.8.0-testing/tools/libxl/xl_cmdtable.c
+ 
+Index: xen-4.9.0-testing/tools/xl/xl_cmdtable.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/xl_cmdtable.c
-+++ xen-4.8.0-testing/tools/libxl/xl_cmdtable.c
+--- xen-4.9.0-testing.orig/tools/xl/xl_cmdtable.c
++++ xen-4.9.0-testing/tools/xl/xl_cmdtable.c
 @@ -157,15 +157,22 @@ struct cmd_spec cmd_table[] = {
        &main_migrate, 0, 1,
        "Migrate a domain to another host",

++++++ mini-os.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/Makefile 
new/extras/mini-os-remote/Makefile
--- old/extras/mini-os-remote/Makefile  2016-12-01 19:00:51.000000000 +0100
+++ new/extras/mini-os-remote/Makefile  2017-05-09 16:38:20.000000000 +0200
@@ -24,7 +24,7 @@
 LDLIBS := 
 APP_LDLIBS := 
 LDARCHLIB := -L$(OBJ_DIR)/$(TARGET_ARCH_DIR) -l$(ARCH_LIB_NAME)
-LDFLAGS_FINAL := -T $(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds 
$(ARCH_LDFLAGS_FINAL)
+LDFLAGS_FINAL := -T 
$(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds 
$(ARCH_LDFLAGS_FINAL)
 
 # Prefix for global API names. All other symbols are localised before
 # linking with EXTRA_OBJS.
@@ -134,6 +134,8 @@
 LIBS += $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/call/libxencall.a
 APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/foreignmemory 
-whole-archive -lxenforeignmemory -no-whole-archive
 LIBS += 
$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a
+APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/devicemodel 
-whole-archive -lxendevicemodel -no-whole-archive
+LIBS += 
$(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/devicemodel/libxendevicemodel.a
 APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH) -whole-archive 
-lxenguest -lxenctrl -no-whole-archive
 LIBS += $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH)/libxenctrl.a
 LIBS += $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH)/libxenguest.a
@@ -156,10 +158,10 @@
 endif
 
 # Special rule for x86 for now
-arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
+$(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
        $(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib 
$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib 
$(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
        $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) 
-o [email protected]
        $(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start [email protected] [email protected]
        $(LD) $(LDFLAGS) $(LDFLAGS_FINAL) [email protected] $(EXTRA_OBJS) -o $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/include/xen/hvm/pvdrivers.h 
new/extras/mini-os-remote/include/xen/hvm/pvdrivers.h
--- old/extras/mini-os-remote/include/xen/hvm/pvdrivers.h       2016-12-01 
19:00:51.000000000 +0100
+++ new/extras/mini-os-remote/include/xen/hvm/pvdrivers.h       2017-05-09 
16:38:20.000000000 +0200
@@ -28,7 +28,7 @@
  * This is the master registry of product numbers for
  * PV drivers. 
  * If you need a new product number allocating, please
- * post to [email protected].  You should NOT use
+ * post to [email protected].  You should NOT use
  * a product number without allocating one.
  * If you maintain a separate versioning and distribution path
  * for PV drivers you should have a separate product number so

++++++ qemu-xen-traditional-dir-remote.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/console.c 
new/tools/qemu-xen-traditional-dir-remote/console.c
--- old/tools/qemu-xen-traditional-dir-remote/console.c 2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/console.c 2017-05-09 
16:38:12.000000000 +0200
@@ -1399,14 +1399,6 @@
     }
 }
 
-void qemu_console_copy(DisplayState *ds, int src_x, int src_y,
-                int dst_x, int dst_y, int w, int h)
-{
-    if (is_graphic_console()) {
-        dpy_copy(ds, src_x, src_y, dst_x, dst_y, w, h);
-    }
-}
-
 PixelFormat qemu_different_endianness_pixelformat(int bpp)
 {
     PixelFormat pf;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/console.h 
new/tools/qemu-xen-traditional-dir-remote/console.h
--- old/tools/qemu-xen-traditional-dir-remote/console.h 2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/console.h 2017-05-09 
16:38:12.000000000 +0200
@@ -98,8 +98,6 @@
     void (*dpy_resize)(struct DisplayState *s);
     void (*dpy_setdata)(struct DisplayState *s);
     void (*dpy_refresh)(struct DisplayState *s);
-    void (*dpy_copy)(struct DisplayState *s, int src_x, int src_y,
-                     int dst_x, int dst_y, int w, int h);
     void (*dpy_fill)(struct DisplayState *s, int x, int y,
                      int w, int h, uint32_t c);
     void (*dpy_text_cursor)(struct DisplayState *s, int x, int y);
@@ -211,18 +209,6 @@
     }
 }
 
-static inline void dpy_copy(struct DisplayState *s, int src_x, int src_y,
-                             int dst_x, int dst_y, int w, int h) {
-    struct DisplayChangeListener *dcl = s->listeners;
-    while (dcl != NULL) {
-        if (dcl->dpy_copy)
-            dcl->dpy_copy(s, src_x, src_y, dst_x, dst_y, w, h);
-        else /* TODO */
-            dcl->dpy_update(s, dst_x, dst_y, w, h);
-        dcl = dcl->next;
-    }
-}
-
 static inline void dpy_fill(struct DisplayState *s, int x, int y,
                              int w, int h, uint32_t c) {
     struct DisplayChangeListener *dcl = s->listeners;
@@ -297,8 +283,6 @@
 void console_select(unsigned int index);
 void console_color_init(DisplayState *ds);
 void qemu_console_resize(DisplayState *ds, int width, int height);
-void qemu_console_copy(DisplayState *ds, int src_x, int src_y,
-                int dst_x, int dst_y, int w, int h);
 
 /* sdl.c */
 void sdl_display_init(DisplayState *ds, int full_screen, int no_frame, int 
opengl_enabled);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c 
new/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c
--- old/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c   2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/hw/cirrus_vga.c   2017-05-09 
16:38:12.000000000 +0200
@@ -308,10 +308,9 @@
 {
     if (pitch < 0) {
         int64_t min = addr
-            + ((int64_t)s->cirrus_blt_height-1) * pitch;
-        int32_t max = addr
-            + s->cirrus_blt_width;
-        if (min < 0 || max >= s->vram_size) {
+            + ((int64_t)s->cirrus_blt_height - 1) * pitch
+            - s->cirrus_blt_width;
+        if (min < -1 || addr >= s->vram_size) {
             return true;
         }
     } else {
@@ -794,11 +793,6 @@
         }
     }
 
-    /* we have to flush all pending changes so that the copy
-       is generated at the appropriate moment in time */
-    if (notify)
-       vga_hw_update();
-
     (*s->cirrus_rop) (s, s->vram_ptr +
                      (s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
                      s->vram_ptr +
@@ -807,13 +801,13 @@
                      s->cirrus_blt_width, s->cirrus_blt_height);
 
     if (notify)
-       qemu_console_copy(s->ds,
-                         sx, sy, dx, dy,
-                         s->cirrus_blt_width / depth,
-                         s->cirrus_blt_height);
+       dpy_update(s->ds,
+                   dx, dy,
+                   s->cirrus_blt_width / depth,
+                   s->cirrus_blt_height);
 
     /* we don't have to notify the display that this portion has
-       changed since qemu_console_copy implies this */
+       changed since dpy_update implies this */
 
     cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
                                s->cirrus_blt_dstpitch, s->cirrus_blt_width,
@@ -900,6 +894,10 @@
 {
     int w;
 
+    if (blit_is_unsafe(s)) {
+        return 0;
+    }
+
     s->cirrus_blt_mode &= ~CIRRUS_BLTMODE_MEMSYSSRC;
     s->cirrus_srcptr = &s->cirrus_bltbuf[0];
     s->cirrus_srcptr_end = &s->cirrus_bltbuf[0];
@@ -925,6 +923,10 @@
        }
         s->cirrus_srccounter = s->cirrus_blt_srcpitch * s->cirrus_blt_height;
     }
+
+    /* the blit_is_unsafe call above should catch this */
+    assert(s->cirrus_blt_srcpitch <= CIRRUS_BLTBUFSIZE);
+
     s->cirrus_srcptr = s->cirrus_bltbuf;
     s->cirrus_srcptr_end = s->cirrus_bltbuf + s->cirrus_blt_srcpitch;
     cirrus_update_memory_access(s);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tools/qemu-xen-traditional-dir-remote/hw/vmware_vga.c 
new/tools/qemu-xen-traditional-dir-remote/hw/vmware_vga.c
--- old/tools/qemu-xen-traditional-dir-remote/hw/vmware_vga.c   2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/hw/vmware_vga.c   2017-05-09 
16:38:12.000000000 +0200
@@ -383,6 +383,7 @@
 
 # ifdef DIRECT_VRAM
     if (s->ds->dpy_copy)
+#  error This configuration is not supported.  See XSA-211.
         qemu_console_copy(s->ds, x0, y0, x1, y1, w, h);
     else
 # endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tools/qemu-xen-traditional-dir-remote/i386-dm/helper2.c 
new/tools/qemu-xen-traditional-dir-remote/i386-dm/helper2.c
--- old/tools/qemu-xen-traditional-dir-remote/i386-dm/helper2.c 2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/i386-dm/helper2.c 2017-05-09 
16:38:12.000000000 +0200
@@ -379,6 +379,7 @@
         fprintf(stderr, "PIO: bad size (%u)\n", req->size);
         exit(-1);
     }
+    req->addr &= 0x0ffffU;
 
     if (req->dir == IOREQ_READ) {
         if (!req->data_is_ptr) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/vl.c 
new/tools/qemu-xen-traditional-dir-remote/vl.c
--- old/tools/qemu-xen-traditional-dir-remote/vl.c      2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/vl.c      2017-05-09 
16:38:12.000000000 +0200
@@ -52,6 +52,7 @@
 
 #include <xen/hvm/hvm_info_table.h>
 
+#include <assert.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <signal.h>
@@ -290,26 +291,30 @@
 static IOPortReadFunc default_ioport_readb, default_ioport_readw, 
default_ioport_readl;
 static IOPortWriteFunc default_ioport_writeb, default_ioport_writew, 
default_ioport_writel;
 
-static uint32_t ioport_read(int index, uint32_t address)
+static uint32_t ioport_read(int index, uint16_t address)
 {
     static IOPortReadFunc *default_func[3] = {
         default_ioport_readb,
         default_ioport_readw,
         default_ioport_readl
     };
+    if (address >= MAX_IOPORTS)
+        abort();
     IOPortReadFunc *func = ioport_read_table[index][address];
     if (!func)
         func = default_func[index];
     return func(ioport_opaque[address], address);
 }
 
-static void ioport_write(int index, uint32_t address, uint32_t data)
+static void ioport_write(int index, uint16_t address, uint32_t data)
 {
     static IOPortWriteFunc *default_func[3] = {
         default_ioport_writeb,
         default_ioport_writew,
         default_ioport_writel
     };
+    if (address >= MAX_IOPORTS)
+        abort();
     IOPortWriteFunc *func = ioport_write_table[index][address];
     if (!func)
         func = default_func[index];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/vnc.c 
new/tools/qemu-xen-traditional-dir-remote/vnc.c
--- old/tools/qemu-xen-traditional-dir-remote/vnc.c     2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/vnc.c     2017-05-09 
16:38:12.000000000 +0200
@@ -572,36 +572,6 @@
            send_framebuffer_update_raw(vs, x, y, w, h);
 }
 
-static void vnc_copy(DisplayState *ds, int src_x, int src_y, int dst_x, int 
dst_y, int w, int h)
-{
-    VncState *vs = ds->opaque;
-    int updating_client = 1;
-
-    if (!vs->update_requested ||
-        src_x < vs->visible_x || src_y < vs->visible_y ||
-       dst_x < vs->visible_x || dst_y < vs->visible_y ||
-       (src_x + w) > (vs->visible_x + vs->visible_w) ||
-       (src_y + h) > (vs->visible_y + vs->visible_h) ||
-       (dst_x + w) > (vs->visible_x + vs->visible_w) ||
-       (dst_y + h) > (vs->visible_y + vs->visible_h))
-       updating_client = 0;
-
-    if (updating_client)
-        _vnc_update_client(vs);
-
-    if (updating_client && vs->csock != -1 && !vs->has_update) {
-       vnc_write_u8(vs, 0);  /* msg id */
-       vnc_write_u8(vs, 0);
-       vnc_write_u16(vs, 1); /* number of rects */
-       vnc_framebuffer_update(vs, dst_x, dst_y, w, h, 1);
-       vnc_write_u16(vs, src_x);
-       vnc_write_u16(vs, src_y);
-       vnc_flush(vs);
-        vs->update_requested--;
-    } else
-       framebuffer_set_updated(vs, dst_x, dst_y, w, h);
-}
-
 static int find_update_height(VncState *vs, int y, int maxy, int last_x, int x)
 {
     int h;
@@ -1543,16 +1513,12 @@
     vs->has_pointer_type_change = 0;
     vs->has_WMVi = 0;
     vs->absolute = -1;
-    dcl->dpy_copy = NULL;
 
     for (i = n_encodings - 1; i >= 0; i--) {
        switch (encodings[i]) {
        case 0: /* Raw */
            vs->has_hextile = 0;
            break;
-       case 1: /* CopyRect */
-           dcl->dpy_copy = vnc_copy;
-           break;
        case 5: /* Hextile */
            vs->has_hextile = 1;
            break;
@@ -2459,7 +2425,6 @@
        vs->has_resize = 0;
        vs->has_hextile = 0;
         vs->update_requested = 0;
-       dcl->dpy_copy = NULL;
        vnc_timer_init(vs);
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak 
new/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
--- old/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak     2016-12-05 
23:30:47.000000000 +0100
+++ new/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak     2017-05-09 
16:38:12.000000000 +0200
@@ -2,6 +2,7 @@
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/evtchn/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libs/gnttab/include
 CPPFLAGS+= -DXC_WANT_COMPAT_MAP_FOREIGN_API
+CPPFLAGS+= -DXC_WANT_COMPAT_DEVICEMODEL_API
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
@@ -28,6 +29,7 @@
 LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/toollog
 LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/call
 LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/foreignmemory
+LIBS += -Wl,-rpath-link=$(XEN_ROOT)/tools/libs/devicemodel
 
 LDFLAGS := $(CFLAGS) $(LDFLAGS)
 

++++++ stdvga-cache.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:46.452378826 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:46.456378261 +0200
@@ -1,8 +1,8 @@
-Index: xen-4.7.0-testing/xen/arch/x86/hvm/stdvga.c
+Index: xen-4.9.0-testing/xen/arch/x86/hvm/stdvga.c
 ===================================================================
---- xen-4.7.0-testing.orig/xen/arch/x86/hvm/stdvga.c
-+++ xen-4.7.0-testing/xen/arch/x86/hvm/stdvga.c
-@@ -167,7 +167,10 @@ static int stdvga_outb(uint64_t addr, ui
+--- xen-4.9.0-testing.orig/xen/arch/x86/hvm/stdvga.c
++++ xen-4.9.0-testing/xen/arch/x86/hvm/stdvga.c
+@@ -166,7 +166,10 @@ static int stdvga_outb(uint64_t addr, ui
  
      /* When in standard vga mode, emulate here all writes to the vram buffer
       * so we can immediately satisfy reads without waiting for qemu. */

++++++ stubdom-have-iovec.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:46.464377129 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:46.468376565 +0200
@@ -3,11 +3,11 @@
 when building qemu traditional xen_platform.c which includes
 hw.h which includes qemu-common.h which already has a definition
 of iovec
-Index: xen-4.7.0-testing/tools/libxc/xc_private.h
+Index: xen-4.9.0-testing/tools/libxc/xc_private.h
 ===================================================================
---- xen-4.7.0-testing.orig/tools/libxc/xc_private.h
-+++ xen-4.7.0-testing/tools/libxc/xc_private.h
-@@ -47,6 +47,8 @@
+--- xen-4.9.0-testing.orig/tools/libxc/xc_private.h
++++ xen-4.9.0-testing/tools/libxc/xc_private.h
+@@ -48,6 +48,8 @@
  #endif
  
  #if defined(__MINIOS__)
@@ -16,7 +16,7 @@
  /*
   * MiniOS's libc doesn't know about sys/uio.h or writev().
   * Declare enough of sys/uio.h to compile.
-@@ -55,6 +57,7 @@ struct iovec {
+@@ -56,6 +58,7 @@ struct iovec {
      void *iov_base;
      size_t iov_len;
  };

++++++ stubdom.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/xen/stubdom.tar.bz2 
/work/SRC/openSUSE:Factory/.xen.new/stubdom.tar.bz2 differ: char 11, line 1

++++++ tmp_build.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:46.520369214 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:46.520369214 +0200
@@ -14,10 +14,10 @@
  tools/xenstore/Makefile |    6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
-Index: xen-4.8.0-testing/tools/xenstore/Makefile
+Index: xen-4.9.0-testing/tools/xenstore/Makefile
 ===================================================================
---- xen-4.8.0-testing.orig/tools/xenstore/Makefile
-+++ xen-4.8.0-testing/tools/xenstore/Makefile
+--- xen-4.9.0-testing.orig/tools/xenstore/Makefile
++++ xen-4.9.0-testing/tools/xenstore/Makefile
 @@ -90,6 +90,7 @@ $(CLIENTS_DOMU): xenstore
  
  xenstore: xenstore_client.o $(LIBXENSTORE)
@@ -26,7 +26,7 @@
  
  xenstore-control: xenstore_control.o $(LIBXENSTORE)
        $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
-@@ -143,10 +144,11 @@ endif
+@@ -163,10 +164,11 @@ endif
        $(INSTALL_PROG) xenstore-control $(DESTDIR)$(bindir)
        $(INSTALL_PROG) xenstore $(DESTDIR)$(bindir)
        set -e ; for c in $(CLIENTS) ; do \

++++++ x86-cpufreq-report.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:46.540366386 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:46.540366386 +0200
@@ -1,8 +1,8 @@
-Index: xen-4.8.0-testing/xen/arch/x86/platform_hypercall.c
+Index: xen-4.9.0-testing/xen/arch/x86/platform_hypercall.c
 ===================================================================
---- xen-4.8.0-testing.orig/xen/arch/x86/platform_hypercall.c
-+++ xen-4.8.0-testing/xen/arch/x86/platform_hypercall.c
-@@ -26,7 +26,7 @@
+--- xen-4.9.0-testing.orig/xen/arch/x86/platform_hypercall.c
++++ xen-4.9.0-testing/xen/arch/x86/platform_hypercall.c
+@@ -25,7 +25,7 @@
  #include <xen/symbols.h>
  #include <asm/current.h>
  #include <public/platform.h>
@@ -11,7 +11,7 @@
  #include <asm/edd.h>
  #include <asm/mtrr.h>
  #include <asm/io_apic.h>
-@@ -821,6 +821,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA
+@@ -820,6 +820,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA
              ret = -EFAULT;
      }
      break;
@@ -53,11 +53,11 @@
  
      default:
          ret = -ENOSYS;
-Index: xen-4.8.0-testing/xen/include/public/platform.h
+Index: xen-4.9.0-testing/xen/include/public/platform.h
 ===================================================================
---- xen-4.8.0-testing.orig/xen/include/public/platform.h
-+++ xen-4.8.0-testing/xen/include/public/platform.h
-@@ -547,6 +547,16 @@ struct xenpf_core_parking {
+--- xen-4.9.0-testing.orig/xen/include/public/platform.h
++++ xen-4.9.0-testing/xen/include/public/platform.h
+@@ -553,6 +553,16 @@ struct xenpf_core_parking {
  typedef struct xenpf_core_parking xenpf_core_parking_t;
  DEFINE_XEN_GUEST_HANDLE(xenpf_core_parking_t);
  
@@ -74,7 +74,7 @@
  /*
   * Access generic platform resources(e.g., accessing MSR, port I/O, etc)
   * in unified way. Batch resource operations in one call are supported and
-@@ -638,6 +648,7 @@ struct xen_platform_op {
+@@ -644,6 +654,7 @@ struct xen_platform_op {
          struct xenpf_core_parking      core_parking;
          struct xenpf_resource_op       resource_op;
          struct xenpf_symdata           symdata;

++++++ x86-ioapic-ack-default.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:46.552364690 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:46.552364690 +0200
@@ -1,10 +1,10 @@
 Change default IO-APIC ack mode for single IO-APIC systems to old-style.
 
-Index: xen-4.7.0-testing/xen/arch/x86/io_apic.c
+Index: xen-4.9.0-testing/xen/arch/x86/io_apic.c
 ===================================================================
---- xen-4.7.0-testing.orig/xen/arch/x86/io_apic.c
-+++ xen-4.7.0-testing/xen/arch/x86/io_apic.c
-@@ -2030,7 +2030,10 @@ void __init setup_IO_APIC(void)
+--- xen-4.9.0-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.9.0-testing/xen/arch/x86/io_apic.c
+@@ -2027,7 +2027,10 @@ void __init setup_IO_APIC(void)
          io_apic_irqs = ~PIC_IRQS;
  
      printk("ENABLING IO-APIC IRQs\n");

++++++ xen-4.8.0-testing-src.tar.bz2 -> xen-4.9.0-testing-src.tar.bz2 ++++++
++++ 151428 lines of diff (skipped)

++++++ xen-destdir.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:49.195990923 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:49.195990923 +0200
@@ -1,16 +1,16 @@
-Index: xen-4.8.0-testing/tools/xenstore/Makefile
+Index: xen-4.9.0-testing/tools/xenstore/Makefile
 ===================================================================
---- xen-4.8.0-testing.orig/tools/xenstore/Makefile
-+++ xen-4.8.0-testing/tools/xenstore/Makefile
+--- xen-4.9.0-testing.orig/tools/xenstore/Makefile
++++ xen-4.9.0-testing/tools/xenstore/Makefile
 @@ -22,6 +22,7 @@ LDFLAGS += $(LDFLAGS-y)
  
  CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm 
xenstore-chmod
  CLIENTS += xenstore-write xenstore-ls xenstore-watch
 +CLIENTS_DOMU := $(patsubst xenstore-%,domu-xenstore-%,$(CLIENTS))
  
- XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o 
xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
- 
-@@ -56,7 +57,7 @@ endif
+ XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o
+ XENSTORED_OBJS += xenstored_transaction.o xenstored_control.o
+@@ -59,7 +60,7 @@ endif
  all: $(ALL_TARGETS)
  
  .PHONY: clients
@@ -19,7 +19,7 @@
  
  ifeq ($(CONFIG_SunOS),y)
  xenstored_probes.h: xenstored_probes.d
-@@ -81,6 +82,9 @@ xenstored.a: $(XENSTORED_OBJS)
+@@ -84,6 +85,9 @@ xenstored.a: $(XENSTORED_OBJS)
  $(CLIENTS): xenstore
        ln -f xenstore $@
  
@@ -29,16 +29,16 @@
  xenstore: xenstore_client.o $(LIBXENSTORE)
        $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
  
-@@ -108,7 +112,7 @@ clean:
+@@ -130,7 +134,7 @@ clean:
        rm -f *.a *.o *.opic *.so* xenstored_probes.h
        rm -f xenstored xs_random xs_stress xs_crashme
        rm -f xs_tdb_dump xenstore-control init-xenstore-domain
 -      rm -f xenstore $(CLIENTS)
 +      rm -f xenstore $(CLIENTS) $(CLIENTS_DOMU)
+       rm -f xenstore.pc
        $(RM) $(DEPS)
  
- .PHONY: distclean
-@@ -131,12 +135,16 @@ ifeq ($(XENSTORE_XENSTORED),y)
+@@ -154,12 +158,16 @@ ifeq ($(XENSTORE_XENSTORED),y)
        $(INSTALL_DIR) $(DESTDIR)$(sbindir)
        $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED)
        $(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)

++++++ xen-qemu-iscsi-fix.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:49.223986965 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:49.223986965 +0200
@@ -1,7 +1,7 @@
-Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
---- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+--- xen-4.9.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++ xen-4.9.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 @@ -450,7 +450,7 @@ void xenstore_parse_domain_config(int hv
      char *buf = NULL;
      char *fpath = NULL, *bpath = NULL, *btype = NULL,
@@ -33,29 +33,29 @@
 +        free(params);
 +        if (!strcmp(drv,"iscsi") || !strcmp(drv, "npiv") ||
 +            !strcmp(drv,"dmmd")) {
-+          if (pasprintf(&buf, "%s/node", bpath) == -1)
-+             continue;
++            if (pasprintf(&buf, "%s/node", bpath) == -1)
++                continue;
 +
-+          /* wait for block-[iscsi|npiv|dmmd] script to complete and populate 
the
-+           * node entry.  try 30 times (30 secs) */
-+          for (j = 0; j < 30; j++) {
-+            params = xs_read(xsh, XBT_NULL, buf, &len);
-+            if (params != NULL)
-+               break;
-+          sleep(1);
-+          }
-+          if (params == NULL) {
-+             fprintf(stderr, "qemu: %s device not found -- timed out \n", 
drv);
-+            continue;
-+          }
++            /* wait for block-[iscsi|npiv|dmmd] script to complete and 
populate the
++             * node entry.  try 30 times (30 secs) */
++            for (j = 0; j < 30; j++) {
++                params = xs_read(xsh, XBT_NULL, buf, &len);
++                if (params != NULL)
++                    break;
++                sleep(1);
++            }
++            if (params == NULL) {
++                fprintf(stderr, "qemu: %s device not found -- timed out \n", 
drv);
++                continue;
++            }
 +        }
 +        else
 +        {
-+          if (pasprintf(&buf, "%s/params", bpath) == -1)
-+              continue;
-+           params = xs_read(xsh, XBT_NULL, buf, &len);
-+           if (params == NULL)
-+             continue;
++            if (pasprintf(&buf, "%s/params", bpath) == -1)
++                continue;
++            params = xs_read(xsh, XBT_NULL, buf, &len);
++            if (params == NULL)
++                continue;
 +        }
 +
          /* Obtain blktap sub-type prefix */

++++++ xen.build-compare.doc_html.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:49.235985268 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:49.239984702 +0200
@@ -5,11 +5,11 @@
  docs/Makefile |    6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-Index: xen-4.6.0-testing/docs/Makefile
+Index: xen-4.9.0-testing/docs/Makefile
 ===================================================================
---- xen-4.6.0-testing.orig/docs/Makefile
-+++ xen-4.6.0-testing/docs/Makefile
-@@ -142,7 +142,7 @@ install: install-man-pages install-html
+--- xen-4.9.0-testing.orig/docs/Makefile
++++ xen-4.9.0-testing/docs/Makefile
+@@ -185,7 +185,7 @@ install: install-man-pages install-html
  
  # Individual file build targets
  html/index.html: $(DOC_HTML) $(CURDIR)/gen-html-index INDEX
@@ -18,7 +18,7 @@
  
  html/%.html: %.markdown
  ifneq ($(MARKDOWN),)
-@@ -165,8 +165,8 @@ html/hypercall/%/index.html: $(CURDIR)/x
+@@ -208,8 +208,8 @@ html/hypercall/%/index.html: $(CURDIR)/x
        $(INSTALL_DIR) $(@D)
        $(PERL) -w $(CURDIR)/xen-headers -O $(@D) \
                -T 'arch-$* - Xen public headers' \

++++++ xen.build-compare.man.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:49.247983572 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:49.251983006 +0200
@@ -3,16 +3,16 @@
  docs/Makefile |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: xen-4.5.0-testing/docs/Makefile
+Index: xen-4.9.0-testing/docs/Makefile
 ===================================================================
---- xen-4.5.0-testing.orig/docs/Makefile
-+++ xen-4.5.0-testing/docs/Makefile
+--- xen-4.9.0-testing.orig/docs/Makefile
++++ xen-4.9.0-testing/docs/Makefile
 @@ -2,7 +2,7 @@ XEN_ROOT=$(CURDIR)/..
  include $(XEN_ROOT)/Config.mk
  -include $(XEN_ROOT)/config/Docs.mk
  
 -VERSION               := $(shell $(MAKE) -C $(XEN_ROOT)/xen 
--no-print-directory xenversion)
 +VERSION               := $(shell $(MAKE) -C $(XEN_ROOT)/xen 
--no-print-directory xenversion | cut -f -2 -d .)
+ DATE          := $(shell date +%Y-%m-%d)
  
  DOC_ARCHES      := arm x86_32 x86_64
- 

++++++ xen.libxl.dmmd.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:49.259981875 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:49.263981310 +0200
@@ -7,11 +7,11 @@
  tools/libxl/libxlu_disk_l.l |    2 ++
  4 files changed, 37 insertions(+), 6 deletions(-)
 
-Index: xen-4.8.0-testing/tools/libxl/libxl.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_disk.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl.c
-+++ xen-4.8.0-testing/tools/libxl/libxl.c
-@@ -2253,6 +2253,10 @@ static void device_disk_add(libxl__egc *
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_disk.c
++++ xen-4.9.0-testing/tools/libxl/libxl_disk.c
+@@ -357,6 +357,10 @@ static void device_disk_add(libxl__egc *
                  /* now create a phy device to export the device to the guest 
*/
                  goto do_backend_phy;
              case LIBXL_DISK_BACKEND_QDISK:
@@ -21,11 +21,11 @@
 +              }
                  flexarray_append(back, "params");
                  flexarray_append(back, GCSPRINTF("%s:%s",
-                               
libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
-Index: xen-4.8.0-testing/tools/libxl/libxl_device.c
+                               
libxl__device_disk_string_of_format(disk->format),
+Index: xen-4.9.0-testing/tools/libxl/libxl_device.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_device.c
-+++ xen-4.8.0-testing/tools/libxl/libxl_device.c
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_device.c
++++ xen-4.9.0-testing/tools/libxl/libxl_device.c
 @@ -307,7 +307,8 @@ static int disk_try_backend(disk_try_bac
          return backend;
  
@@ -36,11 +36,11 @@
          return backend;
  
      default:
-Index: xen-4.8.0-testing/tools/libxl/libxl_dm.c
+Index: xen-4.9.0-testing/tools/libxl/libxl_dm.c
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxl_dm.c
-+++ xen-4.8.0-testing/tools/libxl/libxl_dm.c
-@@ -905,6 +905,30 @@ static char *qemu_disk_ide_drive_string(
+--- xen-4.9.0-testing.orig/tools/libxl/libxl_dm.c
++++ xen-4.9.0-testing/tools/libxl/libxl_dm.c
+@@ -910,6 +910,30 @@ static char *qemu_disk_ide_drive_string(
      return drive;
  }
  
@@ -71,7 +71,7 @@
  static int libxl__build_device_model_args_new(libxl__gc *gc,
                                          const char *dm, int guest_domid,
                                          const libxl_domain_config 
*guest_config,
-@@ -1328,9 +1352,11 @@ static int libxl__build_device_model_arg
+@@ -1472,9 +1496,11 @@ static int libxl__build_device_model_arg
                  libxl__device_disk_dev_number(disks[i].vdev, &disk, &part);
              const char *format;
              char *drive;
@@ -82,9 +82,9 @@
 +            libxl__suse_node_to_path(gc, guest_domid, disks + i, 
&target_path);
 +
              if (dev_number == -1) {
-                 LOG(WARN, "unable to determine"" disk number for %s",
-                     disks[i].vdev);
-@@ -1371,7 +1397,7 @@ static int libxl__build_device_model_arg
+                 LOGD(WARN, guest_domid, "unable to determine"" disk number 
for %s",
+                      disks[i].vdev);
+@@ -1515,7 +1541,7 @@ static int libxl__build_device_model_arg
                   * the bootloader path.
                   */
                  if (disks[i].backend == LIBXL_DISK_BACKEND_TAP)
@@ -93,11 +93,11 @@
                                                          disks[i].format);
                  else
                      target_path = libxl__device_disk_find_local_path(gc,
-Index: xen-4.8.0-testing/tools/libxl/libxlu_disk_l.l
+Index: xen-4.9.0-testing/tools/libxl/libxlu_disk_l.l
 ===================================================================
---- xen-4.8.0-testing.orig/tools/libxl/libxlu_disk_l.l
-+++ xen-4.8.0-testing/tools/libxl/libxlu_disk_l.l
-@@ -228,6 +228,8 @@ target=.*  { STRIP(','); SAVESTRING("targ
+--- xen-4.9.0-testing.orig/tools/libxl/libxlu_disk_l.l
++++ xen-4.9.0-testing/tools/libxl/libxlu_disk_l.l
+@@ -229,6 +229,8 @@ target=.*  { STRIP(','); SAVESTRING("targ
                      free(newscript);
                  }
  

++++++ xen.stubdom.newlib.patch ++++++
--- /var/tmp/diff_new_pack.uWUaTu/_old  2017-05-27 13:09:49.275979614 +0200
+++ /var/tmp/diff_new_pack.uWUaTu/_new  2017-05-27 13:09:49.275979614 +0200
@@ -24,11 +24,11 @@
 
 Signed-off-by: Olaf Hering <[email protected]>
 
-Index: xen-4.8.0-testing/stubdom/Makefile
+Index: xen-4.9.0-testing/stubdom/Makefile
 ===================================================================
---- xen-4.8.0-testing.orig/stubdom/Makefile
-+++ xen-4.8.0-testing/stubdom/Makefile
-@@ -82,6 +82,8 @@ newlib-$(NEWLIB_VERSION): newlib-$(NEWLI
+--- xen-4.9.0-testing.orig/stubdom/Makefile
++++ xen-4.9.0-testing/stubdom/Makefile
+@@ -87,6 +87,8 @@ newlib-$(NEWLIB_VERSION): newlib-$(NEWLI
        patch -d $@ -p0 < newlib.patch
        patch -d $@ -p0 < newlib-chk.patch
        patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch
@@ -37,10 +37,10 @@
        find $@ -type f | xargs perl -i.bak \
                -pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
        touch $@
-Index: xen-4.8.0-testing/stubdom/newlib-cygmon-gmon.patch
+Index: xen-4.9.0-testing/stubdom/newlib-cygmon-gmon.patch
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/stubdom/newlib-cygmon-gmon.patch
++++ xen-4.9.0-testing/stubdom/newlib-cygmon-gmon.patch
 @@ -0,0 +1,60 @@
 +
 +I: A function uses a 'return;' statement, but has actually a value
@@ -102,10 +102,10 @@
 + moncontrol(mode)
 +     int mode;
 + {
-Index: xen-4.8.0-testing/stubdom/newlib-makedoc.patch
+Index: xen-4.9.0-testing/stubdom/newlib-makedoc.patch
 ===================================================================
 --- /dev/null
-+++ xen-4.8.0-testing/stubdom/newlib-makedoc.patch
++++ xen-4.9.0-testing/stubdom/newlib-makedoc.patch
 @@ -0,0 +1,10 @@
 +--- newlib-1.16.0/newlib/doc/makedoc.c.orig   2015-04-08 11:56:39.283090914 
+0200
 ++++ newlib-1.16.0/newlib/doc/makedoc.c        2015-04-08 11:56:51.245227742 
+0200
@@ -114,6 +114,6 @@
 + #include <stdlib.h>
 + #include <ctype.h>
 ++#include <string.h>
-+ 
++
 + #define DEF_SIZE 5000
 + #define STACK 50


Reply via email to