Hello community,

here is the log from the commit of package xen for openSUSE:Factory checked in 
at 2015-02-04 09:31:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
 and      /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xen"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes  2014-10-14 13:24:38.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes     2015-02-04 
09:31:32.000000000 +0100
@@ -1,0 +2,197 @@
+Wed Jan 14 10:47:43 MST 2015 - [email protected]
+
+- Update to Xen 4.5.0 FCS 
+
+-------------------------------------------------------------------
+Wed Jan 14 16:54:24 UTC 2015 - [email protected]
+
+- Include systemd presets in 13.2 and older
+
+-------------------------------------------------------------------
+Mon Jan 12 14:49:23 UTC 2015 - [email protected]
+
+- bnc#897352 - Enable xencommons/xendomains only during fresh install 
+- disable restart on upgrade because the toolstack is not restartable
+
+-------------------------------------------------------------------
+Tue Dec 16 11:42:30 UTC 2014 - [email protected]
+
+- adjust seabios, vgabios, stubdom and hvmloader build to reduce
+  build-compare noise
+  xen.build-compare.mini-os.patch
+  xen.build-compare.smbiosdate.patch
+  xen.build-compare.ipxe.patch
+  xen.build-compare.vgabios.patch
+  xen.build-compare.seabios.patch
+  xen.build-compare.man.patch
+
+-------------------------------------------------------------------
+Mon Dec 15 11:36:42 MST 2014 - [email protected]
+
+- Update to Xen 4.5.0 RC4
+
+-------------------------------------------------------------------
+Wed Dec 10 08:54:22 UTC 2014 - [email protected]
+
+- Remove xend specific if-up scripts
+  Recording bridge slaves is a generic task which should be handled
+  by generic network code
+
+-------------------------------------------------------------------
+Tue Dec  9 18:33:51 UTC 2014 - [email protected]
+
+- Use systemd features from upstream
+  requires updated systemd-presets-branding package
+
+-------------------------------------------------------------------
+Thu Dec  4 11:59:29 MST 2014 - [email protected]
+
+- Update to Xen 4.5.0 RC3
+
+-------------------------------------------------------------------
+Thu Dec  4 11:44:24 UTC 2014 - [email protected]
+
+- Set GIT, WGET and FTP to /bin/false
+
+-------------------------------------------------------------------
+Wed Dec  3 12:14:27 UTC 2014 - [email protected]
+
+- Use new configure features instead of make variables
+  xen.stubdom.newlib.patch
+
+-------------------------------------------------------------------
+Wed Nov 19 17:10:51 UTC 2014 - [email protected]
+
+- adjust docs and xen build to reduce build-compare noise
+  xen.build-compare.doc_html.patch
+  xen.build-compare.xen_compile_h.patch
+
+-------------------------------------------------------------------
+Mon Nov 17 16:28:13 UTC 2014 - [email protected]
+
+- Drop trailing B_CNT from XEN_EXTRAVERSION to reduce build-compare noise
+
+-------------------------------------------------------------------
+Tue Nov 11 11:15:30 MST 2014 - [email protected]
+
+- Update to Xen 4.5.0 RC2
+
+-------------------------------------------------------------------
+Thu Oct 23 18:34:55 MDT 2014 - [email protected]
+
+- Update to Xen 4.5.0 RC1
+  xen-4.5.0-testing-src.tar.bz2
+- Remove all patches now contained in the new tarball
+  xen-4.4.1-testing-src.tar.bz2
+  5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch
+  5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch
+  53299d8f-xenconsole-reset-tty-on-failure.patch
+  53299d8f-xenconsole-tolerate-tty-errors.patch
+  5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch
+  53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch
+  537c9c77-libxc-check-return-values-on-mmap-and-madvise.patch
+  
537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch
+  537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch
+  539ebe62-x86-EFI-improve-boot-time-diagnostics.patch
+  
53aac342-x86-HVM-consolidate-and-sanitize-CR4-guest-reserved-bit-determination.patch
+  53c9151b-Fix-xl-vncviewer-accesses-port-0-by-any-invalid-domid.patch
+  53d124e7-fix-list_domain_details-check-config-data-length-0.patch
+  53dba447-x86-ACPI-allow-CMOS-RTC-use-even-when-ACPI-says-there-is-none.patch
+  53df727b-x86-HVM-extend-LAPIC-shortcuts-around-P2M-lookups.patch
+  53e8be5f-x86-vHPET-use-rwlock-instead-of-simple-one.patch
+  53f737b1-VMX-fix-DebugCtl-MSR-clearing.patch
+  53f7386d-x86-irq-process-softirqs-in-irq-keyhandlers.patch
+  53fcebab-xen-pass-kernel-initrd-to-qemu.patch
+  53ff3659-x86-consolidate-boolean-inputs-in-hvm-and-p2m.patch
+  53ff36ae-x86-hvm-treat-non-insn-fetch-NPF-also-as-read-violations.patch
+  53ff36d5-x86-mem_event-deliver-gla-fault-EPT-violation-information.patch
+  53ff3716-x86-ats-Disable-Address-Translation-Services-by-default.patch
+  53ff3899-x86-NMI-allow-processing-unknown-NMIs-with-watchdog.patch
+  54005472-EPT-utilize-GLA-GPA-translation-known-for-certain-faults.patch
+  540effe6-evtchn-check-control-block-exists-when-using-FIFO-based-events.patch
+  540f2624-x86-idle-add-barriers-to-CLFLUSH-workaround.patch
+  541825dc-VMX-don-t-leave-x2APIC-MSR-intercepts-disabled.patch
+  541ad385-x86-suppress-event-check-IPI-to-MWAITing-CPUs.patch
+  541ad3ca-x86-HVM-batch-vCPU-wakeups.patch
+  541ad81a-VT-d-suppress-UR-signaling-for-further-desktop-chipsets.patch
+  54216833-x86-shadow-fix-race-when-sampling-dirty-vram-state.patch
+  54216882-x86-emulate-check-cpl-for-all-privileged-instructions.patch
+  542168ae-x86emul-only-emulate-swint-injection-for-real-mode.patch
+  54228a37-x86-EFI-fix-freeing-of-uninitialized-pointer.patch
+  5423e61c-x86emul-fix-SYSCALL-SYSENTER-SYSEXIT-emulation.patch
+  5424057f-x86-HVM-fix-miscellaneous-aspects-of-x2APIC-emulation.patch
+  542405b4-x86-HVM-fix-ID-handling-of-x2APIC-emulation.patch
+  542bf997-x86-HVM-properly-bound-x2APIC-MSR-range.patch
+  54325cc0-x86-MSI-fix-MSI-X-case-of-freeing-IRQ.patch
+  
54325d2f-x86-restore-reserving-of-IO-APIC-pages-in-XENMEM_machine_memory_map-output.patch
+  54325d95-don-t-allow-Dom0-access-to-IOMMUs-MMIO-pages.patch
+  54325ecc-AMD-guest_iommu-properly-disable-guest-iommu-support.patch
+  54325f3c-x86-paging-make-log-dirty-operations-preemptible.patch
+  54379e6d-x86-vlapic-don-t-silently-accept-bad-vectors.patch
+  CVE-2013-4540-qemu.patch qemu-support-xen-hvm-direct-kernel-boot.patch
+  qemu-xen-upstream-blkif-discard.patch change-vnc-passwd.patch
+  libxc-pass-errno-to-callers-of-xc_domain_save.patch
+  libxl.honor-more-top-level-vfb-options.patch
+  libxl.add-option-for-discard-support-to-xl-disk-conf.patch
+  libxl.introduce-an-option-to-disable-the-non-O_DIRECT-workaround.patch
+  x86-dom-print.patch x86-extra-trap-info.patch tmp_build.patch
+  xl-check-for-libvirt-managed-domain.patch disable-wget-check.patch
+- Xend/xm is no longer supported and is not part of the upstream code. Remove
+  all xend/xm specific patches, configs, and scripts
+  xen-xmexample.patch bridge-opensuse.patch xmexample.disks xmclone.sh
+  init.xend xend-relocation.sh xend.service xend-relocation-server.fw
+  domUloader.py xmexample.domUloader xmexample.disks
+  bridge-vlan.patch bridge-bonding.patch bridge-record-creation.patch
+  network-nat-open-SuSEfirewall2-FORWARD.patch
+  xend-set-migration-constraints-from-cmdline.patch
+  xen.migrate.tools-xend_move_assert_to_exception_block.patch
+  xend-pvscsi-recognize-also-SCSI-CDROM-devices.patch
+  xend-config.patch xend-max-free-mem.patch xend-hvm-default-pae.patch
+  xend-vif-route-ifup.patch xend-xenapi-console-protocol.patch 
xend-core-dump-loc.patch
+  xend-xen-api-auth.patch xend-checkpoint-rename.patch 
xend-xm-save-check-file.patch
+  xend-xm-create-xflag.patch xend-domu-usb-controller.patch 
xend-devid-or-name.patch
+  xend-migration-domname-fix.patch xend-del_usb_xend_entry.patch 
xend-xen-domUloader.patch
+  xend-multi-xvdp.patch xend-check_device_status.patch 
xend-change_home_server.patch
+  xend-minimum-restart-time.patch xend-disable-internal-logrotate.patch 
xend-config-enable-dump-comment.patch
+  xend-tools-watchdog-support.patch xend-console-port-restore.patch 
xend-vcpu-affinity-fix.patch
+  xend-migration-bridge-check.patch xend-managed-pci-device.patch 
xend-hvm-firmware-passthrough.patch
+  xend-cpuinfo-model-name.patch xend-xm-reboot-fix.patch xend-domain-lock.patch
+  xend-domain-lock-sfex.patch xend-32on64-extra-mem.patch 
xend-hv_extid_compatibility.patch
+  xend-xenpaging.autostart.patch xend-remove-xm-deprecation-warning.patch 
libxen_permissive.patch
+  tmp-initscript-modprobe.patch init.xendomains xendomains.service
+  xen-watchdog.service xen-updown.sh
+
+-------------------------------------------------------------------
+Thu Oct 16 14:17:37 MDT 2014 - [email protected]
+
+- bnc#901317 - L3: increase limit domUloader to 32MB
+  domUloader.py
+
+-------------------------------------------------------------------
+Tue Oct 14 09:16:37 MDT 2014 - [email protected]
+
+- bnc#898772 - SLES 12 RC3 - XEN Host crashes when assigning non-VF
+  device (SR-IOV) to guest
+  54325cc0-x86-MSI-fix-MSI-X-case-of-freeing-IRQ.patch
+- bnc#882089 - Windows 2012 R2 fails to boot up with greater than
+  60 vcpus
+  54325ecc-AMD-guest_iommu-properly-disable-guest-iommu-support.patch
+- bnc#826717 - VUL-0: CVE-2013-3495: XSA-59: xen: Intel VT-d
+  Interrupt Remapping engines can be evaded by native NMI interrupts 
+  541ad81a-VT-d-suppress-UR-signaling-for-further-desktop-chipsets.patch
+- Upstream patches from Jan
+  
540effe6-evtchn-check-control-block-exists-when-using-FIFO-based-events.patch 
(Replaces xsa107.patch)
+  54216833-x86-shadow-fix-race-when-sampling-dirty-vram-state.patch (Replaces 
xsa104.patch)
+  54216882-x86-emulate-check-cpl-for-all-privileged-instructions.patch 
(Replaces xsa105.patch)
+  542168ae-x86emul-only-emulate-swint-injection-for-real-mode.patch (Replaces 
xsa106.patch)
+  54228a37-x86-EFI-fix-freeing-of-uninitialized-pointer.patch
+  5423e61c-x86emul-fix-SYSCALL-SYSENTER-SYSEXIT-emulation.patch
+  5424057f-x86-HVM-fix-miscellaneous-aspects-of-x2APIC-emulation.patch
+  542405b4-x86-HVM-fix-ID-handling-of-x2APIC-emulation.patch
+  542bf997-x86-HVM-properly-bound-x2APIC-MSR-range.patch (Replaces 
xsa108.patch)
+  
54325d2f-x86-restore-reserving-of-IO-APIC-pages-in-XENMEM_machine_memory_map-output.patch
+  54325d95-don-t-allow-Dom0-access-to-IOMMUs-MMIO-pages.patch
+  54325f3c-x86-paging-make-log-dirty-operations-preemptible.patch (Replaces 
xsa97.patch)
+  54379e6d-x86-vlapic-don-t-silently-accept-bad-vectors.patch
+
+-------------------------------------------------------------------
++++ 34 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/xen/xen.changes
++++ and /work/SRC/openSUSE:Factory/.xen.new/xen.changes

Old:
----
  5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch
  5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch
  53299d8f-xenconsole-reset-tty-on-failure.patch
  53299d8f-xenconsole-tolerate-tty-errors.patch
  5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch
  53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch
  
537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch
  537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch
  539ebe62-x86-EFI-improve-boot-time-diagnostics.patch
  
53aac342-x86-HVM-consolidate-and-sanitize-CR4-guest-reserved-bit-determination.patch
  53c9151b-Fix-xl-vncviewer-accesses-port-0-by-any-invalid-domid.patch
  53d124e7-fix-list_domain_details-check-config-data-length-0.patch
  53dba447-x86-ACPI-allow-CMOS-RTC-use-even-when-ACPI-says-there-is-none.patch
  53df727b-x86-HVM-extend-LAPIC-shortcuts-around-P2M-lookups.patch
  53e8be5f-x86-vHPET-use-rwlock-instead-of-simple-one.patch
  53f737b1-VMX-fix-DebugCtl-MSR-clearing.patch
  53f7386d-x86-irq-process-softirqs-in-irq-keyhandlers.patch
  53fcebab-xen-pass-kernel-initrd-to-qemu.patch
  53ff3659-x86-consolidate-boolean-inputs-in-hvm-and-p2m.patch
  53ff36ae-x86-hvm-treat-non-insn-fetch-NPF-also-as-read-violations.patch
  53ff36d5-x86-mem_event-deliver-gla-fault-EPT-violation-information.patch
  53ff3716-x86-ats-Disable-Address-Translation-Services-by-default.patch
  53ff3899-x86-NMI-allow-processing-unknown-NMIs-with-watchdog.patch
  54005472-EPT-utilize-GLA-GPA-translation-known-for-certain-faults.patch
  CVE-2013-4540-qemu.patch
  bridge-bonding.patch
  bridge-opensuse.patch
  bridge-record-creation.patch
  bridge-vlan.patch
  change-vnc-passwd.patch
  disable-wget-check.patch
  domUloader.py
  init.xend
  init.xendomains
  libxc-pass-errno-to-callers-of-xc_domain_save.patch
  libxen_permissive.patch
  libxl.add-option-for-discard-support-to-xl-disk-conf.patch
  libxl.honor-more-top-level-vfb-options.patch
  libxl.introduce-an-option-to-disable-the-non-O_DIRECT-workaround.patch
  network-nat-open-SuSEfirewall2-FORWARD.patch
  qemu-support-xen-hvm-direct-kernel-boot.patch
  qemu-xen-upstream-blkif-discard.patch
  tmp-initscript-modprobe.patch
  x86-dom-print.patch
  x86-extra-trap-info.patch
  xen-4.4.1-testing-src.tar.bz2
  xen-updown.sh
  xen-watchdog.service
  xen-xmexample.patch
  xen.migrate.tools-xend_move_assert_to_exception_block.patch
  xend-32on64-extra-mem.patch
  xend-change_home_server.patch
  xend-check_device_status.patch
  xend-checkpoint-rename.patch
  xend-config-enable-dump-comment.patch
  xend-config.patch
  xend-console-port-restore.patch
  xend-core-dump-loc.patch
  xend-cpuinfo-model-name.patch
  xend-del_usb_xend_entry.patch
  xend-devid-or-name.patch
  xend-disable-internal-logrotate.patch
  xend-domain-lock-sfex.patch
  xend-domain-lock.patch
  xend-domu-usb-controller.patch
  xend-hv_extid_compatibility.patch
  xend-hvm-default-pae.patch
  xend-hvm-firmware-passthrough.patch
  xend-managed-pci-device.patch
  xend-max-free-mem.patch
  xend-migration-bridge-check.patch
  xend-migration-domname-fix.patch
  xend-minimum-restart-time.patch
  xend-multi-xvdp.patch
  xend-pvscsi-recognize-also-SCSI-CDROM-devices.patch
  xend-relocation-server.fw
  xend-relocation.sh
  xend-remove-xm-deprecation-warning.patch
  xend-set-migration-constraints-from-cmdline.patch
  xend-tools-watchdog-support.patch
  xend-vcpu-affinity-fix.patch
  xend-vif-route-ifup.patch
  xend-xen-api-auth.patch
  xend-xen-domUloader.patch
  xend-xenapi-console-protocol.patch
  xend-xenpaging.autostart.patch
  xend-xm-create-xflag.patch
  xend-xm-reboot-fix.patch
  xend-xm-save-check-file.patch
  xend.service
  xendomains.service
  xl-check-for-libvirt-managed-domain.patch
  xmclone.sh
  xmexample.disks
  xmexample.domUloader
  xsa104.patch
  xsa105.patch
  xsa106.patch
  xsa107.patch
  xsa108.patch

New:
----
  xen-4.5.0-testing-src.tar.bz2
  xen.build-compare.doc_html.patch
  xen.build-compare.ipxe.patch
  xen.build-compare.man.patch
  xen.build-compare.mini-os.patch
  xen.build-compare.seabios.patch
  xen.build-compare.smbiosdate.patch
  xen.build-compare.vgabios.patch
  xen.build-compare.xen_compile_h.patch
  xen.stubdom.newlib.patch
  xl-coredump-file-location.patch

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

Other differences:
------------------
++++++ xen.spec ++++++
++++ 1295 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/xen/xen.spec
++++ and /work/SRC/openSUSE:Factory/.xen.new/xen.spec

++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -601,16 +601,13 @@
 Grub2 Example:
   Edit /etc/default/grub and add,
     GRUB_CMDLINE_XEN_DEFAULT="noreboot loglvl=all guest_loglvl=all"
-  Edit /etc/grub.d/20_linux_xen file. Look for this line:
-    while [ "x${xen_list}" != "x" ] ; do
-  and add *before* the above line something like this:
-    xen_dbg_list=`readlink -f /boot/xen-dbg.gz`
-    xen_list="$xen_list $xen_dbg_list"
-  finally run:
-    grub2-mkconfig -o /boot/grub2/grub.cfg
-  On reboot, select "Advanced options for SUSE Linux Enterprise Server 12
-  (with Xen hypervisor)" from the grub menu and the Xen hypervisor debug entry
-  in the submenu.
+  Edit /boot/grub2/grub.cfg and look for these lines:
+    multiboot /boot/xen-<version>.gz ...
+  and replace them with:
+    multiboot /boot/xen-dbg-<version>.gz' ... Replace <version> with the
+    appropriate version string contained in the filename. Note that running
+    grub2-mkconfig -o /boot/grub2/grub.cfg will overwrite all manual changes
+    made to grub.cfg.
 
 Grub1 Example:
   Edit your menu.lst configuration from something like this:

++++++ bdrv_open2_flags_2.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
 ===================================================================
---- 
xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
+--- 
xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
 @@ -225,6 +225,7 @@ static int open_disk(struct td_state *s,
        BlockDriver* drv;
        char* devname;
@@ -19,11 +19,11 @@
                fprintf(stderr, "Could not open image file %s\n", path);
                return -ENOMEM;
        }
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -135,7 +135,8 @@ static void insert_media(void *opaque)
+--- 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
+@@ -134,7 +134,8 @@ static void insert_media(void *opaque)
              else 
                  format = &bdrv_raw;
  
@@ -33,7 +33,7 @@
  #ifdef CONFIG_STUBDOM
              {
                  char *buf, *backend, *params_path, *params;
-@@ -510,7 +511,8 @@ void xenstore_parse_domain_config(int hv
+@@ -509,7 +510,8 @@ void xenstore_parse_domain_config(int hv
      }
          
      for (i = 0; i < num; i++) {
@@ -43,7 +43,7 @@
          /* read the backend path */
          xenstore_get_backend_path(&bpath, "vbd", danger_path, hvm_domid, 
e_danger[i]);
          if (bpath == NULL)
-@@ -596,6 +598,17 @@ void xenstore_parse_domain_config(int hv
+@@ -595,6 +597,17 @@ void xenstore_parse_domain_config(int hv
            format = &bdrv_raw;
          }
  
@@ -61,7 +61,7 @@
  #if 0
        /* Phantom VBDs are disabled because the use of paths
         * from guest-controlled areas in xenstore is unsafe.
-@@ -663,7 +676,7 @@ void xenstore_parse_domain_config(int hv
+@@ -662,7 +675,7 @@ void xenstore_parse_domain_config(int hv
  #ifdef CONFIG_STUBDOM
          if (pasprintf(&danger_buf, "%s/device/vbd/%s", danger_path, 
e_danger[i]) == -1)
              continue;

++++++ blktap-pv-cdrom.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -8,10 +8,10 @@
  xen/include/public/io/cdromif.h                  |  122 ++++
  7 files changed, 726 insertions(+), 3 deletions(-)
 
-Index: xen-4.4.0-testing/tools/blktap/drivers/Makefile
+Index: xen-4.5.0-testing/tools/blktap/drivers/Makefile
 ===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/drivers/Makefile
-+++ xen-4.4.0-testing/tools/blktap/drivers/Makefile
+--- xen-4.5.0-testing.orig/tools/blktap/drivers/Makefile
++++ xen-4.5.0-testing/tools/blktap/drivers/Makefile
 @@ -32,8 +32,9 @@ AIOLIBS     := -laio
  CFLAGS += $(PTHREAD_CFLAGS)
  LDFLAGS += $(PTHREAD_LDFLAGS)
@@ -32,10 +32,10 @@
  BLK-OBJS-y  += aes.o
  BLK-OBJS-y  += tapaio.o
  BLK-OBJS-$(CONFIG_Linux) += blk_linux.o
-Index: xen-4.4.0-testing/tools/blktap/drivers/block-cdrom.c
+Index: xen-4.5.0-testing/tools/blktap/drivers/block-cdrom.c
 ===================================================================
 --- /dev/null
-+++ xen-4.4.0-testing/tools/blktap/drivers/block-cdrom.c
++++ xen-4.5.0-testing/tools/blktap/drivers/block-cdrom.c
 @@ -0,0 +1,568 @@
 +/* block-cdrom.c
 + *
@@ -605,10 +605,10 @@
 +      .td_get_parent_id    = tdcdrom_get_parent_id,
 +      .td_validate_parent  = tdcdrom_validate_parent
 +};
-Index: xen-4.4.0-testing/tools/blktap/drivers/tapdisk.c
+Index: xen-4.5.0-testing/tools/blktap/drivers/tapdisk.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/drivers/tapdisk.c
-+++ xen-4.4.0-testing/tools/blktap/drivers/tapdisk.c
+--- xen-4.5.0-testing.orig/tools/blktap/drivers/tapdisk.c
++++ xen-4.5.0-testing/tools/blktap/drivers/tapdisk.c
 @@ -735,6 +735,22 @@ static void get_io_request(struct td_sta
                                        goto out;
                                }
@@ -632,10 +632,10 @@
                        default:
                                DPRINTF("Unknown block operation\n");
                                break;
-Index: xen-4.4.0-testing/tools/blktap/drivers/tapdisk.h
+Index: xen-4.5.0-testing/tools/blktap/drivers/tapdisk.h
 ===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/drivers/tapdisk.h
-+++ xen-4.4.0-testing/tools/blktap/drivers/tapdisk.h
+--- xen-4.5.0-testing.orig/tools/blktap/drivers/tapdisk.h
++++ xen-4.5.0-testing/tools/blktap/drivers/tapdisk.h
 @@ -137,6 +137,9 @@ struct tap_disk {
        int (*td_get_parent_id)  (struct disk_driver *dd, struct disk_id *id);
        int (*td_validate_parent)(struct disk_driver *dd, 
@@ -680,10 +680,10 @@
  };
  
  typedef struct driver_list_entry {
-Index: xen-4.4.0-testing/tools/blktap/lib/blktaplib.h
+Index: xen-4.5.0-testing/tools/blktap/lib/blktaplib.h
 ===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/lib/blktaplib.h
-+++ xen-4.4.0-testing/tools/blktap/lib/blktaplib.h
+--- xen-4.5.0-testing.orig/tools/blktap/lib/blktaplib.h
++++ xen-4.5.0-testing/tools/blktap/lib/blktaplib.h
 @@ -219,6 +219,7 @@ typedef struct msg_pid {
  #define DISK_TYPE_RAM      3
  #define DISK_TYPE_QCOW     4
@@ -692,11 +692,11 @@
  
  /* xenstore/xenbus: */
  #define DOMNAME "Domain-0"
-Index: xen-4.4.0-testing/xen/include/public/io/blkif.h
+Index: xen-4.5.0-testing/xen/include/public/io/blkif.h
 ===================================================================
---- xen-4.4.0-testing.orig/xen/include/public/io/blkif.h
-+++ xen-4.4.0-testing/xen/include/public/io/blkif.h
-@@ -453,7 +453,7 @@
+--- xen-4.5.0-testing.orig/xen/include/public/io/blkif.h
++++ xen-4.5.0-testing/xen/include/public/io/blkif.h
+@@ -485,7 +485,7 @@
   * Used in SLES sources for device specific command packet
   * contained within the request. Reserved for that purpose.
   */
@@ -705,10 +705,10 @@
  /*
   * Indicate to the backend device that a region of storage is no longer in
   * use, and may be discarded at any time without impact to the client.  If
-Index: xen-4.4.0-testing/xen/include/public/io/cdromif.h
+Index: xen-4.5.0-testing/xen/include/public/io/cdromif.h
 ===================================================================
 --- /dev/null
-+++ xen-4.4.0-testing/xen/include/public/io/cdromif.h
++++ xen-4.5.0-testing/xen/include/public/io/cdromif.h
 @@ -0,0 +1,122 @@
 
+/******************************************************************************
 + * cdromif.h

++++++ blktap.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -1,19 +1,6 @@
 bug #239173
 bug #242953
 
-Index: xen-4.4.0-testing/tools/python/xen/xend/XendDomainInfo.py
-===================================================================
---- xen-4.4.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.4.0-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -3281,7 +3281,7 @@ class XendDomainInfo:
-                          (fn, BOOTLOADER_LOOPBACK_DEVICE))
- 
-                 vbd = {
--                    'mode': 'RO',
-+                    'mode': 'RW',
-                     'device': BOOTLOADER_LOOPBACK_DEVICE,
-                     }
- 
 Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
 --- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c

++++++ block-dmmd ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -94,16 +94,8 @@
 function activate_lvm()
 {
     local run_timeout=90
-    local parsed_timeout
     local end_time
 
-    # Parse device-create-timeout from /etc/xen/xend-config.sxp
-    # If not set, use default timeout of 90s
-    parsed_timeout=$(grep -v  "^[ \t]*#.*" /etc/xen/xend-config.sxp|sed -n 
's/(device-create-timeout \+\([0-9]\+\))/\1/p')
-    if [ ! -z $parsed_timeout ]; then
-       run_timeout=$((${parsed_timeout}*9/10))
-    fi
-
     end_time=$(($(date +%s)+${run_timeout}))
     while true; do
        /sbin/lvchange -aey $1

++++++ build-tapdisk-ioemu.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -8,24 +8,27 @@
 being built. This patch re-enables the build of tapdisk-ioemu.
 
 Signed-off-by: Kevin Wolf <[email protected]>
----
- Makefile        |   22 +++++++++++++++-------
- configure       |    2 +-
- qemu-tool.c     |    2 +-
- tapdisk-ioemu.c |   17 -----------------
- 4 files changed, 17 insertions(+), 26 deletions(-)
 
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
 ===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
+@@ -1,3 +1,4 @@
++CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
+ CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include
+ CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include
+ CPPFLAGS+= -I$(XEN_ROOT)/tools/include
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
+===================================================================
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
 @@ -46,14 +46,6 @@ $(filter %-user,$(SUBDIR_RULES)): libqem
  
  recurse-all: $(SUBDIR_RULES)
  
--CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
+-CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include
 -CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
--CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+-CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include
 -CPPFLAGS += -I$(XEN_ROOT)/tools/include
 -
 -tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c 
block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c 
block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
@@ -46,9 +49,9 @@
 +tapdisk-ioemu.o: tapdisk-ioemu.c
 +      $(CC) $(CFLAGS) $(CPPFLAGS) -DQEMU_IMG -DQEMU_TOOL -c -o $@ $<
 +
-+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
++tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include
 +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
-+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
++tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include
 +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/include
 +tapdisk-ioemu: tapdisk-ioemu.o $(BLOCK_OBJS) qemu-tool.o 
hw/tapdisk-xen_blktap.o
 +      $(CC) $(LDFLAGS) -o $@ $^ -lz $(LIBS)
@@ -56,10 +59,10 @@
  ######################################################################
  # libqemu_common.a: Target independent part of system emulation. The
  # long term path is to suppress *all* target specific code in case of
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/configure
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/configure
 ===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/configure
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/configure
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/configure
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/configure
 @@ -1512,7 +1512,7 @@ bsd)
  ;;
  esac
@@ -69,10 +72,10 @@
  if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
    tools="qemu-img\$(EXESUF) $tools"
    if [ "$linux" = "yes" ] ; then
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
 @@ -68,7 +68,7 @@ void qemu_bh_delete(QEMUBH *bh)
      qemu_free(bh);
  }
@@ -82,10 +85,10 @@
                           IOCanRWHandler *fd_read_poll,
                           IOHandler *fd_read,
                           IOHandler *fd_write,
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
 ===================================================================
---- 
xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
+--- 
xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
 @@ -12,34 +12,12 @@
  
  extern void qemu_aio_init(void);

++++++ cdrom-removable.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -1,402 +1,3 @@
-Index: xen-4.4.0-testing/tools/python/xen/xend/server/HalDaemon.py
-===================================================================
---- /dev/null
-+++ xen-4.4.0-testing/tools/python/xen/xend/server/HalDaemon.py
-@@ -0,0 +1,243 @@
-+#!/usr/bin/env python
-+#  -*- mode: python; -*-
-+#============================================================================
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of version 2.1 of the GNU Lesser General Public
-+# License as published by the Free Software Foundation.
-+#
-+# This library 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.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with this library; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-+#============================================================================
-+# Copyright (C) 2007 Pat Campbell <[email protected]>
-+# Copyright (C) 2007 Novell Inc.
-+#============================================================================
-+
-+"""hald (Hardware Abstraction Layer Daemon) watcher for Xen management
-+   of removable block device media.
-+
-+"""
-+
-+import gobject
-+import dbus
-+import dbus.glib
-+import os
-+import types
-+import sys
-+import signal
-+import traceback
-+from xen.xend.xenstore.xstransact import xstransact, complete
-+from xen.xend.xenstore.xsutil import xshandle
-+from xen.xend import PrettyPrint
-+from xen.xend import XendLogging
-+from xen.xend.XendLogging import log
-+
-+DEVICE_TYPES = ['vbd', 'tap']
-+
-+class HalDaemon:
-+    """The Hald block device watcher for XEN
-+    """
-+
-+    """Default path to the log file. """
-+    logfile_default = "/var/log/xen/hald.log"
-+
-+    """Default level of information to be logged."""
-+    loglevel_default = 'INFO'
-+
-+
-+    def __init__(self):
-+
-+        XendLogging.init(self.logfile_default, self.loglevel_default)
-+        log.debug( "%s", "__init__")
-+
-+        self.udi_dict = {}
-+        self.debug = 0
-+        self.dbpath = "/local/domain/0/backend"
-+        self.bus = dbus.SystemBus()
-+        self.hal_manager_obj = self.bus.get_object('org.freedesktop.Hal', 
'/org/freedesktop/Hal/Manager')
-+        self.hal_manager = dbus.Interface( self.hal_manager_obj, 
'org.freedesktop.Hal.Manager')
-+        self.gatherBlockDevices()
-+        self.registerDeviceCallbacks()
-+
-+    def run(self):
-+        log.debug( "%s", "In new run" );
-+        try:
-+            self.mainloop = gobject.MainLoop()
-+            self.mainloop.run()
-+        except KeyboardInterrupt, ex:
-+            log.debug('Keyboard exception handler: %s', ex )
-+            self.mainloop.quit()
-+        except Exception, ex:
-+            log.debug('Generic exception handler: %s', ex )
-+            self.mainloop.quit()
-+
-+    def __del__(self):
-+        log.debug( "%s", "In del " );
-+        self.unRegisterDeviceCallbacks()
-+        self.mainloop.quit()
-+
-+    def shutdown(self):
-+        log.debug( "%s", "In shutdown now " );
-+        self.unRegisterDeviceCallbacks()
-+        self.mainloop.quit()
-+
-+    def stop(self):
-+        log.debug( "%s", "In stop now " );
-+        self.unRegisterDeviceCallbacks()
-+        self.mainloop.quit()
-+
-+    def gatherBlockDevices(self):
-+
-+        # Get all the current devices from hal and save in a dictionary
-+        try:
-+            device_names = self.hal_manager.GetAllDevices()
-+            i = 0;
-+            for name in device_names:
-+                #log.debug("device name, device=%s",name)
-+               dev_obj = self.bus.get_object ('org.freedesktop.Hal', name)
-+               dev = dbus.Interface (dev_obj, 'org.freedesktop.Hal.Device')
-+               dev_properties = 
dev_obj.GetAllProperties(dbus_interface="org.freedesktop.Hal.Device")
-+               if dev_properties.has_key('block.device'):
-+                   dev_str = dev_properties['block.device']
-+                   dev_major = dev_properties['block.major']
-+                   dev_minor = dev_properties['block.minor']
-+                   udi_info = {}
-+                   udi_info['device'] = dev_str
-+                   udi_info['major'] = dev_major
-+                   udi_info['minor'] = dev_minor
-+                   udi_info['udi'] = name
-+                   self.udi_dict[i] = udi_info
-+                   i = i + 1
-+        except Exception, ex:
-+            print >>sys.stderr, 'Exception gathering block devices:', ex
-+            log.warn("Exception gathering block devices (%s)",ex)
-+
-+    #
-+    def registerDeviceCallbacks(self):
-+        # setup the callbacks for when the gdl changes
-+        self.hal_manager.connect_to_signal('DeviceAdded', 
self.device_added_callback)
-+        self.hal_manager.connect_to_signal('DeviceRemoved', 
self.device_removed_callback)
-+
-+    #
-+    def unRegisterDeviceCallbacks(self):
-+        # setup the callbacks for when the gdl changes
-+        
self.hal_manager.remove_signal_receiver(self.device_added_callback,'DeviceAdded')
-+        
self.hal_manager.remove_signal_receiver(self.device_removed_callback,'DeviceRemoved')
-+
-+    #
-+    def device_removed_callback(self,udi):
-+        log.debug('UDI %s was removed',udi)
-+        self.show_dict(self.udi_dict)
-+        for key in self.udi_dict:
-+            udi_info = self.udi_dict[key]
-+            if udi_info['udi'] == udi:
-+                device = udi_info['device']
-+                major = udi_info['major']
-+                minor = udi_info['minor']
-+                self.change_xenstore( "remove", device, major, minor)
-+
-+    # Adds device to dictionary if not already there
-+    def device_added_callback(self,udi):
-+        log.debug('UDI %s was added', udi)
-+        self.show_dict(self.udi_dict)
-+        dev_obj = self.bus.get_object ('org.freedesktop.Hal', udi)
-+        dev = dbus.Interface (dev_obj, 'org.freedesktop.Hal.Device')
-+        device = dev.GetProperty ('block.device')
-+        major = dev.GetProperty ('block.major')
-+        minor = dev.GetProperty ('block.minor')
-+        udi_info = {}
-+        udi_info['device'] = device
-+        udi_info['major'] = major
-+        udi_info['minor'] = minor
-+        udi_info['udi'] = udi
-+        already = 0
-+        cnt = 0;
-+        for key in self.udi_dict:
-+            info = self.udi_dict[key]
-+            if info['udi'] == udi:
-+                already = 1
-+                break
-+            cnt = cnt + 1
-+        if already == 0:
-+           self.udi_dict[cnt] = udi_info;
-+           log.debug('UDI %s was added, device:%s major:%s minor:%s 
index:%d\n', udi, device, major, minor, cnt)
-+        self.change_xenstore( "add", device, major, minor)
-+
-+    # Debug helper, shows dictionary contents
-+    def show_dict(self,dict=None):
-+        if self.debug == 0 :
-+            return
-+        if dict == None :
-+            dict = self.udi_dict
-+        for key in dict:
-+            log.debug('udi_info %s udi_info:%s',key,dict[key])
-+
-+    # Set or clear xenstore media-present depending on the action argument
-+    #  for every vbd that has this block device
-+    def change_xenstore(self,action, device, major, minor):
-+        for type in DEVICE_TYPES:
-+            path = self.dbpath + '/' + type
-+            domains = xstransact.List(path)
-+            log.debug('domains: %s', domains)
-+            for domain in domains:   # for each domain
-+                devices = xstransact.List( path + '/' + domain)
-+                log.debug('devices: %s',devices)
-+                for device in devices:  # for each vbd device
-+                   str = device.split('/')
-+                   vbd_type = None;
-+                   vbd_physical_device = None
-+                   vbd_media = None
-+                   vbd_device_path = path + '/' + domain + '/' + device
-+                   listing = xstransact.List(vbd_device_path)
-+                   for entry in listing: # for each entry
-+                       item = path + '/' + entry
-+                       value = xstransact.Read( vbd_device_path + '/' + entry)
-+                       log.debug('%s=%s',item,value)
-+                       if item.find('media-present') != -1:
-+                           vbd_media = item;
-+                           vbd_media_path = item
-+                       if item.find('physical-device') != -1:
-+                           vbd_physical_device = value;
-+                       if item.find('type') != -1:
-+                           vbd_type = value;
-+                   if vbd_type is not None and vbd_physical_device is not 
None and vbd_media is not None :
-+                       inode = vbd_physical_device.split(':')
-+                       imajor = parse_hex(inode[0])
-+                       iminor = parse_hex(inode[1])
-+                       log.debug("action:%s major:%s- minor:%s- imajor:%s- 
iminor:%s- inode: %s",
-+                               action,major,minor, imajor, iminor, inode)
-+                       if int(imajor) == int(major) and int(iminor) == 
int(minor):
-+                           if action == "add":
-+                               xs_dict = {'media': "1"}
-+                               xstransact.Write(vbd_device_path, 
'media-present', "1" )
-+                               log.debug("wrote xenstore media-present 1 
path:%s",vbd_media_path)
-+                           else:
-+                               xstransact.Write(vbd_device_path, 
'media-present', "0" )
-+                               log.debug("wrote xenstore media 0 
path:%s",vbd_media_path)
-+
-+def mylog( fmt, *args):
-+    f = open('/tmp/haldaemon.log', 'a')
-+    print >>f, "HalDaemon ", fmt % args
-+    f.close()
-+
-+
-+def parse_hex(val):
-+    try:
-+        if isinstance(val, types.StringTypes):
-+            return int(val, 16)
-+        else:
-+            return val
-+    except ValueError:
-+        return None
-+
-+if __name__ == "__main__":
-+    watcher = HalDaemon()
-+    watcher.run()
-+    print 'Falling off end'
-+
-+
-Index: xen-4.4.0-testing/tools/python/xen/xend/server/Hald.py
-===================================================================
---- /dev/null
-+++ xen-4.4.0-testing/tools/python/xen/xend/server/Hald.py
-@@ -0,0 +1,125 @@
-+#============================================================================
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of version 2.1 of the GNU Lesser General Public
-+# License as published by the Free Software Foundation.
-+#
-+# This library 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.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with this library; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-+#============================================================================
-+# Copyright (C) 2007 Pat Campbell <[email protected]>
-+# Copyright (C) 2007 Novell Inc.
-+#============================================================================
-+
-+import errno
-+import types
-+import os
-+import sys
-+import time
-+import signal
-+from traceback import print_exc
-+
-+from xen.xend.XendLogging import log
-+
-+class Hald:
-+    def __init__(self):
-+        self.ready = False
-+        self.running = True
-+
-+    def run(self):
-+        """Starts the HalDaemon process
-+        """
-+        self.ready = True
-+        try:
-+            myfile =  self.find("xen/xend/server/HalDaemon.py")
-+            args = (["python", myfile ])
-+            self.pid = self.daemonize("python", args )
-+            #log.debug( "%s %s pid:%d", "Hald.py starting ", args, self.pid )
-+        except:
-+            self.pid = -1
-+            log.debug("Unable to start HalDaemon process")
-+
-+    def shutdown(self):
-+        """Shutdown the HalDaemon process
-+        """
-+        log.debug("%s  pid:%d", "Hald.shutdown()", self.pid)
-+        self.running = False
-+        self.ready = False
-+        if self.pid != -1:
-+            try:
-+                os.kill(self.pid, signal.SIGINT)
-+            except:
-+                print_exc()
-+
-+    def daemonize(self,prog, args):
-+        """Runs a program as a daemon with the list of arguments.  Returns 
the PID
-+        of the daemonized program, or returns 0 on error.
-+        Copied from xm/create.py instead of importing to reduce coupling
-+        """
-+        r, w = os.pipe()
-+        pid = os.fork()
-+
-+        if pid == 0:
-+            os.close(r)
-+            w = os.fdopen(w, 'w')
-+            os.setsid()
-+            try:
-+                pid2 = os.fork()
-+            except:
-+                pid2 = None
-+            if pid2 == 0:
-+                os.chdir("/")
-+                env = os.environ.copy()
-+                env['PYTHONPATH'] = self.getpythonpath()
-+                for fd in range(0, 256):
-+                    try:
-+                        os.close(fd)
-+                    except:
-+                        pass
-+                os.open("/dev/null", os.O_RDWR)
-+                os.dup2(0, 1)
-+                os.dup2(0, 2)
-+                os.execvpe(prog, args, env)
-+                os._exit(1)
-+            else:
-+                w.write(str(pid2 or 0))
-+                w.close()
-+                os._exit(0)
-+        os.close(w)
-+        r = os.fdopen(r)
-+        daemon_pid = int(r.read())
-+        r.close()
-+        os.waitpid(pid, 0)
-+        #log.debug( "daemon_pid: %d", daemon_pid )
-+        return daemon_pid
-+
-+    def getpythonpath(self):
-+        str = " "
-+        for p in sys.path:
-+            if str != " ":
-+                str = str + ":" + p
-+            else:
-+                if str != "":
-+                   str = p
-+        return str
-+
-+    def find(self,path, matchFunc=os.path.isfile):
-+        """Find a module in the sys.path
-+        From web page: 
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52224
-+        """
-+        for dirname in sys.path:
-+            candidate = os.path.join(dirname, path)
-+            if matchFunc(candidate):
-+                return candidate
-+        raise Error("Can't find file %s" % path)
-+
-+if __name__ == "__main__":
-+    watcher = Hald()
-+    watcher.run()
-+    time.sleep(10)
-+    watcher.shutdown()
-Index: xen-4.4.0-testing/tools/python/xen/xend/server/SrvServer.py
-===================================================================
---- xen-4.4.0-testing.orig/tools/python/xen/xend/server/SrvServer.py
-+++ xen-4.4.0-testing/tools/python/xen/xend/server/SrvServer.py
-@@ -57,6 +57,7 @@ from xen.web.SrvDir import SrvDir
- 
- from SrvRoot import SrvRoot
- from XMLRPCServer import XMLRPCServer
-+from xen.xend.server.Hald import Hald
- 
- xoptions = XendOptions.instance()
- 
-@@ -252,6 +253,8 @@ def _loadConfig(servers, root, reload):
-     if xoptions.get_xend_unix_xmlrpc_server():
-         servers.add(XMLRPCServer(XendAPI.AUTH_PAM, False))
- 
-+    servers.add(Hald())
-+
- 
- def create():
-     root = SrvDir()
 Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
 --- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c

++++++ ioemu-blktap-zero-size.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -29,16 +29,3 @@
        s->info = ((s->flags & TD_RDONLY) ? VDISK_READONLY : 0);
  
  #ifndef QEMU_TOOL
-Index: xen-4.2.0-testing/tools/python/xen/xend/server/DevController.py
-===================================================================
---- xen-4.2.0-testing.orig/tools/python/xen/xend/server/DevController.py
-+++ xen-4.2.0-testing/tools/python/xen/xend/server/DevController.py
-@@ -155,7 +155,7 @@ class DevController:
-                           (devid, self.deviceClass))
- 
-         elif status == Error:
--            self.destroyDevice(devid, False)
-+            self.destroyDevice(devid, True)
-             if err is None:
-                 raise VmError("Device %s (%s) could not be connected. "
-                               "Backend device not found." %

++++++ ioemu-disable-emulated-ide-if-pv.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:39.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
 ===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
 @@ -1,6 +1,8 @@
  #ifndef QEMU_XEN_H
  #define QEMU_XEN_H
@@ -20,10 +20,10 @@
  int xenstore_parse_disable_pf_config(void);
  int xenstore_fd(void);
  void xenstore_process_event(void *opaque);
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
 ===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
 @@ -5862,9 +5862,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);
@@ -36,11 +36,11 @@
  #endif /* CONFIG_STUBDOM */
      }
  
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -446,7 +446,7 @@ void xenstore_init(void)
+--- 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
+@@ -445,7 +445,7 @@ void xenstore_init(void)
      }
  }
  
@@ -49,7 +49,7 @@
  {
      char **e_danger = NULL;
      char *buf = NULL;
-@@ -740,11 +740,19 @@ void xenstore_parse_domain_config(int hv
+@@ -739,11 +739,19 @@ void xenstore_parse_domain_config(int hv
  
  #endif
  

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

++++++ libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:40.000000000 +0100
@@ -7,25 +7,25 @@
  tools/libxl/libxlu_disk_l.l |    1 +
  5 files changed, 18 insertions(+), 1 deletion(-)
 
-Index: xen-4.4.0-testing/tools/libxl/libxl.c
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.0-testing/tools/libxl/libxl.c
-@@ -2488,6 +2488,8 @@ static void device_disk_add(libxl__egc *
-             flexarray_append_pair(back, "direct-io-safe", "1");
-         if ((disk->readwrite & 
~LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK) == 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MAGIC)
-             flexarray_append_pair(back, "discard-enable", "0");
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -2771,6 +2771,8 @@ static void device_disk_add(libxl__egc *
+         flexarray_append_pair(back, "discard-enable",
+                               libxl_defbool_val(disk->discard_enable) ?
+                               "1" : "0");
 +        if ((disk->readwrite & 
~LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MASK) == 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MAGIC)
 +            flexarray_append_pair(back, "suse-diskcache-disable-flush", "1");
  
          flexarray_append(front, "backend-id");
          flexarray_append(front, libxl__sprintf(gc, "%d", 
disk->backend_domid));
-Index: xen-4.4.0-testing/tools/libxl/libxl.h
+Index: xen-4.5.0-testing/tools/libxl/libxl.h
 ===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxl.h
-+++ xen-4.4.0-testing/tools/libxl/libxl.h
-@@ -118,6 +118,18 @@
- #define LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK  0xffffff0fU
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.5.0-testing/tools/libxl/libxl.h
+@@ -163,6 +163,18 @@
+ #define LIBXL_HAVE_BUILDINFO_HVM_MMIO_HOLE_MEMKB 1
  
  /*
 + * The libxl_device_disk has no way to indicate that cache=unsafe is
@@ -43,40 +43,40 @@
   * libxl ABI compatibility
   *
   * The only guarantee which libxl makes regarding ABI compatibility
-Index: xen-4.4.0-testing/tools/libxl/libxlu_disk.c
+Index: xen-4.5.0-testing/tools/libxl/libxlu_disk.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk.c
-+++ xen-4.4.0-testing/tools/libxl/libxlu_disk.c
-@@ -84,6 +84,8 @@ int xlu_disk_parse(XLU_Config *cfg,
-         disk->readwrite = (disk->readwrite & 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DIRECT_IO_SAFE_MASK) | 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DIRECT_IO_SAFE_MAGIC;
-     if (disk->readwrite && dpc.disable_discard)
-         disk->readwrite = (disk->readwrite & 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK) | 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MAGIC;
+--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk.c
++++ xen-4.5.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;
+     }
 +    if (disk->readwrite && dpc.suse_diskcache_disable_flush)
 +        disk->readwrite = (disk->readwrite & 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MASK) | 
LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MAGIC;
  
      if (!disk->vdev) {
          xlu__disk_err(&dpc,0, "no vdev specified");
-Index: xen-4.4.0-testing/tools/libxl/libxlu_disk_i.h
+Index: xen-4.5.0-testing/tools/libxl/libxlu_disk_i.h
 ===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk_i.h
-+++ xen-4.4.0-testing/tools/libxl/libxlu_disk_i.h
+--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk_i.h
++++ xen-4.5.0-testing/tools/libxl/libxlu_disk_i.h
 @@ -10,7 +10,7 @@ typedef struct {
      void *scanner;
      YY_BUFFER_STATE buf;
      libxl_device_disk *disk;
--    int access_set, direct_io_safe, disable_discard, had_depr_prefix;
-+    int access_set, suse_diskcache_disable_flush, direct_io_safe, 
disable_discard, had_depr_prefix;
+-    int access_set, had_depr_prefix;
++    int access_set, suse_diskcache_disable_flush, had_depr_prefix;
      const char *spec;
  } DiskParseContext;
  
-Index: xen-4.4.0-testing/tools/libxl/libxlu_disk_l.l
+Index: xen-4.5.0-testing/tools/libxl/libxlu_disk_l.l
 ===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk_l.l
-+++ xen-4.4.0-testing/tools/libxl/libxlu_disk_l.l
+--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk_l.l
++++ xen-4.5.0-testing/tools/libxl/libxlu_disk_l.l
 @@ -176,6 +176,7 @@ script=[^,]*,?     { STRIP(','); SAVESTRING(
- direct-io-safe,? { DPC->direct_io_safe = 1; }
- discard,?     { DPC->disable_discard = 0; }
- no-discard,?  { DPC->disable_discard = 1; }
+ direct-io-safe,? { DPC->disk->direct_io_safe = 1; }
+ discard,?     { libxl_defbool_set(&DPC->disk->discard_enable, true); }
+ no-discard,?  { libxl_defbool_set(&DPC->disk->discard_enable, false); }
 +suse-diskcache-disable-flush,? { DPC->suse_diskcache_disable_flush = 1; }
  
   /* the target magic parameter, eats the rest of the string */

++++++ libxl.pvscsi.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:40.000000000 +0100
@@ -31,11 +31,11 @@
 7de6f49 support character devices too
 c84381b allow /dev/sda as scsi devspec
 f11e3a2 pvscsi
-Index: xen-4.4.1-testing/docs/man/xl.cfg.pod.5
+Index: xen-4.5.0-testing/docs/man/xl.cfg.pod.5
 ===================================================================
---- xen-4.4.1-testing.orig/docs/man/xl.cfg.pod.5
-+++ xen-4.4.1-testing/docs/man/xl.cfg.pod.5
-@@ -411,6 +411,36 @@ value is optional if this is a guest dom
+--- xen-4.5.0-testing.orig/docs/man/xl.cfg.pod.5
++++ xen-4.5.0-testing/docs/man/xl.cfg.pod.5
+@@ -448,6 +448,36 @@ value is optional if this is a guest dom
  
  =back
  
@@ -72,11 +72,11 @@
  =item B<vfb=[ "VFB_SPEC_STRING", "VFB_SPEC_STRING", ...]>
  
  Specifies the paravirtual framebuffer devices which should be supplied
-Index: xen-4.4.1-testing/docs/man/xl.pod.1
+Index: xen-4.5.0-testing/docs/man/xl.pod.1
 ===================================================================
---- xen-4.4.1-testing.orig/docs/man/xl.pod.1
-+++ xen-4.4.1-testing/docs/man/xl.pod.1
-@@ -1208,6 +1208,26 @@ List virtual trusted platform modules fo
+--- xen-4.5.0-testing.orig/docs/man/xl.pod.1
++++ xen-4.5.0-testing/docs/man/xl.pod.1
+@@ -1323,6 +1323,26 @@ List virtual trusted platform modules fo
  
  =back
  
@@ -103,11 +103,11 @@
  =head1 PCI PASS-THROUGH
  
  =over 4
-Index: xen-4.4.1-testing/tools/libxl/libxl.c
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.1-testing/tools/libxl/libxl.c
-@@ -2021,6 +2021,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -2263,6 +2263,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx
      return rc;
  }
  
@@ -381,7 +381,7 @@
  
  
/******************************************************************************/
  
-@@ -3489,6 +3756,8 @@ out:
+@@ -4138,6 +4405,8 @@ out:
   * libxl_device_vkb_destroy
   * libxl_device_vfb_remove
   * libxl_device_vfb_destroy
@@ -390,9 +390,9 @@
   */
  #define DEFINE_DEVICE_REMOVE(type, removedestroy, f)                    \
      int libxl_device_##type##_##removedestroy(libxl_ctx *ctx,           \
-@@ -3540,6 +3809,10 @@ DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
- DEFINE_DEVICE_REMOVE(vtpm, remove, 0)
- DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
+@@ -4193,6 +4462,10 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
+  * 1. add support for secondary consoles to xenconsoled
+  * 2. dynamically add/remove qemu chardevs via qmp messages. */
  
 +/* vscsi */
 +DEFINE_DEVICE_REMOVE(vscsi, remove, 0)
@@ -401,7 +401,7 @@
  #undef DEFINE_DEVICE_REMOVE
  
  
/******************************************************************************/
-@@ -3549,6 +3822,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
+@@ -4202,6 +4475,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
   * libxl_device_disk_add
   * libxl_device_nic_add
   * libxl_device_vtpm_add
@@ -409,7 +409,7 @@
   */
  
  #define DEFINE_DEVICE_ADD(type)                                         \
-@@ -3578,6 +3852,9 @@ DEFINE_DEVICE_ADD(nic)
+@@ -4233,6 +4507,9 @@ DEFINE_DEVICE_ADD(nic)
  /* vtpm */
  DEFINE_DEVICE_ADD(vtpm)
  
@@ -419,9 +419,9 @@
  #undef DEFINE_DEVICE_ADD
  
  
/******************************************************************************/
-@@ -5683,6 +5960,20 @@ int libxl_fd_set_cloexec(libxl_ctx *ctx,
- int libxl_fd_set_nonblock(libxl_ctx *ctx, int fd, int nonblock)
-   { return fd_set_flags(ctx,fd, F_GETFL,F_SETFL,"FL", O_NONBLOCK, nonblock); }
+@@ -6769,6 +7046,20 @@ out:
+     return rc;
+ }
  
 +/* libxl.so.4.4 ABI compatilibity hack - do not do this at home */
 +static libxl_device_vscsi_suse* libxl__global_vscsi_list_suse;
@@ -440,11 +440,11 @@
  /*
   * Local variables:
   * mode: C
-Index: xen-4.4.1-testing/tools/libxl/libxl.h
+Index: xen-4.5.0-testing/tools/libxl/libxl.h
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.h
-+++ xen-4.4.1-testing/tools/libxl/libxl.h
-@@ -966,6 +966,26 @@ libxl_device_vtpm *libxl_device_vtpm_lis
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.5.0-testing/tools/libxl/libxl.h
+@@ -1228,6 +1228,26 @@ libxl_device_vtpm *libxl_device_vtpm_lis
  int libxl_device_vtpm_getinfo(libxl_ctx *ctx, uint32_t domid,
                                 libxl_device_vtpm *vtpm, libxl_vtpminfo 
*vtpminfo);
  
@@ -471,7 +471,7 @@
  /* Keyboard */
  int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb 
*vkb,
                           const libxl_asyncop_how *ao_how)
-@@ -1181,6 +1201,27 @@ int libxl_fd_set_nonblock(libxl_ctx *ctx
+@@ -1485,6 +1505,27 @@ int libxl_fd_set_nonblock(libxl_ctx *ctx
  
  #include <libxl_event.h>
  
@@ -499,11 +499,11 @@
  #endif /* LIBXL_H */
  
  /*
-Index: xen-4.4.1-testing/tools/libxl/libxl_create.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_create.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_create.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_create.c
-@@ -1048,6 +1048,7 @@ static void domcreate_rebuild_done(libxl
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_create.c
++++ xen-4.5.0-testing/tools/libxl/libxl_create.c
+@@ -1128,6 +1128,7 @@ static void domcreate_rebuild_done(libxl
      libxl__multidev_begin(ao, &dcs->multidev);
      dcs->multidev.callback = domcreate_launch_dm;
      libxl__add_disks(egc, ao, domid, d_config, &dcs->multidev);
@@ -511,11 +511,11 @@
      libxl__multidev_prepared(egc, &dcs->multidev, 0);
  
      return;
-Index: xen-4.4.1-testing/tools/libxl/libxl_device.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_device.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_device.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_device.c
-@@ -523,6 +523,7 @@ void libxl__multidev_prepared(libxl__egc
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_device.c
++++ xen-4.5.0-testing/tools/libxl/libxl_device.c
+@@ -541,6 +541,7 @@ void libxl__multidev_prepared(libxl__egc
   * The following functions are defined:
   * libxl__add_disks
   * libxl__add_nics
@@ -523,7 +523,7 @@
   * libxl__add_vtpms
   */
  
-@@ -542,10 +543,32 @@ void libxl__multidev_prepared(libxl__egc
+@@ -560,10 +561,32 @@ void libxl__multidev_prepared(libxl__egc
  
  DEFINE_DEVICES_ADD(disk)
  DEFINE_DEVICES_ADD(nic)
@@ -556,11 +556,11 @@
  
/******************************************************************************/
  
  int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
-Index: xen-4.4.1-testing/tools/libxl/libxl_internal.h
+Index: xen-4.5.0-testing/tools/libxl/libxl_internal.h
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_internal.h
-+++ xen-4.4.1-testing/tools/libxl/libxl_internal.h
-@@ -982,6 +982,7 @@ _hidden int libxl__device_disk_setdefaul
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_internal.h
++++ xen-4.5.0-testing/tools/libxl/libxl_internal.h
+@@ -1079,6 +1079,7 @@ _hidden int libxl__device_disk_setdefaul
  _hidden int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic,
                                           uint32_t domid);
  _hidden int libxl__device_vtpm_setdefault(libxl__gc *gc, libxl_device_vtpm 
*vtpm);
@@ -568,7 +568,7 @@
  _hidden int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb 
*vfb);
  _hidden int libxl__device_vkb_setdefault(libxl__gc *gc, libxl_device_vkb 
*vkb);
  _hidden int libxl__device_pci_setdefault(libxl__gc *gc, libxl_device_pci 
*pci);
-@@ -2082,6 +2083,10 @@ _hidden void libxl__device_vtpm_add(libx
+@@ -2390,6 +2391,10 @@ _hidden void libxl__device_vtpm_add(libx
                                     libxl_device_vtpm *vtpm,
                                     libxl__ao_device *aodev);
  
@@ -579,7 +579,7 @@
  /* Internal function to connect a vkb device */
  _hidden int libxl__device_vkb_add(libxl__gc *gc, uint32_t domid,
                                    libxl_device_vkb *vkb);
-@@ -2522,6 +2527,10 @@ _hidden void libxl__add_vtpms(libxl__egc
+@@ -3013,6 +3018,10 @@ _hidden void libxl__add_vtpms(libxl__egc
                               libxl_domain_config *d_config,
                               libxl__multidev *multidev);
  
@@ -590,12 +590,12 @@
  /*----- device model creation -----*/
  
  /* First layer; wraps libxl__spawn_spawn. */
-Index: xen-4.4.1-testing/tools/libxl/libxl_types.idl
+Index: xen-4.5.0-testing/tools/libxl/libxl_types.idl
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_types.idl
-+++ xen-4.4.1-testing/tools/libxl/libxl_types.idl
-@@ -456,6 +456,26 @@ libxl_device_vtpm = Struct("device_vtpm"
-     ("uuid",             libxl_uuid),
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_types.idl
++++ xen-4.5.0-testing/tools/libxl/libxl_types.idl
+@@ -539,6 +539,26 @@ libxl_device_channel = Struct("device_ch
+            ])),
  ])
  
 +libxl_vscsi_dev = Struct("vscsi_dev", [
@@ -621,16 +621,16 @@
  libxl_domain_config = Struct("domain_config", [
      ("c_info", libxl_domain_create_info),
      ("b_info", libxl_domain_build_info),
-@@ -466,6 +486,8 @@ libxl_domain_config = Struct("domain_con
-     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
-     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
-     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
+@@ -552,6 +572,8 @@ libxl_domain_config = Struct("domain_con
+     # a channel manifests as a console with a name,
+     # see docs/misc/channels.txt
+     ("channels", Array(libxl_device_channel, "num_channels")),
 +# preserve libxl.so.4.4 ABI
 +#   ("vscsis", Array(libxl_device_vscsi, "num_vscsis")),
  
      ("on_poweroff", libxl_action_on_shutdown),
      ("on_reboot", libxl_action_on_shutdown),
-@@ -508,6 +530,28 @@ libxl_vtpminfo = Struct("vtpminfo", [
+@@ -594,6 +616,28 @@ libxl_vtpminfo = Struct("vtpminfo", [
      ("uuid", libxl_uuid),
      ], dir=DIR_OUT)
  
@@ -659,11 +659,11 @@
  libxl_vcpuinfo = Struct("vcpuinfo", [
      ("vcpuid", uint32),
      ("cpu", uint32),
-Index: xen-4.4.1-testing/tools/libxl/libxl_types_internal.idl
+Index: xen-4.5.0-testing/tools/libxl/libxl_types_internal.idl
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_types_internal.idl
-+++ xen-4.4.1-testing/tools/libxl/libxl_types_internal.idl
-@@ -20,6 +20,7 @@ libxl__device_kind = Enumeration("device
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_types_internal.idl
++++ xen-4.5.0-testing/tools/libxl/libxl_types_internal.idl
+@@ -22,6 +22,7 @@ libxl__device_kind = Enumeration("device
      (6, "VKBD"),
      (7, "CONSOLE"),
      (8, "VTPM"),
@@ -671,11 +671,11 @@
      ])
  
  libxl__console_backend = Enumeration("console_backend", [
-Index: xen-4.4.1-testing/tools/libxl/xl.h
+Index: xen-4.5.0-testing/tools/libxl/xl.h
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl.h
-+++ xen-4.4.1-testing/tools/libxl/xl.h
-@@ -81,6 +81,9 @@ int main_networkdetach(int argc, char **
+--- xen-4.5.0-testing.orig/tools/libxl/xl.h
++++ xen-4.5.0-testing/tools/libxl/xl.h
+@@ -83,6 +83,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);
@@ -685,10 +685,10 @@
  int main_vtpmattach(int argc, char **argv);
  int main_vtpmlist(int argc, char **argv);
  int main_vtpmdetach(int argc, char **argv);
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
 @@ -17,6 +17,7 @@
  #include "libxl_osdeps.h"
  
@@ -702,10 +702,10 @@
  #include <inttypes.h>
  #include <limits.h>
 +#include <dirent.h>
+ #include <xen/hvm/e820.h>
  
  #include "libxl.h"
- #include "libxl_utils.h"
-@@ -544,6 +546,122 @@ static void parse_vif_rate(XLU_Config **
+@@ -549,6 +551,122 @@ static void set_default_nic_values(libxl
      }
  }
  
@@ -828,16 +828,16 @@
  static void split_string_into_string_list(const char *str,
                                            const char *delim,
                                            libxl_string_list *psl)
-@@ -763,7 +881,7 @@ static void parse_config_data(const char
+@@ -918,7 +1036,7 @@ static void parse_config_data(const char
      const char *buf;
      long l;
      XLU_Config *config;
 -    XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms;
 +    XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms, 
*vscsis;
-     XLU_ConfigList *ioports, *irqs, *iomem;
-     int num_ioports, num_irqs, num_iomem;
+     XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian;
+     int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian;
      int pci_power_mgmt = 0;
-@@ -1255,6 +1373,66 @@ static void parse_config_data(const char
+@@ -1421,6 +1539,66 @@ static void parse_config_data(const char
          }
      }
  
@@ -904,7 +904,7 @@
      if (!xlu_cfg_get_list(config, "vtpm", &vtpms, 0, 0)) {
          d_config->num_vtpms = 0;
          d_config->vtpms = NULL;
-@@ -6052,6 +6230,256 @@ int main_blockdetach(int argc, char **ar
+@@ -6490,6 +6668,256 @@ int main_blockdetach(int argc, char **ar
      return rc;
  }
  
@@ -1161,11 +1161,11 @@
  int main_vtpmattach(int argc, char **argv)
  {
      int opt;
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdtable.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
-@@ -354,6 +354,21 @@ struct cmd_spec cmd_table[] = {
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdtable.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
+@@ -372,6 +372,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.VlW95K/_old  2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:40.000000000 +0100
@@ -75,9 +75,9 @@
 Signed-off-by: Olaf Hering <[email protected]>
 ---
  docs/man/xl.pod.1                |   20 +++++++++++++++++++
- tools/libxc/xc_domain_save.c     |   27 +++++++++++++++++++++++--
- tools/libxc/xc_nomigrate.c       |   10 +++++++++
- tools/libxc/xenguest.h           |    7 ++++++
+ tools/libxc/include/xenguest.h   |    6 +++++
+ tools/libxc/xc_domain_save.c     |   26 ++++++++++++++++++++++--
+ tools/libxc/xc_nomigrate.c       |    9 ++++++++
  tools/libxl/libxl.c              |   27 ++++++++++++++++++++++---
  tools/libxl/libxl.h              |   15 ++++++++++++++
  tools/libxl/libxl_dom.c          |    1 
@@ -86,13 +86,13 @@
  tools/libxl/libxl_save_helper.c  |    4 ++-
  tools/libxl/xl_cmdimpl.c         |   41 
+++++++++++++++++++++++++++++++++------
  tools/libxl/xl_cmdtable.c        |   23 ++++++++++++++-------
- 12 files changed, 162 insertions(+), 21 deletions(-)
+ 12 files changed, 159 insertions(+), 21 deletions(-)
 
-Index: xen-4.4.1-testing/docs/man/xl.pod.1
+Index: xen-4.5.0-testing/docs/man/xl.pod.1
 ===================================================================
---- xen-4.4.1-testing.orig/docs/man/xl.pod.1
-+++ xen-4.4.1-testing/docs/man/xl.pod.1
-@@ -392,6 +392,26 @@ Send <config> instead of config file fro
+--- xen-4.5.0-testing.orig/docs/man/xl.pod.1
++++ xen-4.5.0-testing/docs/man/xl.pod.1
+@@ -428,6 +428,26 @@ Send <config> instead of config file fro
  
  Print huge (!) amount of debug during the migration process.
  
@@ -119,11 +119,35 @@
  =back
  
  =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
-Index: xen-4.4.1-testing/tools/libxc/xc_domain_save.c
+Index: xen-4.5.0-testing/tools/libxc/include/xenguest.h
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxc/xc_domain_save.c
-+++ xen-4.4.1-testing/tools/libxc/xc_domain_save.c
-@@ -43,6 +43,7 @@
+--- xen-4.5.0-testing.orig/tools/libxc/include/xenguest.h
++++ xen-4.5.0-testing/tools/libxc/include/xenguest.h
+@@ -28,6 +28,7 @@
+ #define XCFLAGS_HVM       (1 << 2)
+ #define XCFLAGS_STDVGA    (1 << 3)
+ #define XCFLAGS_CHECKPOINT_COMPRESS    (1 << 4)
++#define XCFLAGS_DOMSAVE_ABORT_IF_BUSY  (1 << 5)
+ 
+ #define X86_64_B_SIZE   64 
+ #define X86_32_B_SIZE   32
+@@ -88,6 +89,11 @@ int xc_domain_save(xc_interface *xch, in
+                    uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
+                    struct save_callbacks* callbacks, int hvm);
+ 
++int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t 
max_iters,
++                   uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
++                   uint32_t min_remaining,
++                   struct save_callbacks* callbacks, int hvm);
++
+ 
+ /* callbacks provided by xc_domain_restore */
+ struct restore_callbacks {
+Index: xen-4.5.0-testing/tools/libxc/xc_domain_save.c
+===================================================================
+--- xen-4.5.0-testing.orig/tools/libxc/xc_domain_save.c
++++ xen-4.5.0-testing/tools/libxc/xc_domain_save.c
+@@ -44,6 +44,7 @@
  */
  #define DEF_MAX_ITERS   29   /* limit us to 30 times round loop   */
  #define DEF_MAX_FACTOR   3   /* never send more than 3x p2m_size  */
@@ -131,7 +155,7 @@
  
  struct save_ctx {
      unsigned long hvirt_start; /* virtual starting address of the hypervisor 
*/
-@@ -798,8 +799,9 @@ static int save_tsc_info(xc_interface *x
+@@ -800,8 +801,9 @@ static int save_tsc_info(xc_interface *x
      return 0;
  }
  
@@ -139,11 +163,11 @@
 +int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t 
max_iters,
                     uint32_t max_factor, uint32_t flags,
 +                   uint32_t min_remaining,
-                    struct save_callbacks* callbacks, int hvm,
-                    unsigned long vm_generationid_addr)
+                    struct save_callbacks* callbacks, int hvm)
  {
+     xc_dominfo_t info;
 @@ -810,6 +812,7 @@ int xc_domain_save(xc_interface *xch, in
-     int rc = 1, frc, i, j, last_iter = 0, iter = 0;
+     int rc, frc, i, j, last_iter = 0, iter = 0;
      int live  = (flags & XCFLAGS_LIVE);
      int debug = (flags & XCFLAGS_DEBUG);
 +    int abort_if_busy = (flags & XCFLAGS_DOMSAVE_ABORT_IF_BUSY);
@@ -158,7 +182,7 @@
  
      if ( !get_platform_info(xch, dom,
                              &ctx->max_mfn, &ctx->hvirt_start, 
&ctx->pt_levels, &dinfo->guest_width) )
-@@ -1563,10 +1567,22 @@ int xc_domain_save(xc_interface *xch, in
+@@ -1536,10 +1540,21 @@ int xc_domain_save(xc_interface *xch, in
  
          if ( live )
          {
@@ -170,7 +194,6 @@
              {
 +                if ( !min_reached && abort_if_busy )
 +                {
-+                    errnoval = EBUSY;
 +                    DPRINTF("Live migration aborted, as requested. (guest too 
busy?)");
 +                    DPRINTF(" total_sent %lu iter %d, max_iters %u max_factor 
%u",
 +                      total_sent, iter, max_iters, max_factor);
@@ -182,33 +205,32 @@
                  DPRINTF("Start last iteration\n");
                  last_iter = 1;
  
-@@ -2210,6 +2226,13 @@ exit:
- 
-     return !!rc;
+@@ -2181,6 +2196,13 @@ exit:
+     return !!errno;
  }
+ 
 +int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t 
max_iters,
 +                   uint32_t max_factor, uint32_t flags,
-+                   struct save_callbacks* callbacks, int hvm,
-+                   unsigned long vm_generationid_addr)
++                   struct save_callbacks* callbacks, int hvm)
 +{
-+    return xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags, 
0, callbacks, hvm, vm_generationid_addr);
++    return xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags, 
0, callbacks, hvm);
 +}
- 
++
  /*
   * Local variables:
-Index: xen-4.4.1-testing/tools/libxc/xc_nomigrate.c
+  * mode: C
+Index: xen-4.5.0-testing/tools/libxc/xc_nomigrate.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxc/xc_nomigrate.c
-+++ xen-4.4.1-testing/tools/libxc/xc_nomigrate.c
-@@ -21,6 +21,16 @@
+--- xen-4.5.0-testing.orig/tools/libxc/xc_nomigrate.c
++++ xen-4.5.0-testing/tools/libxc/xc_nomigrate.c
+@@ -21,6 +21,15 @@
  #include <xenctrl.h>
  #include <xenguest.h>
  
 +int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t 
max_iters,
 +                   uint32_t max_factor, uint32_t flags,
 +                   uint32_t min_remaining,
-+                   struct save_callbacks* callbacks, int hvm,
-+                   unsigned long vm_generationid_addr)
++                   struct save_callbacks* callbacks, int hvm)
 +{
 +    errno = ENOSYS;
 +    return -1;
@@ -216,37 +238,12 @@
 +
  int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t 
max_iters,
                     uint32_t max_factor, uint32_t flags,
-                    struct save_callbacks* callbacks, int hvm,
-Index: xen-4.4.1-testing/tools/libxc/xenguest.h
-===================================================================
---- xen-4.4.1-testing.orig/tools/libxc/xenguest.h
-+++ xen-4.4.1-testing/tools/libxc/xenguest.h
-@@ -28,6 +28,7 @@
- #define XCFLAGS_HVM       (1 << 2)
- #define XCFLAGS_STDVGA    (1 << 3)
- #define XCFLAGS_CHECKPOINT_COMPRESS    (1 << 4)
-+#define XCFLAGS_DOMSAVE_ABORT_IF_BUSY  (1 << 5)
- 
- #define X86_64_B_SIZE   64 
- #define X86_32_B_SIZE   32
-@@ -89,6 +90,12 @@ int xc_domain_save(xc_interface *xch, in
-                    struct save_callbacks* callbacks, int hvm,
-                    unsigned long vm_generationid_addr);
- 
-+int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t 
max_iters,
-+                   uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
-+                   uint32_t min_remaining,
-+                   struct save_callbacks* callbacks, int hvm,
-+                   unsigned long vm_generationid_addr);
-+
- 
- /* callbacks provided by xc_domain_restore */
- struct restore_callbacks {
-Index: xen-4.4.1-testing/tools/libxl/libxl.c
+                    struct save_callbacks* callbacks, int hvm)
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.1-testing/tools/libxl/libxl.c
-@@ -763,7 +763,8 @@ static void domain_suspend_cb(libxl__egc
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -944,7 +944,8 @@ static void domain_suspend_cb(libxl__egc
  
  }
  
@@ -256,7 +253,7 @@
                           const libxl_asyncop_how *ao_how)
  {
      AO_CREATE(ctx, domid, ao_how);
-@@ -784,8 +785,14 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -965,8 +966,14 @@ int libxl_domain_suspend(libxl_ctx *ctx,
      dss->domid = domid;
      dss->fd = fd;
      dss->type = type;
@@ -273,7 +270,7 @@
  
      libxl__domain_suspend(egc, dss);
      return AO_INPROGRESS;
-@@ -794,6 +801,20 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -975,6 +982,20 @@ int libxl_domain_suspend(libxl_ctx *ctx,
      return AO_ABORT(rc);
  }
  
@@ -294,11 +291,11 @@
  int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
  {
      int ret;
-Index: xen-4.4.1-testing/tools/libxl/libxl.h
+Index: xen-4.5.0-testing/tools/libxl/libxl.h
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.h
-+++ xen-4.4.1-testing/tools/libxl/libxl.h
-@@ -702,8 +702,23 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.5.0-testing/tools/libxl/libxl.h
+@@ -949,8 +949,23 @@ int libxl_domain_suspend(libxl_ctx *ctx,
                           int flags, /* LIBXL_SUSPEND_* */
                           const libxl_asyncop_how *ao_how)
                           LIBXL_EXTERNAL_CALLERS_ONLY;
@@ -322,25 +319,25 @@
  
  /* @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.4.1-testing/tools/libxl/libxl_dom.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_dom.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_dom.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_dom.c
-@@ -1341,6 +1341,7 @@ void libxl__domain_suspend(libxl__egc *e
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_dom.c
++++ xen-4.5.0-testing/tools/libxl/libxl_dom.c
+@@ -1808,6 +1808,7 @@ void libxl__domain_suspend(libxl__egc *e
  
      dss->xcflags = (live ? XCFLAGS_LIVE : 0)
            | (debug ? XCFLAGS_DEBUG : 0)
 +          | (dss->xlflags & LIBXL_SUSPEND_ABORT_IF_BUSY ? 
XCFLAGS_DOMSAVE_ABORT_IF_BUSY : 0)
            | (dss->hvm ? XCFLAGS_HVM : 0);
  
-     dss->suspend_eventchn = -1;
-Index: xen-4.4.1-testing/tools/libxl/libxl_internal.h
+     dss->guest_evtchn.port = -1;
+Index: xen-4.5.0-testing/tools/libxl/libxl_internal.h
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_internal.h
-+++ xen-4.4.1-testing/tools/libxl/libxl_internal.h
-@@ -2319,6 +2319,10 @@ struct libxl__domain_suspend_state {
-     xc_evtchn *xce; /* event channel handle */
-     int suspend_eventchn;
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_internal.h
++++ xen-4.5.0-testing/tools/libxl/libxl_internal.h
+@@ -2803,6 +2803,10 @@ struct libxl__domain_suspend_state {
+     libxl__ev_evtchn guest_evtchn;
+     int guest_evtchn_lockfd;
      int hvm;
 +    int max_iters;
 +    int max_factor;
@@ -348,49 +345,49 @@
 +    int xlflags;
      int xcflags;
      int guest_responded;
-     const char *dm_savefile;
-Index: xen-4.4.1-testing/tools/libxl/libxl_save_callout.c
+     libxl__xswait_state pvcontrol;
+Index: xen-4.5.0-testing/tools/libxl/libxl_save_callout.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_save_callout.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_save_callout.c
-@@ -108,7 +108,9 @@ void libxl__xc_domain_save(libxl__egc *e
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_save_callout.c
++++ xen-4.5.0-testing/tools/libxl/libxl_save_callout.c
+@@ -110,7 +110,9 @@ void libxl__xc_domain_save(libxl__egc *e
      }
  
      const unsigned long argnums[] = {
--        dss->domid, 0, 0, dss->xcflags, dss->hvm, vm_generationid_addr,
+-        dss->domid, 0, 0, dss->xcflags, dss->hvm,
 +        dss->domid,
 +        dss->max_iters, dss->max_factor, dss->min_remaining,
-+        dss->xcflags, dss->hvm, vm_generationid_addr,
++        dss->xcflags, dss->hvm,
          toolstack_data_fd, toolstack_data_len,
          cbflags,
      };
-Index: xen-4.4.1-testing/tools/libxl/libxl_save_helper.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_save_helper.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_save_helper.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_save_helper.c
-@@ -221,6 +221,7 @@ int main(int argc, char **argv)
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_save_helper.c
++++ xen-4.5.0-testing/tools/libxl/libxl_save_helper.c
+@@ -215,6 +215,7 @@ int main(int argc, char **argv)
          uint32_t dom =             strtoul(NEXTARG,0,10);
          uint32_t max_iters =       strtoul(NEXTARG,0,10);
          uint32_t max_factor =      strtoul(NEXTARG,0,10);
 +        uint32_t min_remaining =   strtoul(NEXTARG,0,10);
          uint32_t flags =           strtoul(NEXTARG,0,10);
          int hvm =                  atoi(NEXTARG);
-         unsigned long genidad =    strtoul(NEXTARG,0,10);
-@@ -235,7 +236,8 @@ int main(int argc, char **argv)
+         toolstack_save_fd  =       atoi(NEXTARG);
+@@ -228,7 +229,8 @@ int main(int argc, char **argv)
          helper_setcallbacks_save(&helper_save_callbacks, cbflags);
  
          startup("save");
 -        r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags,
 +        r = xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags,
 +                           min_remaining,
-                            &helper_save_callbacks, hvm, genidad);
+                            &helper_save_callbacks, hvm);
          complete(r);
  
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
-@@ -3656,6 +3656,8 @@ static void migrate_do_preamble(int send
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
+@@ -3878,6 +3878,8 @@ static void migrate_do_preamble(int send
  }
  
  static void migrate_domain(uint32_t domid, const char *rune, int debug,
@@ -399,7 +396,7 @@
                             const char *override_config_file)
  {
      pid_t child = -1;
-@@ -3664,7 +3666,13 @@ static void migrate_domain(uint32_t domi
+@@ -3886,7 +3888,13 @@ static void migrate_domain(uint32_t domi
      char *away_domname;
      char rc_buf;
      uint8_t *config_data;
@@ -414,7 +411,7 @@
  
      save_domain_core_begin(domid, override_config_file,
                             &config_data, &config_len);
-@@ -3683,10 +3691,13 @@ static void migrate_domain(uint32_t domi
+@@ -3905,10 +3913,13 @@ static void migrate_domain(uint32_t domi
      xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
  
      if (debug)
@@ -431,7 +428,7 @@
                  " (rc=%d)\n", rc);
          if (rc == ERROR_GUEST_TIMEDOUT)
              goto failed_suspend;
-@@ -4073,13 +4084,18 @@ int main_migrate(int argc, char **argv)
+@@ -4295,13 +4306,18 @@ int main_migrate(int argc, char **argv)
      char *rune = NULL;
      char *host;
      int opt, daemonize = 1, monitor = 1, debug = 0;
@@ -451,7 +448,7 @@
      case 'C':
          config_filename = optarg;
          break;
-@@ -4096,6 +4112,18 @@ int main_migrate(int argc, char **argv)
+@@ -4318,6 +4334,18 @@ int main_migrate(int argc, char **argv)
      case 0x100:
          debug = 1;
          break;
@@ -470,7 +467,7 @@
      }
  
      domid = find_domain(argv[optind]);
-@@ -4111,7 +4139,8 @@ int main_migrate(int argc, char **argv)
+@@ -4348,7 +4376,8 @@ int main_migrate(int argc, char **argv)
              return 1;
      }
  
@@ -480,11 +477,11 @@
      return 0;
  }
  #endif
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdtable.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
-@@ -150,14 +150,21 @@ struct cmd_spec cmd_table[] = {
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdtable.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
+@@ -155,14 +155,21 @@ struct cmd_spec cmd_table[] = {
        &main_migrate, 0, 1,
        "Migrate a domain to another host",
        "[options] <Domain> <host>",

++++++ local_attach_support_for_phy.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:40.000000000 +0100
@@ -10,11 +10,11 @@
     Suggested-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
 
 
-Index: xen-4.4.0-testing/tools/libxl/libxl.c
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.0-testing/tools/libxl/libxl.c
-@@ -2634,6 +2634,16 @@ void libxl__device_disk_local_initiate_a
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -3006,6 +3006,16 @@ void libxl__device_disk_local_initiate_a
  
      switch (disk->backend) {
          case LIBXL_DISK_BACKEND_PHY:
@@ -31,7 +31,7 @@
              LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
                         disk->pdev_path);
              dev = disk->pdev_path;
-@@ -2713,7 +2723,7 @@ static void local_device_attach_cb(libxl
+@@ -3085,7 +3095,7 @@ static void local_device_attach_cb(libxl
      }
  
      dev = GCSPRINTF("/dev/%s", disk->vdev);
@@ -40,7 +40,7 @@
  
      rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
      if (rc < 0)
-@@ -2753,6 +2763,7 @@ void libxl__device_disk_local_initiate_d
+@@ -3125,6 +3135,7 @@ void libxl__device_disk_local_initiate_d
      if (!dls->diskpath) goto out;
  
      switch (disk->backend) {
@@ -48,7 +48,7 @@
          case LIBXL_DISK_BACKEND_QDISK:
              if (disk->vdev != NULL) {
                  GCNEW(device);
-@@ -2770,7 +2781,6 @@ void libxl__device_disk_local_initiate_d
+@@ -3142,7 +3153,6 @@ void libxl__device_disk_local_initiate_d
              /* disk->vdev == NULL; fall through */
          default:
              /*

++++++ pygrub-boot-legacy-sles.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:40.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/pygrub/src/pygrub
+Index: xen-4.5.0-testing/tools/pygrub/src/pygrub
 ===================================================================
---- xen-4.4.0-testing.orig/tools/pygrub/src/pygrub
-+++ xen-4.4.0-testing/tools/pygrub/src/pygrub
-@@ -452,7 +452,7 @@ class Grub:
+--- xen-4.5.0-testing.orig/tools/pygrub/src/pygrub
++++ xen-4.5.0-testing/tools/pygrub/src/pygrub
+@@ -450,7 +450,7 @@ class Grub:
                  self.cf.filename = f
                  break
          if self.__dict__.get('cf', None) is None:
@@ -11,7 +11,7 @@
          f = fs.open_file(self.cf.filename)
          # limit read size to avoid pathological cases
          buf = f.read(FS_READ_MAX)
-@@ -598,6 +598,20 @@ def run_grub(file, entry, fs, cfg_args):
+@@ -622,6 +622,20 @@ def run_grub(file, entry, fs, cfg_args):
  
      g = Grub(file, fs)
  
@@ -32,7 +32,7 @@
      if list_entries:
          for i in range(len(g.cf.images)):
              img = g.cf.images[i]
-@@ -693,6 +707,19 @@ def sniff_netware(fs, cfg):
+@@ -717,6 +731,19 @@ def sniff_netware(fs, cfg):
  
      return cfg
  
@@ -52,11 +52,11 @@
  def format_sxp(kernel, ramdisk, args):
      s = "linux (kernel %s)" % kernel
      if ramdisk:
-@@ -773,7 +800,7 @@ if __name__ == "__main__":
+@@ -797,7 +824,7 @@ if __name__ == "__main__":
      debug = False
      not_really = False
      output_format = "sxp"
--    output_directory = "/var/run/xend/boot"
+-    output_directory = "/var/run/xen/pygrub"
 +    output_directory = "/var/run/xen"
  
      # what was passed in

++++++ pygrub-netware-xnloader.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:40.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.4.0-testing/tools/pygrub/src/pygrub
+Index: xen-4.5.0-testing/tools/pygrub/src/pygrub
 ===================================================================
---- xen-4.4.0-testing.orig/tools/pygrub/src/pygrub
-+++ xen-4.4.0-testing/tools/pygrub/src/pygrub
+--- xen-4.5.0-testing.orig/tools/pygrub/src/pygrub
++++ xen-4.5.0-testing/tools/pygrub/src/pygrub
 @@ -26,6 +26,7 @@ import fsimage
  import grub.GrubConf
  import grub.LiloConf
@@ -10,7 +10,7 @@
  
  PYGRUB_VER = 0.6
  FS_READ_MAX = 1024 * 1024
-@@ -735,6 +736,8 @@ if __name__ == "__main__":
+@@ -759,6 +760,8 @@ if __name__ == "__main__":
              if len(data) == 0:
                  os.close(tfd)
                  del datafile

++++++ qemu-xen-dir-remote.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/xen/qemu-xen-dir-remote.tar.bz2 
/work/SRC/openSUSE:Factory/.xen.new/qemu-xen-dir-remote.tar.bz2 differ: char 
11, line 1

++++++ qemu-xen-traditional-dir-remote.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/Makefile 
new/tools/qemu-xen-traditional-dir-remote/Makefile
--- old/tools/qemu-xen-traditional-dir-remote/Makefile  2014-08-07 
18:30:33.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/Makefile  2015-01-14 
18:45:44.000000000 +0100
@@ -46,9 +46,9 @@
 
 recurse-all: $(SUBDIR_RULES)
 
-CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
+CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include
 CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
-CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include
 CPPFLAGS += -I$(XEN_ROOT)/tools/include
 
 tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c 
block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c 
block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-config.mak 
new/tools/qemu-xen-traditional-dir-remote/xen-config.mak
--- old/tools/qemu-xen-traditional-dir-remote/xen-config.mak    2014-08-07 
18:30:34.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/xen-config.mak    2015-01-14 
18:45:44.000000000 +0100
@@ -9,4 +9,4 @@
 
 CFLAGS += -I$(QEMU_ROOT)/hw
 
-bindir = ${LIBEXEC}
+bindir = ${LIBEXEC_BIN}
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     2014-08-07 
18:30:34.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak     2015-01-14 
18:45:44.000000000 +0100
@@ -1,5 +1,5 @@
-CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
-CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include
+CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
 
 SSE2 := $(call cc-option,-msse2,)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom 
new/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom
--- old/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom 2014-08-07 
18:30:34.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom 2015-01-14 
18:45:44.000000000 +0100
@@ -22,7 +22,7 @@
 TARGET_CFLAGS= $TARGET_CFLAGS
 TARGET_LDFLAGS= $TARGET_LDFLAGS
 
-bindir = \${LIBEXEC}
+bindir = \${LIBEXEC_BIN}
 END
 mv -f $target/config.mak.new $target/config.mak
 #----------

++++++ qemu-xen-upstream-megasas-buildtime.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -4,11 +4,11 @@
  tools/qemu-xen-dir-remote/hw/scsi/megasas.c |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
+Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
-+++ xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
-@@ -712,8 +712,8 @@ static int megasas_ctrl_get_info(Megasas
+--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
+@@ -717,8 +717,8 @@ static int megasas_ctrl_get_info(Megasas
      snprintf(info.package_version, 0x60, "%s-QEMU", QEMU_VERSION);
      memcpy(info.image_component[0].name, "APP", 3);
      memcpy(info.image_component[0].version, MEGASAS_VERSION "-QEMU", 9);

++++++ qemu-xen-upstream-qdisk-cache-unsafe.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -3,11 +3,11 @@
  tools/qemu-xen-dir-remote/hw/block/xen_disk.c |   15 +++++++++++++++
  1 file changed, 15 insertions(+)
 
-Index: xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
+Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
-+++ xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
-@@ -113,6 +113,7 @@ struct XenBlkDev {
+--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
+@@ -120,6 +120,7 @@ struct XenBlkDev {
      int                 requests_inflight;
      int                 requests_finished;
  
@@ -15,8 +15,8 @@
      /* Persistent grants extension */
      gboolean            feature_discard;
      gboolean            feature_persistent;
-@@ -725,6 +726,16 @@ static void blk_parse_discard(struct Xen
-           xenstore_write_be_int(&blkdev->xendev, "feature-discard", 1);
+@@ -780,6 +781,16 @@ static void blk_parse_discard(struct Xen
+     }
  }
  
 +static void blk_parse_cache_unsafe(struct XenBlkDev *blkdev)
@@ -32,7 +32,7 @@
  static int blk_init(struct XenDevice *xendev)
  {
      struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
-@@ -793,6 +804,7 @@ static int blk_init(struct XenDevice *xe
+@@ -848,6 +859,7 @@ static int blk_init(struct XenDevice *xe
      xenstore_write_be_int(&blkdev->xendev, "info", info);
  
      blk_parse_discard(blkdev);
@@ -40,9 +40,9 @@
  
      g_free(directiosafe);
      return 0;
-@@ -832,6 +844,9 @@ static int blk_connect(struct XenDevice
-     if (blkdev->feature_discard)
+@@ -888,6 +900,9 @@ static int blk_connect(struct XenDevice
          qflags |= BDRV_O_UNMAP;
+     }
  
 +    if (blkdev->cache_unsafe)
 +        qflags |= BDRV_O_NO_FLUSH;

++++++ seabios-dir-remote.tar.bz2 ++++++

++++++ set-mtu-from-bridge-for-tap-interface.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -16,11 +16,11 @@
 Signed-off-by: Charles Arnold <[email protected]>
 Acked-by: Ian Campbell <[email protected]>
 
-Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
+Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
 ===================================================================
---- xen-4.4.0-testing.orig/tools/hotplug/Linux/vif-bridge
-+++ xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
-@@ -88,7 +88,7 @@ fi
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge
++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
+@@ -84,7 +84,7 @@ fi
  case "$command" in
      online)
          setup_virtual_bridge_port "$dev"
@@ -29,7 +29,7 @@
          add_to_bridge "$bridge" "$dev"
          ;;
  
-@@ -99,7 +99,7 @@ case "$command" in
+@@ -95,7 +95,7 @@ case "$command" in
  
      add)
          setup_virtual_bridge_port "$dev"

++++++ 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

++++++ suspend_evtchn_lock.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -6,11 +6,11 @@
 
 Signed-off-by: Chunyan Liu <[email protected]>
 
-Index: xen-4.2.0-testing/tools/libxc/xc_suspend.c
+Index: xen-4.5.0-testing/tools/libxc/xc_suspend.c
 ===================================================================
---- xen-4.2.0-testing.orig/tools/libxc/xc_suspend.c
-+++ xen-4.2.0-testing/tools/libxc/xc_suspend.c
-@@ -16,8 +16,43 @@
+--- xen-4.5.0-testing.orig/tools/libxc/xc_suspend.c
++++ xen-4.5.0-testing/tools/libxc/xc_suspend.c
+@@ -19,6 +19,10 @@
  
  #include "xc_private.h"
  #include "xenguest.h"
@@ -19,7 +19,12 @@
 +extern int kill (__pid_t __pid, int __sig);
 +#endif
  
- #define SUSPEND_LOCK_FILE "/var/lib/xen/suspend_evtchn"
+ #define SUSPEND_LOCK_FILE    XEN_RUN_DIR "/suspend-evtchn-%d.lock"
+ 
+@@ -34,6 +38,37 @@
+ 
+ #define SUSPEND_FILE_BUFLEN (sizeof(SUSPEND_LOCK_FILE) + 10)
+ 
 +/* cleanup obsolete suspend lock file which is unlinked for any reason,
 +so that current process can get lock */
 +static void clean_obsolete_lock(int domid)
@@ -51,34 +56,23 @@
 +    }
 +}
 +
- static int lock_suspend_event(xc_interface *xch, int domid)
+ static void get_suspend_file(char buf[], int domid)
  {
-     int fd, rc;
-@@ -27,6 +62,7 @@ static int lock_suspend_event(xc_interfa
+     snprintf(buf, SUSPEND_FILE_BUFLEN, SUSPEND_LOCK_FILE, domid);
+@@ -47,6 +82,7 @@ static int lock_suspend_event(xc_interfa
+     struct flock fl;
  
-     snprintf(suspend_file, sizeof(suspend_file), "%s_%d_lock.d",
-           SUSPEND_LOCK_FILE, domid);
+     get_suspend_file(suspend_file, domid);
 +    clean_obsolete_lock(domid);
-     mask = umask(022);
-     fd = open(suspend_file, O_CREAT | O_EXCL | O_RDWR, 0666);
-     if (fd < 0)
-@@ -41,6 +77,9 @@ static int lock_suspend_event(xc_interfa
-     rc = write_exact(fd, buf, strlen(buf));
-     close(fd);
- 
-+    if(rc)
-+    unlink(suspend_file);
-+
-     return rc;
- }
  
-@@ -127,8 +166,7 @@ int xc_suspend_evtchn_init(xc_interface
-     return suspend_evtchn;
+     *lockfd = -1;
  
- cleanup:
--    if (suspend_evtchn != -1)
--        xc_suspend_evtchn_release(xch, xce, domid, suspend_evtchn);
-+    xc_suspend_evtchn_release(xch, xce, domid, suspend_evtchn);
+@@ -96,6 +132,8 @@ static int lock_suspend_event(xc_interfa
+     if (fd >= 0)
+         close(fd);
  
++    unlink(suspend_file);
++
      return -1;
  }
+ 

++++++ tigervnc-long-press.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c
+Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/ui/vnc.c
 ===================================================================
---- xen-4.4.1-testing.orig/tools/qemu-xen-dir-remote/ui/vnc.c
-+++ xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c
-@@ -1651,6 +1651,25 @@ static void do_key_event(VncState *vs, i
+--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/ui/vnc.c
++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/ui/vnc.c
+@@ -1645,6 +1645,25 @@ static void do_key_event(VncState *vs, i
          if (down)
              vs->modifiers_state[keycode] ^= 1;
          break;

++++++ tmp_build.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -1,26 +1,30 @@
-Index: xen-4.3.0-testing/tools/xenstore/Makefile
+---
+ tools/xenstore/Makefile |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+Index: xen-4.5.0-testing/tools/xenstore/Makefile
 ===================================================================
---- xen-4.3.0-testing.orig/tools/xenstore/Makefile
-+++ xen-4.3.0-testing/tools/xenstore/Makefile
-@@ -75,6 +75,7 @@ $(CLIENTS_DOMU): xenstore
+--- xen-4.5.0-testing.orig/tools/xenstore/Makefile
++++ xen-4.5.0-testing/tools/xenstore/Makefile
+@@ -91,6 +91,7 @@ $(CLIENTS_DOMU): xenstore
  
  xenstore: xenstore_client.o $(LIBXENSTORE)
-       $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
-+      $(CC) $(CFLAGS) $(LDFLAGS) -Wl,--build-id=uuid $< -L. -lxenstore 
$(SOCKET_LIBS) -o domu-$@
+       $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
++      $(CC) $< $(CFLAGS) $(LDFLAGS) -Wl,--build-id=uuid -L. -lxenstore 
$(SOCKET_LIBS) -o domu-$@
  
  xenstore-control: xenstore_control.o $(LIBXENSTORE)
-       $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
-@@ -124,10 +125,11 @@ install: all
+       $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
+@@ -141,10 +142,11 @@ endif
        $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR)
        $(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR)
        set -e ; for c in $(CLIENTS) ; do \
 -              ln -f $(DESTDIR)$(BINDIR)/xenstore $(DESTDIR)$(BINDIR)/$${c} ; \
-+              ln -fs /usr/bin/xenstore $(DESTDIR)/usr/bin/$${c} ; \
++              ln -fs xenstore $(DESTDIR)/usr/bin/$${c} ; \
        done
 +      $(INSTALL_PROG) domu-xenstore $(DESTDIR)/bin
        for client in $(CLIENTS_DOMU); do \
 -          $(INSTALL_PROG) $$client $(DESTDIR)/bin/$${client/domu-}; \
-+          ln -fs /bin/domu-xenstore $(DESTDIR)/bin/$${client/domu-}; \
++          ln -fs domu-xenstore $(DESTDIR)/bin/$${client/domu-}; \
        done
        $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
-       $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
+       $(INSTALL_SHLIB) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)

++++++ udev-rules.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -1,11 +1,11 @@
-Index: xen-4.3.0-testing/tools/hotplug/Linux/xen-backend.rules
+Index: xen-4.5.0-testing/tools/hotplug/Linux/xen-backend.rules.in
 ===================================================================
---- xen-4.3.0-testing.orig/tools/hotplug/Linux/xen-backend.rules
-+++ xen-4.3.0-testing/tools/hotplug/Linux/xen-backend.rules
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/xen-backend.rules.in
++++ xen-4.5.0-testing/tools/hotplug/Linux/xen-backend.rules.in
 @@ -12,4 +12,5 @@ KERNEL=="blktap-control", NAME="xen/blkt
  KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
  KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
  KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
--SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", 
RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", 
RUN+="@XEN_SCRIPT_DIR@/vif-setup $env{ACTION} type_if=tap"
 +SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", 
TEST=="/proc/xen" RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
 +KERNELS=="xen", KERNEL=="xvd*", SUBSYSTEM=="block", OPTIONS+="last_rule"

++++++ vif-bridge-no-iptables.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -1,17 +1,13 @@
-Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
+Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
 ===================================================================
---- xen-4.4.0-testing.orig/tools/hotplug/Linux/vif-bridge
-+++ xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
-@@ -97,9 +97,9 @@ case "$command" in
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge
++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
+@@ -93,7 +93,7 @@ case "$command" in
          ;;
  esac
  
--if [ "$type_if" = vif ]; then
--    handle_iptable
--fi
-+#if [ "$type_if" = vif ]; then
-+#    handle_iptable
-+#fi
+-handle_iptable
++#handle_iptable
  
  call_hooks vif post
  

++++++ vif-bridge-tap-fix.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -10,11 +10,11 @@
 
     Signed-off-by: Jim Fehlig <[email protected]>
 
-Index: xen-4.2.0-testing/tools/hotplug/Linux/vif-bridge
+Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
 ===================================================================
---- xen-4.2.0-testing.orig/tools/hotplug/Linux/vif-bridge
-+++ xen-4.2.0-testing/tools/hotplug/Linux/vif-bridge
-@@ -32,6 +32,13 @@
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge
++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
+@@ -28,6 +28,13 @@
  dir=$(dirname "$0")
  . "$dir/vif-common.sh"
  

++++++ x86-cpufreq-report.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.4.0-testing/xen/arch/x86/platform_hypercall.c
+Index: xen-4.5.0-testing/xen/arch/x86/platform_hypercall.c
 ===================================================================
---- xen-4.4.0-testing.orig/xen/arch/x86/platform_hypercall.c
-+++ xen-4.4.0-testing/xen/arch/x86/platform_hypercall.c
+--- xen-4.5.0-testing.orig/xen/arch/x86/platform_hypercall.c
++++ xen-4.5.0-testing/xen/arch/x86/platform_hypercall.c
 @@ -25,7 +25,7 @@
  #include <xen/irq.h>
  #include <asm/current.h>
@@ -11,7 +11,7 @@
  #include <asm/edd.h>
  #include <asm/mtrr.h>
  #include <asm/io_apic.h>
-@@ -601,6 +601,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA
+@@ -760,6 +760,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA
      }
      break;
  
@@ -53,10 +53,10 @@
      default:
          ret = -ENOSYS;
          break;
-Index: xen-4.4.0-testing/xen/include/public/platform.h
+Index: xen-4.5.0-testing/xen/include/public/platform.h
 ===================================================================
---- xen-4.4.0-testing.orig/xen/include/public/platform.h
-+++ xen-4.4.0-testing/xen/include/public/platform.h
+--- xen-4.5.0-testing.orig/xen/include/public/platform.h
++++ xen-4.5.0-testing/xen/include/public/platform.h
 @@ -527,6 +527,16 @@ struct xenpf_core_parking {
  typedef struct xenpf_core_parking xenpf_core_parking_t;
  DEFINE_XEN_GUEST_HANDLE(xenpf_core_parking_t);
@@ -72,12 +72,12 @@
 +};
 +
  /*
-  * ` enum neg_errnoval
-  * ` HYPERVISOR_platform_op(const struct xen_platform_op*);
-@@ -553,6 +563,7 @@ struct xen_platform_op {
-         struct xenpf_cpu_hotadd        cpu_add;
+  * Access generic platform resources(e.g., accessing MSR, port I/O, etc)
+  * in unified way. Batch resource operations in one call are supported and
+@@ -587,6 +597,7 @@ struct xen_platform_op {
          struct xenpf_mem_hotadd        mem_add;
          struct xenpf_core_parking      core_parking;
+         struct xenpf_resource_op       resource_op;
 +        struct xenpf_get_cpu_freq      get_cpu_freq;
          uint8_t                        pad[128];
      } u;

++++++ x86-ioapic-ack-default.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:42.000000000 +0100
@@ -1,8 +1,10 @@
 Change default IO-APIC ack mode for single IO-APIC systems to old-style.
 
---- a/xen/arch/x86/io_apic.c
-+++ b/xen/arch/x86/io_apic.c
-@@ -2034,7 +2034,10 @@ void __init setup_IO_APIC(void)
+Index: xen-4.5.0-testing/xen/arch/x86/io_apic.c
+===================================================================
+--- xen-4.5.0-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.5.0-testing/xen/arch/x86/io_apic.c
+@@ -2035,7 +2035,10 @@ void __init setup_IO_APIC(void)
          io_apic_irqs = ~PIC_IRQS;
  
      printk("ENABLING IO-APIC IRQs\n");

++++++ xen-4.4.1-testing-src.tar.bz2 -> xen-4.5.0-testing-src.tar.bz2 ++++++
++++ 264342 lines of diff (skipped)

++++++ xen-destdir.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:47.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/xenstore/Makefile
+Index: xen-4.5.0-testing/tools/xenstore/Makefile
 ===================================================================
---- xen-4.4.0-testing.orig/tools/xenstore/Makefile
-+++ xen-4.4.0-testing/tools/xenstore/Makefile
-@@ -10,6 +10,7 @@ CFLAGS += $(CFLAGS_libxenctrl)
+--- xen-4.5.0-testing.orig/tools/xenstore/Makefile
++++ xen-4.5.0-testing/tools/xenstore/Makefile
+@@ -19,6 +19,7 @@ LDFLAGS += $(LDFLAGS-y)
  
  CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm 
xenstore-chmod
  CLIENTS += xenstore-write xenstore-ls xenstore-watch
@@ -10,7 +10,7 @@
  
  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
  
-@@ -41,7 +42,7 @@ endif
+@@ -57,7 +58,7 @@ endif
  all: $(ALL_TARGETS)
  
  .PHONY: clients
@@ -19,7 +19,7 @@
  
  ifeq ($(CONFIG_SunOS),y)
  xenstored_probes.h: xenstored_probes.d
-@@ -69,6 +70,9 @@ xenstored.a: $(XENSTORED_OBJS)
+@@ -85,6 +86,9 @@ xenstored.a: $(XENSTORED_OBJS)
  $(CLIENTS): xenstore
        ln -f xenstore $@
  
@@ -27,9 +27,9 @@
 +      ln -f xenstore $@
 +
  xenstore: xenstore_client.o $(LIBXENSTORE)
-       $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
+       $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ 
$(APPEND_LDFLAGS)
  
-@@ -96,7 +100,7 @@ clean:
+@@ -112,7 +116,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
@@ -38,15 +38,14 @@
        $(RM) $(DEPS)
  
  .PHONY: TAGS
-@@ -113,6 +117,7 @@ install: all
+@@ -132,12 +136,16 @@ ifeq ($(XENSTORE_XENSTORED),y)
        $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
-       $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
-       $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat
-+      $(INSTALL_DIR) $(DESTDIR)/bin
-       $(INSTALL_DIR) $(DESTDIR)/var/run/xenstored
-       $(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored
+       $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED)
        $(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
-@@ -121,6 +126,9 @@ install: all
++      $(INSTALL_DIR) $(DESTDIR)/bin
+ endif
+       $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR)
+       $(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR)
        set -e ; for c in $(CLIENTS) ; do \
                ln -f $(DESTDIR)$(BINDIR)/xenstore $(DESTDIR)$(BINDIR)/$${c} ; \
        done
@@ -54,50 +53,5 @@
 +          $(INSTALL_PROG) $$client $(DESTDIR)/bin/$${client/domu-}; \
 +      done
        $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
-       $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
+       $(INSTALL_SHLIB) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
        ln -sf libxenstore.so.$(MAJOR).$(MINOR) 
$(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
-Index: xen-4.4.0-testing/tools/hotplug/Linux/Makefile
-===================================================================
---- xen-4.4.0-testing.orig/tools/hotplug/Linux/Makefile
-+++ xen-4.4.0-testing/tools/hotplug/Linux/Makefile
-@@ -46,14 +46,14 @@ install: all install-initd install-scrip
- .PHONY: install-initd
- install-initd:
-       [ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
--      [ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) 
$(DESTDIR)$(SYSCONFIG_DIR)
-+      [ -d $(DESTDIR)/var/adm/fillup-templates ] || $(INSTALL_DIR) 
$(DESTDIR)/var/adm/fillup-templates/
- ifeq ($(CONFIG_XEND),y)
-       $(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)$(INITD_DIR)
- endif
-       $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(INITD_DIR)
--      $(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) 
$(DESTDIR)$(SYSCONFIG_DIR)/xendomains
-+      $(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) 
$(DESTDIR)/var/adm/fillup-templates/
-       $(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(INITD_DIR)
--      $(INSTALL_DATA) $(XENCOMMONS_SYSCONFIG) 
$(DESTDIR)$(SYSCONFIG_DIR)/xencommons
-+      $(INSTALL_DATA) $(XENCOMMONS_SYSCONFIG) 
$(DESTDIR)/var/adm/fillup-templates/
-       $(INSTALL_PROG) init.d/xen-watchdog $(DESTDIR)$(INITD_DIR)
- 
- .PHONY: install-scripts
-Index: xen-4.4.0-testing/tools/firmware/etherboot/Makefile
-===================================================================
---- xen-4.4.0-testing.orig/tools/firmware/etherboot/Makefile
-+++ xen-4.4.0-testing/tools/firmware/etherboot/Makefile
-@@ -28,12 +28,12 @@ all: $(ROMS)
-       $(MAKE) -C $D/src bin/$(*F).rom
- 
- $T:
--      if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \
--              $(GIT) clone $(IPXE_GIT_URL) $D.git; \
--              (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \
--              $(IPXE_GIT_TAG) | gzip >../_$T); \
--              rm -rf $D.git; \
--      fi
-+      #if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \
-+      #       $(GIT) clone $(IPXE_GIT_URL) $D.git; \
-+      #       (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \
-+      #       $(IPXE_GIT_TAG) | gzip >../_$T); \
-+      #       rm -rf $D.git; \
-+      #fi
-       mv _$T $T
- 
- $D/src/arch/i386/Makefile: $T Config

++++++ xen-hvm-default-bridge.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:47.000000000 +0100
@@ -30,27 +30,6 @@
          }
      } else
  #endif
-Index: xen-4.2.3-testing/tools/python/xen/xend/image.py
-===================================================================
---- xen-4.2.3-testing.orig/tools/python/xen/xend/image.py
-+++ xen-4.2.3-testing/tools/python/xen/xend/image.py
-@@ -912,11 +912,13 @@ class HVMImageHandler(ImageHandler):
-             mac = devinfo.get('mac')
-             if mac is None:
-                 raise VmError("MAC address not specified or generated.")
--            bridge = devinfo.get('bridge', 'xenbr0')
-+            bridge = devinfo.get('bridge', None)
-             model = devinfo.get('model', 'rtl8139')
-             ret.append("-net")
--            ret.append("nic,vlan=%d,macaddr=%s,model=%s" %
--                       (nics, mac, model))
-+            net = "nic,vlan=%d,macaddr=%s,model=%s" % (nics, mac, model)
-+            if bridge:
-+                net += ",bridge=%s" % bridge
-+            ret.append(net)
-             vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
-             ret.append("-net")
-             if osdep.tapif_script is not None:
 Index: 
xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
 ===================================================================
 --- 
xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux

++++++ xen-qemu-iscsi-fix.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:47.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -451,7 +451,7 @@ void xenstore_parse_domain_config(int hv
+--- 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
+@@ -450,7 +450,7 @@ void xenstore_parse_domain_config(int hv
      char *buf = NULL;
      char *fpath = NULL, *bpath = NULL, *btype = NULL,
          *dev = NULL, *params = NULL, *drv = NULL;
@@ -11,7 +11,7 @@
      unsigned int len, num, hd_index, pci_devid = 0;
      BlockDriverState *bs;
      BlockDriver *format;
-@@ -535,12 +535,7 @@ void xenstore_parse_domain_config(int hv
+@@ -534,12 +534,7 @@ void xenstore_parse_domain_config(int hv
              continue;
          free(danger_type);
          danger_type = xs_read(xsh, XBT_NULL, danger_buf, &len);
@@ -25,7 +25,7 @@
          /* read the name of the device */
          if (pasprintf(&buf, "%s/type", bpath) == -1)
              continue;
-@@ -548,6 +543,35 @@ void xenstore_parse_domain_config(int hv
+@@ -547,6 +542,35 @@ void xenstore_parse_domain_config(int hv
          drv = xs_read(xsh, XBT_NULL, buf, &len);
          if (drv == NULL)
              continue;
@@ -61,7 +61,7 @@
          /* Obtain blktap sub-type prefix */
          if ((!strcmp(drv, "tap") || !strcmp(drv, "qdisk")) && params[0]) {
              char *offset = strchr(params, ':'); 
-@@ -665,6 +689,12 @@ void xenstore_parse_domain_config(int hv
+@@ -664,6 +688,12 @@ void xenstore_parse_domain_config(int hv
                          format = &bdrv_host_device;
                      else
                          format = &bdrv_raw;

++++++ xen.build-compare.doc_html.patch ++++++
The result of $(wildcard *) is random.
Sort input files to reduce build-compare noise.

---
 docs/Makefile |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: xen-4.5.0-testing/docs/Makefile
===================================================================
--- xen-4.5.0-testing.orig/docs/Makefile
+++ xen-4.5.0-testing/docs/Makefile
@@ -110,7 +110,7 @@ install-html: html txt figs
 install: install-man-pages install-html
 
 html/index.html: $(DOC_HTML) $(CURDIR)/gen-html-index INDEX
-       $(PERL) -w -- $(CURDIR)/gen-html-index -i INDEX html $(DOC_HTML)
+       $(PERL) -w -- $(CURDIR)/gen-html-index -i INDEX html $(sort $(DOC_HTML))
 
 html/%.html: %.markdown
        $(INSTALL_DIR) $(@D)
@@ -152,8 +152,8 @@ html/hypercall/%/index.html: $(CURDIR)/x
        $(INSTALL_DIR) $(@D)
        $(PERL) -w $(CURDIR)/xen-headers -O $(@D) \
                -T 'arch-$* - Xen public headers' \
-               $(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES))) \
-               $(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES))) \
+               $(sort $(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES)))) \
+               $(sort $(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES)))) \
                $(EXTRA_EXCLUDE) \
                $(XEN_ROOT)/xen include/public include/xen/errno.h
 
++++++ xen.build-compare.ipxe.patch ++++++
The result of $(wildcard *) is random.
Sort input files to reduce build-compare noise.
---
 tools/firmware/etherboot/patches/build-compare.patch |   19 +++++++++++++++++++
 tools/firmware/etherboot/patches/series              |    1 +
 2 files changed, 20 insertions(+)

Index: xen-4.5.0-testing/tools/firmware/etherboot/patches/build-compare.patch
===================================================================
--- /dev/null
+++ xen-4.5.0-testing/tools/firmware/etherboot/patches/build-compare.patch
@@ -0,0 +1,19 @@
+The result of $(wildcard *) is random.
+Sort input files to reduce build-compare noise.
+---
+ ipxe/src/Makefile.housekeeping |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: ipxe/src/Makefile.housekeeping
+===================================================================
+--- ipxe/src/Makefile.housekeeping
++++ ipxe/src/Makefile.housekeeping
+@@ -773,7 +773,7 @@ BLIB               = $(BIN)/blib.a
+ $(BLIB) : $(BLIB_OBJS) $(BLIB_LIST) $(MAKEDEPS)
+       $(Q)$(RM) $(BLIB)
+       $(QM)$(ECHO) "  [AR] $@"
+-      $(Q)$(AR) r $@ $(BLIB_OBJS)
++      $(Q)$(AR) r $@ $(sort $(BLIB_OBJS))
+       $(Q)$(RANLIB) $@
+ blib : $(BLIB)
+ 
Index: xen-4.5.0-testing/tools/firmware/etherboot/patches/series
===================================================================
--- xen-4.5.0-testing.orig/tools/firmware/etherboot/patches/series
+++ xen-4.5.0-testing/tools/firmware/etherboot/patches/series
@@ -2,3 +2,4 @@ boot_prompt_option.patch
 build_fix_1.patch
 build_fix_2.patch
 build_fix_3.patch
+build-compare.patch
++++++ xen.build-compare.man.patch ++++++
Having just X.Y as version in the man pages is enough.
---
 docs/Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: xen-4.5.0-testing/docs/Makefile
===================================================================
--- xen-4.5.0-testing.orig/docs/Makefile
+++ xen-4.5.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 .)
 
 DOC_ARCHES      := arm x86_32 x86_64
 
++++++ xen.build-compare.mini-os.patch ++++++
The result of $(wildcard *) is random.
Sort input files to reduce build-compare noise.

---
 extras/mini-os/Makefile          |    2 +-
 extras/mini-os/arch/x86/Makefile |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: xen-4.5.0-testing/extras/mini-os/Makefile
===================================================================
--- xen-4.5.0-testing.orig/extras/mini-os/Makefile
+++ xen-4.5.0-testing/extras/mini-os/Makefile
@@ -158,7 +158,7 @@ endif
 
 $(OBJ_DIR)/lwip.a: $(LWO)
        $(RM) $@
-       $(AR) cqs $@ $^
+       $(AR) cqs $@ $(sort $^)
 
 OBJS += $(OBJ_DIR)/lwip.a
 endif
Index: xen-4.5.0-testing/extras/mini-os/arch/x86/Makefile
===================================================================
--- xen-4.5.0-testing.orig/extras/mini-os/arch/x86/Makefile
+++ xen-4.5.0-testing/extras/mini-os/arch/x86/Makefile
@@ -24,7 +24,7 @@ all: $(OBJ_DIR)/$(ARCH_LIB)
 # $(HEAD_ARCH_OBJ) is only build here, needed on linking
 # in ../../Makefile.
 $(OBJ_DIR)/$(ARCH_LIB): $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
-       $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS)
+       $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(sort $(ARCH_OBJS))
 
 clean:
        rm -f $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
++++++ xen.build-compare.seabios.patch ++++++
Use stable strings to reduce build-compare noise.
---
 tools/firmware/seabios-dir-remote/tools/buildversion.sh |    5 +++++
 1 file changed, 5 insertions(+)

Index: xen-4.5.0-testing/tools/firmware/seabios-dir-remote/tools/buildversion.sh
===================================================================
--- 
xen-4.5.0-testing.orig/tools/firmware/seabios-dir-remote/tools/buildversion.sh
+++ xen-4.5.0-testing/tools/firmware/seabios-dir-remote/tools/buildversion.sh
@@ -11,7 +11,12 @@ elif [ -f .version ]; then
 else
     VERSION="?"
 fi
+if test -n "${SEABIOS_DATE}"
+then
+    VERSION="${SEABIOS_DATE}"
+else
 VERSION="${VERSION}-`date +"%Y%m%d_%H%M%S"`-`hostname`"
+fi
 echo "Version: ${VERSION}"
 
 # Build header file
++++++ xen.build-compare.smbiosdate.patch ++++++
Use stable strings to reduce build-compare noise.
---
 tools/firmware/hvmloader/Makefile |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Index: xen-4.5.0-testing/tools/firmware/hvmloader/Makefile
===================================================================
--- xen-4.5.0-testing.orig/tools/firmware/hvmloader/Makefile
+++ xen-4.5.0-testing/tools/firmware/hvmloader/Makefile
@@ -25,6 +25,7 @@ SUBDIRS := acpi
 
 # The HVM loader is started in 32-bit mode at the address below:
 LOADADDR = 0x100000
+SMBIOS_DATE ?= $(shell date +%m/%d/%Y)
 
 CFLAGS += $(CFLAGS_xeninclude)
 
@@ -88,7 +89,7 @@ all: subdirs-all
        $(MAKE) hvmloader
 
 ovmf.o rombios.o seabios.o hvmloader.o: roms.inc
-smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(shell date +%m/%d/%Y)\""
+smbios.o: CFLAGS += -D__SMBIOS_DATE__="$(SMBIOS_DATE)"
 
 hvmloader: $(OBJS) acpi/acpi.a
        $(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) -o hvmloader.tmp $^
++++++ xen.build-compare.vgabios.patch ++++++
---
 tools/firmware/vgabios/Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: xen-4.5.0-testing/tools/firmware/vgabios/Makefile
===================================================================
--- xen-4.5.0-testing.orig/tools/firmware/vgabios/Makefile
+++ xen-4.5.0-testing/tools/firmware/vgabios/Makefile
@@ -5,7 +5,7 @@ BCC = bcc
 AS86 = as86
 
 RELEASE = `pwd | sed "s-.*/--"`
-RELDATE = `date '+%d %b %Y'`
+RELDATE ?= `date '+%d %b %Y'`
 RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"`
 
 VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
++++++ xen.build-compare.xen_compile_h.patch ++++++
Use stable strings to reduce build-compare noise.
Index: xen-4.5.0-testing/xen/Makefile
===================================================================
--- xen-4.5.0-testing.orig/xen/Makefile
+++ xen-4.5.0-testing/xen/Makefile
@@ -8,6 +8,9 @@ export XEN_FULLVERSION   = $(XEN_VERSION
 
 export XEN_WHOAMI      ?= $(USER)
 export XEN_DOMAIN      ?= $(shell ([ -x /bin/dnsdomainname ] && 
/bin/dnsdomainname) || ([ -x /bin/domainname ] && /bin/domainname || echo 
[unknown]))
+export XEN_BUILD_DATE  ?= $(shell LC_ALL=C date)
+export XEN_BUILD_TIME  ?= $(shell LC_ALL=C date +%T)
+export XEN_BUILD_HOST  ?= $(shell hostname)
 
 export BASEDIR := $(CURDIR)
 export XEN_ROOT := $(BASEDIR)/..
@@ -126,11 +129,11 @@ delete-unfresh-files:
 
 # compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
 include/xen/compile.h: include/xen/compile.h.in .banner
-       @sed -e 's/@@date@@/$(shell LC_ALL=C date)/g' \
-           -e 's/@@time@@/$(shell LC_ALL=C date +%T)/g' \
+       @sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
+           -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
            -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
            -e 's/@@domain@@/$(XEN_DOMAIN)/g' \
-           -e 's/@@hostname@@/$(shell hostname)/g' \
+           -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
            -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head 
-1)!g' \
            -e 's/@@version@@/$(XEN_VERSION)/g' \
            -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
++++++ xen.stubdom.newlib.patch ++++++
# HG changeset patch
# Parent 02ec826cab1e4acb25b364a180a1597ace1149f9
stubdom: fix errors in newlib

rpm post-build-checks found a few code bugs in newlib, and marks them as
errors. Add another newlib patch and apply it during stubdom build.

I: A function uses a 'return;' statement, but has actually a value
   to return, like an integer ('return 42;') or similar.
W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 
125, 146, 157, 330

I: Program is using implicit definitions of special functions.
   these functions need to use their correct prototypes to allow
   the lightweight buffer overflow checking to work.
     - Implicit memory/string functions need #include <string.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *read* functions need #include <unistd.h>.
     - Implicit *recv* functions need #include <sys/socket.h>.
E: xen implicit-fortify-decl 
../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119

I: Program returns random data in a function
E: xen no-return-in-nonvoid-function 
../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362

Signed-off-by: Olaf Hering <[email protected]>

Index: xen-4.5.0-testing/stubdom/Makefile
===================================================================
--- xen-4.5.0-testing.orig/stubdom/Makefile
+++ xen-4.5.0-testing/stubdom/Makefile
@@ -72,6 +72,7 @@ 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
+       patch -d $@ -p1 < newlib-cygmon-gmon.patch
        find $@ -type f | xargs perl -i.bak \
                -pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
        touch $@
Index: xen-4.5.0-testing/stubdom/newlib-cygmon-gmon.patch
===================================================================
--- /dev/null
+++ xen-4.5.0-testing/stubdom/newlib-cygmon-gmon.patch
@@ -0,0 +1,60 @@
+
+I: A function uses a 'return;' statement, but has actually a value
+   to return, like an integer ('return 42;') or similar.
+W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 
125, 146, 157, 330
+
+I: Program is using implicit definitions of special functions.
+   these functions need to use their correct prototypes to allow
+   the lightweight buffer overflow checking to work.
+     - Implicit memory/string functions need #include <string.h>.
+     - Implicit *printf functions need #include <stdio.h>.
+     - Implicit *printf functions need #include <stdio.h>.
+     - Implicit *read* functions need #include <unistd.h>.
+     - Implicit *recv* functions need #include <sys/socket.h>.
+E: xen implicit-fortify-decl 
../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119
+
+I: Program returns random data in a function
+E: xen no-return-in-nonvoid-function 
../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362
+
+---
+ libgloss/i386/cygmon-gmon.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+Index: newlib-1.16.0/libgloss/i386/cygmon-gmon.c
+===================================================================
+--- newlib-1.16.0.orig/libgloss/i386/cygmon-gmon.c
++++ newlib-1.16.0/libgloss/i386/cygmon-gmon.c
+@@ -61,6 +61,8 @@
+ static char sccsid[] = "@(#)gmon.c    5.3 (Berkeley) 5/22/91";
+ #endif /* not lint */
+
++#include <string.h>
++#include <unistd.h>
+ #define DEBUG
+ #ifdef DEBUG
+ #include <stdio.h>
+@@ -89,7 +91,7 @@ static int   s_scale;
+
+ extern int errno;
+
+-int
++void
+ monstartup(lowpc, highpc)
+      char     *lowpc;
+      char     *highpc;
+@@ -199,6 +201,7 @@ _mcleanup()
+
+ static char already_setup = 0;
+
++void
+ _mcount()
+ {
+   register char                       *selfpc;
+@@ -341,6 +344,7 @@ overflow:
+  *    profiling is what mcount checks to see if
+  *    all the data structures are ready.
+  */
++void
+ moncontrol(mode)
+     int mode;
+ {
++++++ xen2libvirt.py ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:47.000000000 +0100
@@ -51,12 +51,25 @@
     isbinary = os.system('file -b ' + path + ' | grep text > /dev/null')
 
     if isbinary:
-        print 'File %s is not a text file containing Xen xm or sexpr 
configuration'
-        sys.exit(1)
+        print('Skipping %s (not a valid Xen configuration file)' % path)
+        return 'unknown'
 
-    if config.find('\(domain'):
-        return 'sexpr'
-    return 'xm'
+    for line in config.splitlines():
+        if len(line) == 0 or line.startswith('#'):
+            continue
+        if line.startswith('<domain'):
+            # XML is not a supported conversion format
+            break
+        if line.startswith('(domain'):
+            print('Found sexpr formatted file %s' % path)
+            return 'sexpr'
+        if '=' in line:
+            print('Found xm formatted file %s' % path)
+            return 'xm'
+        break
+
+    print('Skipping %s (not a valid Xen configuration file)' % path)
+    return 'unknown'
 
 
 def import_domain(conn, path, format=None, convert_only=False):
@@ -68,20 +81,22 @@
         format = check_config(path, config)
 
     if format == 'sexpr':
-        print_verbose('scrubbing domin from configuration')
+        print_verbose('scrubbing domid from configuration')
         config = re.sub("\(domid [0-9]*\)", "", config)
         print_verbose('scrubbed sexpr:\n %s' % config)
         xml = conn.domainXMLFromNative('xen-sxpr', config, 0)
-    else:
-        # if format != sexpr, try xm
+    elif format == 'xm':
         xml = conn.domainXMLFromNative('xen-xm', config, 0)
+    else:
+        # Return to continue on to next file (if recursive) 
+        return
 
     f.close()
 
     # domUloader is no longer available in SLES12, replace with pygrub
     tree = ElementTree.fromstring(xml)
     bl = tree.find('.//bootloader')
-    if bl is not None and 'domUloader' in bl.text:
+    if bl is not None and bl.text is not None and 'domUloader' in bl.text:
         bl.text = 'pygrub'
     xml = ElementTree.tostring(tree)
 


++++++ xencommons.service ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:47.000000000 +0100
@@ -1,13 +1,31 @@
 [Unit]
-Description=Xencommons - Script to start and stop xenstored and xenconsoled
-ConditionPathExists=/proc/xen
+Description=xencommons
+ConditionPathExists=/proc/xen/capabilities
+
+# Pull in all upstream service files
+Requires=proc-xen.mount
+After=proc-xen.mount
+Requires=xenstored.service
+After=xenstored.service
+Requires=xenconsoled.service
+After=xenconsoled.service
+Requires=xen-init-dom0.service
+After=xen-init-dom0.service
+Requires=xen-qemu-dom0-disk-backend.service
+After=xen-qemu-dom0-disk-backend.service
+
+# Make sure network (for bridge) and remote mounts (for xendomains) are 
available ...
+After=network-online.target
+After=remote-fs.target
+
+# ... for libvirt and xendomains
+Before=xendomains.service libvirtd.service
 
 [Service]
 Type=oneshot
 RemainAfterExit=true
 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
-ExecStart=-/etc/init.d/xencommons start
-ExecStop=/etc/init.d/xencommons stop
+ExecStart=/usr/bin/xenstore-ls -f
 
 [Install]
 WantedBy=multi-user.target

++++++ xenconsole-no-multiple-connections.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:47.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/console/client/main.c
+Index: xen-4.5.0-testing/tools/console/client/main.c
 ===================================================================
---- xen-4.4.0-testing.orig/tools/console/client/main.c
-+++ xen-4.4.0-testing/tools/console/client/main.c
-@@ -96,6 +96,7 @@ static int get_pty_fd(struct xs_handle *
+--- xen-4.5.0-testing.orig/tools/console/client/main.c
++++ xen-4.5.0-testing/tools/console/client/main.c
+@@ -95,6 +95,7 @@ static int get_pty_fd(struct xs_handle *
   * Assumes there is already a watch set in the store for this path. */
  {
        struct timeval tv;
@@ -10,7 +10,7 @@
        fd_set watch_fdset;
        int xs_fd = xs_fileno(xs), pty_fd = -1;
        int start, now;
-@@ -119,6 +120,14 @@ static int get_pty_fd(struct xs_handle *
+@@ -118,6 +119,14 @@ static int get_pty_fd(struct xs_handle *
                                pty_fd = open(pty_path, O_RDWR | O_NOCTTY);
                                if (pty_fd == -1)
                                        warn("Could not open tty `%s'", 
pty_path);

++++++ xenpaging.qemu.flush-cache.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old  2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new  2015-02-04 09:31:47.000000000 +0100
@@ -15,11 +15,11 @@
  tools/qemu-xen-traditional-dir-remote/xenstore.c |    3 +++
  1 file changed, 3 insertions(+)
 
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
 ===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -1020,6 +1020,9 @@ static void xenstore_process_dm_command_
+--- 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
+@@ -1006,6 +1006,9 @@ static void xenstore_process_dm_command_
          do_pci_add(par);
          free(par);
  #endif

++++++ xl-coredump-file-location.patch ++++++
xl: change default dump directory

Upstream xl uses /var/xen/dump/ as the default directory for
domain core dumps.  This patch changes the path to the more
FHS-friendly location of /var/lib/xen/dump/, which was also
the path used in SLE11.

See bsc#900292
Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
===================================================================
--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c
+++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
@@ -2092,7 +2092,7 @@ static int handle_domain_death(uint32_t
         char *corefile;
         int rc;
 
-        if (asprintf(&corefile, "/var/xen/dump/%s", d_config->c_info.name) < 
0) {
+        if (asprintf(&corefile, "/var/lib/xen/dump/%s", d_config->c_info.name) 
< 0) {
             LOG("failed to construct core dump path");
         } else {
             LOG("dumping core to %s", corefile);
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to