Hello community,

here is the log from the commit of package xen for openSUSE:Factory checked in 
at 2014-02-02 18:46:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-01-07 17:25:20.000000000 
+0100
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes     2014-02-02 
18:47:01.000000000 +0100
@@ -1,0 +2,42 @@
+Thu Jan 23 16:11:39 MST 2014 - carn...@suse.com
+
+- Dropped xen-changeset.patch.  It is no longer needed.
+
+-------------------------------------------------------------------
+Sun Jan 19 00:13:06 CET 2014 - oher...@suse.de
+
+- BuildRequire libfdt1-devel on ARM
+
+-------------------------------------------------------------------
+Sat Jan 18 00:35:46 CET 2014 - oher...@suse.de
+
+- fate#311487: remove modprobe.conf files for autoloading of
+  pv-on-hvm files.
+  Rely on core kernel to skip initialization of emulated hardware
+  Handle xen_emul_unplug= from xenlinux based core kernel-default
+
+-------------------------------------------------------------------
+Wed Jan 16 13:11:32 MST 2014 - carn...@suse.com
+
+- Fix the spec file to build for old distros
+  The xm/xend toolstack will continue to be contained in xen-tools
+  for older openSUSE and sles distros but it will be contained in
+  xend-tools for os13.x
+
+-------------------------------------------------------------------
+Wed Jan 15 19:55:32 CET 2014 - oher...@suse.de
+
+- fate#316071: add discard support for file backed storage (qdisk)
+  to qemu-upstream, enabled unconditionally
+
+-------------------------------------------------------------------
+Tue Jan 14 12:13:45 MST 2014 - carn...@suse.com
+
+- Update to Xen 4.4.0 RC2 c/s 28287
+
+-------------------------------------------------------------------
+Tue Jan  9 11:44:11 MST 2014 - carn...@suse.com
+
+- Restore 32bit ix86 support in spec file for kmps and domU tools
+
+-------------------------------------------------------------------

Old:
----
  xen-changeset.patch
  xen_pvdrivers.conf

New:
----
  qemu-xen-upstream-blkif-discard.patch
  xen_pvonhvm.xen_emul_unplug.patch
  xend-config-enable-dump-comment.patch
  xend-tools-watchdog-support.patch
  xend-vif-route-ifup.patch

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

Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:03.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:03.000000000 +0100
@@ -15,24 +15,36 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
-
 Name:           xen
-ExclusiveArch:  x86_64 %arm aarch64
+ExclusiveArch:  %ix86 x86_64 %arm aarch64
 %define xvers 4.4
 %define xvermaj 4
-%define changeset 28233
+%define changeset 28287
 %define xen_build_dir xen-4.4.0-testing
 %ifarch %arm aarch64
 %define with_kmp 0
+%define with_xend 0
 %define with_debug 0
 %define with_stubdom 0
-%define with_xend 0
+%define with_dom0_support 1
 %else
+%ifarch x86_64
 %define with_kmp 1
 %define with_debug 1
 %define with_stubdom 1
+%define with_dom0_support 1
 %define with_qemu_traditional 1
+%if %suse_version > 1230
+%define with_xend 1
+%else
+%define with_xend 1
+%endif
+%else
 %define with_xend 0
+%define with_stubdom 0
+%define with_dom0_support 0
+%define with_qemu_traditional 0
+%endif
 %endif
 # EFI requires gcc46 or newer
 # its available in 12.1 or >= sles11sp2
@@ -47,34 +59,45 @@
 %else
 %define with_systemd 0
 %endif
-%ifnarch %arm aarch64
+%ifarch %arm aarch64
+BuildRequires:  libfdt1-devel
+%endif
+%ifarch %ix86 x86_64
 BuildRequires:  dev86
 %endif
 BuildRequires:  fdupes
 BuildRequires:  glib2-devel
 BuildRequires:  libaio-devel
 BuildRequires:  libbz2-devel
-BuildRequires:  libpixman-1-0-devel
 BuildRequires:  libuuid-devel
 BuildRequires:  libxml2-devel
 BuildRequires:  libyajl-devel
+BuildRequires:  libpixman-1-0-devel
 BuildRequires:  ncurses-devel
 BuildRequires:  openssl-devel
 BuildRequires:  python-devel
+BuildRequires:  transfig
+%if %suse_version >= 1030
 BuildRequires:  texinfo
 BuildRequires:  texlive
+%if %suse_version > 1220
+BuildRequires:  texlive-latex
 BuildRequires:  texlive-courier
 BuildRequires:  texlive-dvips
 BuildRequires:  texlive-helvetic
-BuildRequires:  texlive-latex
 BuildRequires:  texlive-psnfss
 BuildRequires:  texlive-times
-BuildRequires:  transfig
 BuildRequires:  tex(a4.sty)
 BuildRequires:  tex(a4wide.sty)
 BuildRequires:  tex(fancyhdr.sty)
 BuildRequires:  tex(parskip.sty)
 BuildRequires:  tex(setspace.sty)
+%endif
+%else
+BuildRequires:  te_ams
+BuildRequires:  te_latex
+BuildRequires:  tetex
+%endif
 %if %suse_version >= 1230
 BuildRequires:  systemd
 %endif
@@ -84,7 +107,7 @@
 %if %suse_version <= 1110
 BuildRequires:  pmtools
 %else
-%ifnarch %arm aarch64
+%ifarch %ix86 x86_64
 BuildRequires:  acpica
 %endif
 %endif
@@ -102,11 +125,15 @@
 %if %{?with_kmp}0
 BuildRequires:  kernel-source
 BuildRequires:  kernel-syms
-BuildRequires:  lndir
 BuildRequires:  module-init-tools
+%if %suse_version >= 1230
+BuildRequires:  lndir
+%else
+BuildRequires:  xorg-x11-util-devel
+%endif
 %endif
 
-Version:        4.4.0_01
+Version:        4.4.0_02
 Release:        0
 PreReq:         %insserv_prereq %fillup_prereq
 Summary:        Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
@@ -132,7 +159,6 @@
 Source24:       xmclone.sh
 Source26:       init.xen_loop
 %if %{?with_kmp}0
-Source27:       xen_pvdrivers.conf
 Source28:       kmp_filelist
 %endif
 Source29:       block-dmmd
@@ -177,8 +203,7 @@
 Patch258:       0008-e1000-check-buffer-availability.patch
 # Our platform specific patches
 Patch301:       xen-destdir.patch
-Patch302:       xen-changeset.patch
-Patch303:       xen-xmexample.patch
+Patch302:       xen-xmexample.patch
 Patch310:       bridge-opensuse.patch
 Patch311:       bridge-vlan.patch
 Patch312:       bridge-bonding.patch
@@ -226,6 +251,8 @@
 Patch381:       ioemu-disable-scsi.patch
 Patch382:       ioemu-disable-emulated-ide-if-pv.patch
 Patch383:       xenpaging.qemu.flush-cache.patch
+Patch384:       qemu-xen-upstream-blkif-discard.patch
+Patch385:       xen_pvonhvm.xen_emul_unplug.patch
 # Xend
 Patch400:       xen.migrate.tools_set_migration_constraints_from_cmdline.patch
 Patch401:       xen.migrate.tools_add_xm_migrate_--log_progress_option.patch
@@ -234,34 +261,37 @@
 Patch404:       xend-config.patch
 Patch405:       xend-max-free-mem.patch
 Patch406:       xend-hvm-default-pae.patch
-Patch407:       xend-xenapi-console-protocol.patch
-Patch408:       xend-core-dump-loc.patch
-Patch409:       xend-xen-api-auth.patch
-Patch410:       xend-checkpoint-rename.patch
-Patch411:       xend-xm-save-check-file.patch
-Patch412:       xend-xm-create-xflag.patch
-Patch413:       xend-domu-usb-controller.patch
-Patch414:       xend-devid-or-name.patch
-Patch415:       xend-migration-domname-fix.patch
-Patch416:       xend-del_usb_xend_entry.patch
-Patch417:       xend-xen-domUloader.patch
-Patch418:       xend-multi-xvdp.patch
-Patch419:       xend-check_device_status.patch
-Patch420:       xend-change_home_server.patch
-Patch421:       xend-minimum-restart-time.patch
-Patch422:       xend-disable-internal-logrotate.patch
-Patch423:       xend-console-port-restore.patch
-Patch424:       xend-vcpu-affinity-fix.patch
-Patch425:       xend-migration-bridge-check.patch
-Patch426:       xend-managed-pci-device.patch
-Patch427:       xend-hvm-firmware-passthrough.patch
-Patch428:       xend-cpuinfo-model-name.patch
-Patch429:       xend-xm-reboot-fix.patch
-Patch430:       xend-domain-lock.patch
-Patch431:       xend-domain-lock-sfex.patch
-Patch432:       xend-32on64-extra-mem.patch
-Patch433:       xend-hv_extid_compatibility.patch
-Patch434:       xend-xenpaging.autostart.patch
+Patch407:       xend-vif-route-ifup.patch
+Patch408:       xend-xenapi-console-protocol.patch
+Patch409:       xend-core-dump-loc.patch
+Patch410:       xend-xen-api-auth.patch
+Patch411:       xend-checkpoint-rename.patch
+Patch412:       xend-xm-save-check-file.patch
+Patch413:       xend-xm-create-xflag.patch
+Patch414:       xend-domu-usb-controller.patch
+Patch415:       xend-devid-or-name.patch
+Patch416:       xend-migration-domname-fix.patch
+Patch417:       xend-del_usb_xend_entry.patch
+Patch418:       xend-xen-domUloader.patch
+Patch419:       xend-multi-xvdp.patch
+Patch420:       xend-check_device_status.patch
+Patch421:       xend-change_home_server.patch
+Patch422:       xend-minimum-restart-time.patch
+Patch423:       xend-disable-internal-logrotate.patch
+Patch424:       xend-config-enable-dump-comment.patch
+Patch425:       xend-tools-watchdog-support.patch
+Patch426:       xend-console-port-restore.patch
+Patch427:       xend-vcpu-affinity-fix.patch
+Patch428:       xend-migration-bridge-check.patch
+Patch429:       xend-managed-pci-device.patch
+Patch430:       xend-hvm-firmware-passthrough.patch
+Patch431:       xend-cpuinfo-model-name.patch
+Patch432:       xend-xm-reboot-fix.patch
+Patch433:       xend-domain-lock.patch
+Patch434:       xend-domain-lock-sfex.patch
+Patch435:       xend-32on64-extra-mem.patch
+Patch436:       xend-hv_extid_compatibility.patch
+Patch437:       xend-xenpaging.autostart.patch
 # Other bug fixes or features
 Patch450:       libxen_permissive.patch
 Patch451:       xenconsole-no-multiple-connections.patch
@@ -342,6 +372,8 @@
     Ewan Mellor <e...@xensource.com>
     ...
 
+%if %{?with_dom0_support}0
+
 %package libs
 Summary:        Xen Virtualization: Libraries
 Group:          System/Kernel
@@ -398,6 +430,7 @@
 
 
 %if %{?with_xend}0
+%if %suse_version > 1230
 %package xend-tools
 Summary:        Xen Virtualization: Control tools for domain 0
 Group:          System/Kernel
@@ -422,6 +455,8 @@
 In addition to this package you need to install kernel-xen, xen and
 xen-libs to use Xen.
 %endif
+%endif
+%endif
 
 %package tools-domU
 Summary:        Xen Virtualization: Control tools for domain U
@@ -479,6 +514,8 @@
 
 %endif
 
+%if %{?with_dom0_support}0
+
 %package doc-html
 Summary:        Xen Virtualization: HTML documentation
 Group:          Documentation/HTML
@@ -496,7 +533,7 @@
 Authors:
 --------
     Ian Pratt <ian.pr...@cl.cam.ac.uk>
-
+%endif
 
 %prep
 %setup -q -n %xen_build_dir -a 1 -a 2 -a 3 -a 4 -a 5 -a 57 -a 20000
@@ -514,7 +551,6 @@
 # Our platform specific patches
 %patch301 -p1
 %patch302 -p1
-%patch303 -p1
 %patch310 -p1
 %patch311 -p1
 %patch312 -p1
@@ -561,6 +597,8 @@
 %patch381 -p1
 %patch382 -p1
 %patch383 -p1
+%patch384 -p1
+%patch385 -p1
 # Xend
 %if %{?with_xend}0
 %patch400 -p1
@@ -598,6 +636,9 @@
 %patch432 -p1
 %patch433 -p1
 %patch434 -p1
+%patch435 -p1
+%patch436 -p1
+%patch437 -p1
 %endif
 # Other bug fixes or features
 %patch450 -p1
@@ -661,8 +702,9 @@
         --libdir=%{_libdir} \
         --datadir=%{_datadir} \
         --enable-blktap1 ${configure_flags}
+%if %{?with_dom0_support}0
 CFLAGS_SAVE=$CFLAGS
-%ifnarch %arm aarch64
+%ifarch %ix86 x86_64
 make -C xenalyze.hg CC="gcc -I../xen/include -DMAX_CPUS=%{max_cpus} 
${RPM_OPT_FLAGS}" %{?_smp_mflags} -k
 %endif
 make -C tools/include/xen-foreign %{?_smp_mflags}
@@ -671,6 +713,10 @@
 %if %{?with_xend}0
 make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes XEN_ROOT=$PWD
 %endif
+%else
+make -C tools/include/xen-foreign %{?_smp_mflags}
+make tools docs %{?_smp_mflags}
+%endif
 %if %{?with_kmp}0
 # PV driver modules
 export XL=/usr/src/linux
@@ -690,6 +736,8 @@
 
 %install
 export EXTRA_CFLAGS_XEN_TOOLS="$RPM_OPT_FLAGS"
+export EXTRA_CFLAGS_QEMU_TRADITIONAL="$RPM_OPT_FLAGS"
+export EXTRA_CFLAGS_QEMU_XEN="$RPM_OPT_FLAGS"
 # EFI
 %ifarch x86_64 %arm aarch64
 make -C xen install \
@@ -755,11 +803,11 @@
 for flavor in %flavors_to_build; do
     make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \
         M=$PWD/obj/$flavor
-    install -m644 %SOURCE27 
$RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers-$flavor.conf
 done
 %endif
 
 # Stubdom
+%if %{?with_dom0_support}0
 %if %{?with_stubdom}0
 # remove -fstack-protector flag for stubdom build section
 export EXTRA_CFLAGS_XEN_TOOLS=$(echo $RPM_OPT_FLAGS |sed -e 
's/-fstack-protector//g')
@@ -932,6 +980,34 @@
 # Create symlinks for keymaps
 %fdupes -s $RPM_BUILD_ROOT/%{_datadir}
 
+%else
+# !with_dom0_support
+
+# 32 bit hypervisor no longer supported.  Remove dom0 tools.
+rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc
+rm -rf $RPM_BUILD_ROOT/%{_datadir}/man
+rm -rf $RPM_BUILD_ROOT/%{_libdir}/fs
+rm -rf $RPM_BUILD_ROOT/%{_libdir}/xen
+rm -rf $RPM_BUILD_ROOT/%{_libdir}/python*
+rm -rf $RPM_BUILD_ROOT/usr/sbin
+rm -rf $RPM_BUILD_ROOT/etc/xen
+rm -rf $RPM_BUILD_ROOT/%{_datadir}/qemu-xen
+rm -rf $RPM_BUILD_ROOT/var
+rm -f  $RPM_BUILD_ROOT/%{_sysconfdir}/bash_completion.d/xl.sh
+rm -f  $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/xen*
+rm -f  $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/xen*
+rm -f  $RPM_BUILD_ROOT/%{_bindir}/*store*
+rm -f  $RPM_BUILD_ROOT/%{_bindir}/*trace*
+rm -f  $RPM_BUILD_ROOT/%{_bindir}/xenco*
+rm -f  $RPM_BUILD_ROOT/%{_bindir}/pygrub
+rm -f  $RPM_BUILD_ROOT/%{_bindir}/remus
+rm -f  $RPM_BUILD_ROOT/usr/etc/qemu/target-x86_64.conf
+rm -f  $RPM_BUILD_ROOT/usr/libexec/qemu-bridge-helper
+rm -f  $RPM_BUILD_ROOT/%{_libdir}/*.so.*
+%endif
+
+%if %{?with_dom0_support}0
+
 %files -f xen.files.txt
 %defattr(-,root,root)
 /boot/xen-%{version}-%{release}.gz
@@ -1128,7 +1204,9 @@
 %{_mandir}/man8/*.8.gz
 
 %if %{?with_xend}0
+%if %suse_version > 1230
 %files xend-tools
+%endif
 %defattr(-,root,root)
 %ifnarch %arm aarch64
 /etc/udev/rules.d/40-xend.rules
@@ -1167,7 +1245,6 @@
 /etc/xen/scripts/vm-monitor
 /etc/xen/scripts/set-lock
 %{_libdir}/python%{pyver}/site-packages/xen/remus/*
-#%{_libdir}/python%{pyver}/site-packages/xen/sv/*
 %{_libdir}/python%{pyver}/site-packages/xen/util/*
 %{_libdir}/python%{pyver}/site-packages/xen/xend/*
 %{_libdir}/python%{pyver}/site-packages/xen/xm/*
@@ -1179,6 +1256,8 @@
 %{_mandir}/man1/xen-list.1.gz
 %endif
 %endif
+# with_dom0_support
+%endif
 
 %files tools-domU
 %defattr(-,root,root)
@@ -1194,6 +1273,8 @@
 %{_libdir}/*.so
 /usr/include/*
 
+%if %{?with_dom0_support}0
+
 %files doc-html
 %defattr(-,root,root)
 %{_defaultdocdir}/xen/html
@@ -1207,10 +1288,31 @@
 %if %{?with_systemd}0
 %{fillup_and_insserv -i -y -n xencommons xencommons}
 /bin/systemctl enable xencommons.service
+%if %suse_version <= 1230
+%if %{?with_xend}0
+%{fillup_and_insserv -y -n xend xend}
+/bin/systemctl enable xend.service
+%endif
+%endif
 %else
 %{fillup_and_insserv -y -n xencommons xencommons}
+%if %suse_version <= 1230
+%if %{?with_xend}0
+# enable both xm (xend based) and xl (libxl based)
+if /bin/ls /etc/init.d/rc3.d/S??xend > /dev/null 2>&1 ; then
+    if ! /bin/ls /etc/init.d/rc3.d/S??xencommons > /dev/null 2>&1 ; then
+        echo "postin %{name}-tools: Forcing insserv xencommons during package 
upgrade because xend was enabled."
+        echo "postin %{name}-tools: with xend"
+    fi
+    %{fillup_and_insserv -Y -n xencommons xencommons}
+else
+    %{fillup_and_insserv -y -n xencommons xencommons}
+fi
+%{fillup_and_insserv -y -n xend xend}
 %endif
-#
+%endif
+%endif
+
 %ifnarch %arm aarch64
 %if %{?with_systemd}0
 %{fillup_and_insserv -i -y -n xendomains xendomains}
@@ -1247,29 +1349,40 @@
 fi
 %endif
 
+%if %suse_version > 1230
+%if %{?with_xend}0
+%post xend-tools
+%if %{?with_systemd}0
+%{fillup_and_insserv -i -y -n xend xend}
+/bin/systemctl enable xend.service
+%else
+%{fillup_and_insserv -y -n xend xend}
+%endif
+%endif
+%endif
+
 %preun tools
 %if %{?with_systemd}0
 if [ $1 -eq 0 ]; then
     /bin/systemctl disable xencommons.service
     /bin/systemctl disable xendomains.service
+%if %suse_version <= 1230
+%if %{?with_xend}0
+    /bin/systemctl disable xend.service
+%endif
+%endif
 fi
 %else
 %{stop_on_removal xendomains xencommons}
-%endif
-
-%postun tools
-%{insserv_cleanup}
-
-# Scripts only if creating the xend-tools package
+%if %suse_version <= 1230
 %if %{?with_xend}0
-%post xend-tools
-%if %{?with_systemd}0
-%{fillup_and_insserv -i -y -n xend xend}
-/bin/systemctl enable xend.service
-%else
-%{fillup_and_insserv -y -n xend xend}
+%{stop_on_removal xend}
+%endif
+%endif
 %endif
 
+%if %suse_version > 1230
+%if %{?with_xend}0
 %preun xend-tools
 %if %{?with_systemd}0
 if [ $1 -eq 0 ]; then
@@ -1278,14 +1391,47 @@
 %else
 %{stop_on_removal xend}
 %endif
+%endif
+%endif
 
+%postun tools
+%if %suse_version <= 1230
+%if %{?with_xend}0
+%{restart_on_update xend}
+%endif
+%endif
+%{insserv_cleanup}
+%ifnarch %arm aarch64
+%if %suse_version <= 1230
+%if %{?with_xend}0
+if [ -f /usr/bin/qemu-img-xen ]; then
+    rm /usr/bin/qemu-img-xen
+fi
+if [ -f /usr/bin/qemu-nbd-xen ]; then
+    rm /usr/bin/qemu-nbd-xen
+fi
+%endif
+%endif
+%endif
+
+%if %suse_version > 1230
+%if %{?with_xend}0
 %postun xend-tools
 %{restart_on_update xend}
 %{insserv_cleanup}
+if [ -f /usr/bin/qemu-img-xen ]; then
+    rm /usr/bin/qemu-img-xen
+fi
+if [ -f /usr/bin/qemu-nbd-xen ]; then
+    rm /usr/bin/qemu-nbd-xen
+fi
+%endif
 %endif
 
 %post libs -p /sbin/ldconfig
 
 %postun libs -p /sbin/ldconfig
 
+%endif
+
 %changelog

++++++ ioemu-disable-scsi.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:04.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:04.000000000 +0100
@@ -1,32 +1,13 @@
-Index: 
xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+---
+ tools/qemu-xen-traditional-dir-remote/hw/pci.c          |   44 
++++++++++++++++
+ tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c |    2 
+ tools/qemu-xen-traditional-dir-remote/qemu-xen.h        |    1 
+ 3 files changed, 47 insertions(+)
+
+Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pci.c
 ===================================================================
---- 
xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
-+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
-@@ -359,6 +359,8 @@ static void platform_ioport_write(void *
-     case 4:
-         fprintf(logfile, "Disconnect IDE hard disk...\n");
-         ide_unplug_harddisks();
-+        fprintf(logfile, "Disconnect SCSI hard disk...\n");
-+        pci_unplug_scsi();
-         fprintf(logfile, "Disconnect netifs...\n");
-         pci_unplug_netifs();
-         fprintf(logfile, "Shutdown taps...\n");
-Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
-===================================================================
---- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
-+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
-@@ -47,6 +47,7 @@ void unset_vram_mapping(void *opaque);
- #endif
- 
- void pci_unplug_netifs(void);
-+void pci_unplug_scsi(void);
- void destroy_hvm_domain(void);
- void unregister_iomem(target_phys_addr_t start);
- 
-Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pci.c
-===================================================================
---- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/pci.c
-+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pci.c
+--- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/pci.c
++++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/pci.c
 @@ -871,6 +871,50 @@ void pci_unplug_netifs(void)
      }
  }
@@ -78,3 +59,28 @@
  typedef struct {
      PCIDevice dev;
      PCIBus *bus;
+Index: 
xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+===================================================================
+--- 
xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
++++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+@@ -364,6 +364,8 @@ static void suse_platform_ioport_write(v
+        * If it controlled just disk or just LAN, it would use 8 below. */
+         fprintf(logfile, "Disconnect IDE hard disk...\n");
+         ide_unplug_harddisks();
++        fprintf(logfile, "Disconnect SCSI hard disk...\n");
++        pci_unplug_scsi();
+         fprintf(logfile, "Disconnect netifs...\n");
+         pci_unplug_netifs();
+         fprintf(logfile, "Shutdown taps...\n");
+Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+===================================================================
+--- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
++++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+@@ -47,6 +47,7 @@ void unset_vram_mapping(void *opaque);
+ #endif
+ 
+ void pci_unplug_netifs(void);
++void pci_unplug_scsi(void);
+ void destroy_hvm_domain(void);
+ void unregister_iomem(target_phys_addr_t start);
+ 

++++++ ioemu-hvm-pv-support.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:04.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:04.000000000 +0100
@@ -1,7 +1,11 @@
-Index: 
xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+---
+ tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c |   46 
++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+Index: 
xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
 ===================================================================
---- 
xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
-+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+--- 
xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
++++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
 @@ -30,6 +30,8 @@
  #include "qemu-xen.h"
  #include "net.h"
@@ -11,13 +15,13 @@
  
  #include <assert.h>
  #include <xenguest.h>
-@@ -335,11 +337,51 @@ static void xen_platform_ioport_writeb(v
+@@ -335,8 +337,52 @@ static void xen_platform_ioport_writeb(v
      }
  }
  
 +static uint32_t ioport_base;
 +
-+static void platform_ioport_write(void *opaque, uint32_t addr, uint32_t val)
++static void suse_platform_ioport_write(void *opaque, uint32_t addr, uint32_t 
val)
 +{
 +    DECLARE_DOMCTL;
 +    int rc;
@@ -27,6 +31,7 @@
 +
 +    switch (addr - ioport_base) {
 +    case 0:
++      /* FIXME Unknown who makes use of this code! */
 +        fprintf(logfile, "Init hypercall page %x, addr %x.\n", val, addr);
 +        domctl.domain = (domid_t)domid;
 +        domctl.u.hypercall_init.gmfn = val;
@@ -35,6 +40,10 @@
 +        fprintf(logfile, "result -> %d.\n", rc);
 +        break;
 +    case 4:
++      /* xen-kmp used this since xen-3.0.4, instead the official protocol 
from xen-3.3+
++       * pre vmdp 1.7 made use of 4 and 8 depending on how vmdp was 
configured.
++       * If vmdp was to control both disk and LAN it would use 4.
++       * If it controlled just disk or just LAN, it would use 8 below. */
 +        fprintf(logfile, "Disconnect IDE hard disk...\n");
 +        ide_unplug_harddisks();
 +        fprintf(logfile, "Disconnect netifs...\n");
@@ -44,8 +53,8 @@
 +        fprintf(logfile, "Done.\n");
 +        break;
 +    default:
-+        fprintf(logfile, "Write to bad port %x (base %x) on evtchn device.\n",
-+            addr, ioport_base);
++        fprintf(logfile, "Write %x to bad port %x (base %x) on evtchn 
device.\n",
++            val, addr, ioport_base);
 +        break;
 +    }
 +}
@@ -54,12 +63,8 @@
  {
 +    ioport_base = addr;
 +
-+    register_ioport_write(addr, 16, 4, platform_ioport_write, NULL);
-+/*
++    register_ioport_write(addr, 16, 4, suse_platform_ioport_write, NULL);
++
      PCIXenPlatformState *d = (PCIXenPlatformState *)pci_dev;
      register_ioport_write(addr, size, 1, xen_platform_ioport_writeb, d);
      register_ioport_read(addr, size, 1, xen_platform_ioport_readb, d);
-+*/
- }
- 
- static uint32_t platform_mmio_read(void *opaque, target_phys_addr_t addr)

++++++ kmp_filelist ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:04.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:04.000000000 +0100
@@ -1,3 +1,2 @@
 %defattr (-,root,root)
 /lib/modules/%2-%1
-/etc/modprobe.d/xen_pvdrivers-%1.conf

++++++ pvdrv_emulation_control.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:04.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:04.000000000 +0100
@@ -1,8 +1,12 @@
-Index: 
xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+---
+ tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c |   13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+Index: 
xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
 ===================================================================
---- 
xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
-+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
-@@ -365,6 +365,19 @@ static void platform_ioport_write(void *
+--- 
xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
++++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_platform.c
+@@ -370,6 +370,19 @@ static void suse_platform_ioport_write(v
          net_tap_shutdown_all();
          fprintf(logfile, "Done.\n");
          break;
@@ -20,5 +24,5 @@
 +      }
 +      break;
      default:
-         fprintf(logfile, "Write to bad port %x (base %x) on evtchn device.\n",
-             addr, ioport_base);
+         fprintf(logfile, "Write %x to bad port %x (base %x) on evtchn 
device.\n",
+             val, addr, ioport_base);

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

++++++ qemu-xen-upstream-blkif-discard.patch ++++++
References: FATE#316071
Subject: [RFC] qemu-upstream: add discard support for xen_disk

Implement discard support for xen_disk. It makes use of the existing
discard code in qemu.

The discard support is enabled unconditionally. But it would be worth to
have a knob to disable it in case the backing file was intentionally
created non-sparse to avoid fragmentation.
How could this be knob be passed from domU.cfg:disk=[] to the actual
qemu process? Perhaps introduce an option discard=on|off|ignore|unmap.

Signed-off-by: Olaf Hering <o...@aepfle.de>

---
 tools/qemu-xen-dir-remote/hw/block/xen_blkif.h |   12 ++++++++
 tools/qemu-xen-dir-remote/hw/block/xen_disk.c  |   36 +++++++++++++++++++++++++
 2 files changed, 48 insertions(+)

Index: xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_blkif.h
===================================================================
--- xen-4.4.0-testing.orig/tools/qemu-xen-dir-remote/hw/block/xen_blkif.h
+++ xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_blkif.h
@@ -79,6 +79,12 @@ static inline void blkif_get_x86_32_req(
        dst->handle = src->handle;
        dst->id = src->id;
        dst->sector_number = src->sector_number;
+       if (src->operation == BLKIF_OP_DISCARD) {
+               struct blkif_request_discard *s = (void *)src;
+               struct blkif_request_discard *d = (void *)dst;
+               d->nr_sectors = s->nr_sectors;
+               return;
+       }
        if (n > src->nr_segments)
                n = src->nr_segments;
        for (i = 0; i < n; i++)
@@ -94,6 +100,12 @@ static inline void blkif_get_x86_64_req(
        dst->handle = src->handle;
        dst->id = src->id;
        dst->sector_number = src->sector_number;
+       if (src->operation == BLKIF_OP_DISCARD) {
+               struct blkif_request_discard *s = (void *)src;
+               struct blkif_request_discard *d = (void *)dst;
+               d->nr_sectors = s->nr_sectors;
+               return;
+       }
        if (n > src->nr_segments)
                n = src->nr_segments;
        for (i = 0; i < n; i++)
Index: xen-4.4.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
@@ -68,6 +68,8 @@ struct ioreq {
     int                 presync;
     int                 postsync;
     uint8_t             mapped;
+    int64_t             sector_num;
+    int                 nb_sectors;
 
     /* grant mapping */
     uint32_t            domids[BLKIF_MAX_SEGMENTS_PER_REQUEST];
@@ -114,6 +116,7 @@ struct XenBlkDev {
     int                 requests_finished;
 
     /* Persistent grants extension */
+    gboolean            feature_discard;
     gboolean            feature_persistent;
     GTree               *persistent_gnts;
     unsigned int        persistent_gnt_count;
@@ -232,6 +235,7 @@ static void ioreq_release(struct ioreq *
 static int ioreq_parse(struct ioreq *ioreq)
 {
     struct XenBlkDev *blkdev = ioreq->blkdev;
+    struct blkif_request_discard *discard_req = (void *)&ioreq->req;
     uintptr_t mem;
     size_t len;
     int i;
@@ -244,6 +248,10 @@ static int ioreq_parse(struct ioreq *ior
     case BLKIF_OP_READ:
         ioreq->prot = PROT_WRITE; /* to memory */
         break;
+    case BLKIF_OP_DISCARD:
+        ioreq->sector_num = discard_req->sector_number;
+        ioreq->nb_sectors = discard_req->nr_sectors;
+        return 0;
     case BLKIF_OP_FLUSH_DISKCACHE:
         ioreq->presync = 1;
         if (!ioreq->req.nr_segments) {
@@ -521,6 +529,13 @@ static int ioreq_runio_qemu_aio(struct i
                         &ioreq->v, ioreq->v.size / BLOCK_SIZE,
                         qemu_aio_complete, ioreq);
         break;
+    case BLKIF_OP_DISCARD:
+        bdrv_acct_start(blkdev->bs, &ioreq->acct, ioreq->nb_sectors * 
BLOCK_SIZE, BDRV_ACCT_WRITE);
+        ioreq->aio_inflight++;
+        bdrv_aio_discard(blkdev->bs,
+                        ioreq->sector_num, ioreq->nb_sectors,
+                        qemu_aio_complete, ioreq);
+        break;
     default:
         /* unknown operation (shouldn't happen -- parse catches this) */
         goto err;
@@ -699,6 +714,23 @@ static void blk_alloc(struct XenDevice *
     }
 }
 
+static void blk_parse_discard(struct XenBlkDev *blkdev)
+{
+    int flags = BDRV_O_UNMAP;
+#if 0
+    char *s = xenstore_read_be_str(&blkdev->xendev, 
"toolstack-options-discard");
+
+    if (s && bdrv_parse_discard_flags(s, &flags) < 0) {
+        xen_be_printf(xendev, 0, "property toolstack-discard-options failed to 
parse: %s\n", s);
+        return;
+    }
+#endif
+    blkdev->feature_discard = !!(flags & BDRV_O_UNMAP);
+    if (!blkdev->feature_discard)
+        return;
+    xenstore_write_be_int(&blkdev->xendev, "feature-discard", 1);
+}
+
 static int blk_init(struct XenDevice *xendev)
 {
     struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
@@ -766,6 +798,8 @@ static int blk_init(struct XenDevice *xe
     xenstore_write_be_int(&blkdev->xendev, "feature-persistent", 1);
     xenstore_write_be_int(&blkdev->xendev, "info", info);
 
+    blk_parse_discard(blkdev);
+
     g_free(directiosafe);
     return 0;
 
@@ -801,6 +835,8 @@ static int blk_connect(struct XenDevice
         qflags |= BDRV_O_RDWR;
         readonly = false;
     }
+    if (blkdev->feature_discard)
+        qflags |= BDRV_O_UNMAP;
 
     /* init qemu block driver */
     index = (blkdev->xendev.dev - 202 * 256) / 16;
++++++ seabios-dir-remote.tar.bz2 ++++++

++++++ xen-4.4.0-testing-src.tar.bz2 ++++++
++++ 5424 lines of diff (skipped)

++++++ xen_pvonhvm.xen_emul_unplug.patch ++++++
fate#311487

Handle xen_emul_unplug from xenlinux based core kernel.

If the kernel was booted with xen_emul_unplug=(never|ide-disks|nics) unplug only
what was requested. Kernel cmdline option is prefered over module option.

---
 unmodified_drivers/linux-2.6/platform-pci/platform-pci.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

Index: 
xen-4.4.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
--- 
xen-4.4.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+++ xen-4.4.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -39,6 +39,9 @@
 #include <xen/interface/hvm/params.h>
 #include <xen/features.h>
 #include <xen/evtchn.h>
+#ifdef HAVE_XEN_PVONHVM_UNPLUG
+#include <xen/xen_pvonhvm.h>
+#endif
 #ifdef __ia64__
 #include <asm/xen/xencomm.h>
 #endif
@@ -290,6 +293,18 @@ static int check_platform_magic(struct d
        short magic, unplug = 0;
        char protocol, *p, *q, *err;
 
+#ifdef HAVE_XEN_PVONHVM_UNPLUG
+       if (xen_pvonhvm_unplug) {
+               /* Use kernel cmdline setting */
+               if (dev_unplug)
+                       printk(KERN_INFO DRV_NAME ": ignoring option 
dev_unplug=%s \n", dev_unplug);
+               dev_unplug = NULL;
+               if (xen_pvonhvm_unplugged_disks)
+                       unplug |= UNPLUG_ALL_IDE_DISKS | UNPLUG_AUX_IDE_DISKS;
+               if (xen_pvonhvm_unplugged_nics)
+                       unplug |= UNPLUG_ALL_NICS;
+       } else
+#endif
        /* Unconditionally unplug everything */
        if (!dev_unplug)
                unplug = UNPLUG_ALL;

++++++ xend-config-enable-dump-comment.patch ++++++
bnc#684305

---
 tools/examples/xend-config.sxp |    3 +++
 1 file changed, 3 insertions(+)

Index: xen-4.2.0-testing/tools/examples/xend-config.sxp
===================================================================
--- xen-4.2.0-testing.orig/tools/examples/xend-config.sxp
+++ xen-4.2.0-testing/tools/examples/xend-config.sxp
@@ -250,6 +250,9 @@
 (dom0-cpus 0)
 
 # Whether to enable core-dumps when domains crash.
+# This setting overrides the per-domain dump value 'on_crash' and causes a
+# core dump on all crashed domains. For finer grain control, it is best to
+# disable this setting (which is default) and use the per-domain controls.
 #(enable-dump no)
 
 # The tool used for initiating virtual TPM migration
++++++ xend-domain-lock-sfex.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:09.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:09.000000000 +0100
@@ -2,7 +2,7 @@
 ===================================================================
 --- xen-4.4.0-testing.orig/tools/examples/xend-config.sxp
 +++ xen-4.4.0-testing/tools/examples/xend-config.sxp
-@@ -334,7 +334,7 @@
+@@ -354,7 +354,7 @@
  # path        /<xend-domain-lock-path>/<vm-uuid>
  # Return 0 on success, non-zero on error.
  #
@@ -11,7 +11,7 @@
  # -s          Lock status.  If lock is acquired, print any contents
  #             on stdout and return 0.  Return non-zero if lock is
  #             available.
-@@ -360,6 +360,11 @@
+@@ -380,6 +380,11 @@
  #
  #(xend-domain-lock-utility domain-lock)
  

++++++ xend-domain-lock.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:09.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:09.000000000 +0100
@@ -12,7 +12,7 @@
 ===================================================================
 --- xen-4.4.0-testing.orig/tools/examples/xend-config.sxp
 +++ xen-4.4.0-testing/tools/examples/xend-config.sxp
-@@ -301,6 +301,65 @@
+@@ -321,6 +321,65 @@
  # device assignment could really work properly even after we do this.
  #(pci-passthrough-strict-check yes)
  

++++++ xend-hv_extid_compatibility.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:09.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:09.000000000 +0100
@@ -10,7 +10,7 @@
      'rtc_timeoffset': int,
      'parallel': str,
      'serial': str,
-@@ -520,6 +521,8 @@ class XendConfig(dict):
+@@ -522,6 +523,8 @@ class XendConfig(dict):
                  self['platform']['acpi_firmware'] = ""
              if 'timer_mode' not in self['platform']:
                  self['platform']['timer_mode'] = 1
@@ -46,16 +46,16 @@
  gopts.var('acpi', val='ACPI',
            fn=set_int, default=1,
            use="Disable or enable ACPI of HVM domain.")
-@@ -1056,7 +1060,7 @@ def configure_hvm(config_image, vals):
+@@ -1071,7 +1075,7 @@ def configure_hvm(config_image, vals):
               'timer_mode',
               'usb', 'usbdevice',
               'vcpus', 'vnc', 'vncconsole', 'vncdisplay', 'vnclisten',
 -             'vncunused', 'viridian', 'vpt_align',
 +             'vncunused', 'vpt_align',
+              'watchdog', 'watchdog_action',
               'xauthority', 'xen_extended_power_mgmt', 'xen_platform_pci',
               'memory_sharing' ]
- 
-@@ -1065,6 +1069,10 @@ def configure_hvm(config_image, vals):
+@@ -1081,6 +1085,10 @@ def configure_hvm(config_image, vals):
              config_image.append([a, vals.__dict__[a]])
      if vals.vncpasswd is not None:
          config_image.append(['vncpasswd', vals.vncpasswd])

++++++ xend-hvm-firmware-passthrough.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:09.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:09.000000000 +0100
@@ -19,7 +19,7 @@
  gopts.var('device_model', val='FILE',
            fn=set_value, default=None,
            use="Path to device model program.")
-@@ -1033,6 +1041,7 @@ def configure_hvm(config_image, vals):
+@@ -1048,6 +1056,7 @@ def configure_hvm(config_image, vals):
               'boot',
               'cpuid', 'cpuid_check',
               'device_model', 'display',
@@ -62,7 +62,7 @@
          self.display = vmConfig['platform'].get('display')
          self.xauthority = vmConfig['platform'].get('xauthority')
          self.vncconsole = int(vmConfig['platform'].get('vncconsole', 0))
-@@ -943,6 +945,38 @@ class HVMImageHandler(ImageHandler):
+@@ -945,6 +947,38 @@ class HVMImageHandler(ImageHandler):
                               self.vm.getDomid() ])
          return args
  
@@ -101,7 +101,7 @@
      def buildDomain(self):
          store_evtchn = self.vm.getStorePort()
  
-@@ -958,6 +992,8 @@ class HVMImageHandler(ImageHandler):
+@@ -960,6 +994,8 @@ class HVMImageHandler(ImageHandler):
          log.debug("vcpu_avail     = %li", self.vm.getVCpuAvail())
          log.debug("acpi           = %d", self.acpi)
          log.debug("apic           = %d", self.apic)
@@ -110,7 +110,7 @@
  
          rc = xc.hvm_build(domid          = self.vm.getDomid(),
                            image          = self.loader,
-@@ -966,7 +1002,9 @@ class HVMImageHandler(ImageHandler):
+@@ -968,7 +1004,9 @@ class HVMImageHandler(ImageHandler):
                            vcpus          = self.vm.getVCpuCount(),
                            vcpu_avail     = self.vm.getVCpuAvail(),
                            acpi           = self.acpi,
@@ -134,7 +134,7 @@
      'loader': str,
      'display' : str,
      'fda': str,
-@@ -512,6 +514,10 @@ class XendConfig(dict):
+@@ -514,6 +516,10 @@ class XendConfig(dict):
              self['platform']['nomigrate'] = 0
  
          if self.is_hvm():

++++++ xend-tools-watchdog-support.patch ++++++
Index: xen-4.4.0-testing/tools/python/xen/xm/create.py
===================================================================
--- xen-4.4.0-testing.orig/tools/python/xen/xm/create.py
+++ xen-4.4.0-testing/tools/python/xen/xm/create.py
@@ -517,6 +517,21 @@ gopts.var('usbdevice', val='NAME',
           fn=set_value, default='',
           use="Name of USB device to add?")
 
+gopts.var('watchdog', val='NAME',
+          fn=set_value, default='',
+          use="Watchdog device to use. May be ib700 or i6300esb")
+
+gopts.var('watchdog_action', val='reset|shutdown|poweroff|pause|none|dump',
+          fn=set_value, default="reset",
+          use="""Action when watchdog timer expires:
+          - reset:     Default, forcefully reset the guest;
+          - shutdown:  Gracefully shutdown the guest (not recommended);
+          - poweroff:  Forcefully power off the guest;
+          - pause:     Pause the guest;
+          - none:      Do nothing;
+          - dump:      Automatically dump the guest;
+          """)
+
 gopts.var('description', val='NAME',
           fn=set_value, default='',
           use="Description of a domain")
@@ -1048,6 +1063,7 @@ def configure_hvm(config_image, vals):
              'usb', 'usbdevice',
              'vcpus', 'vnc', 'vncconsole', 'vncdisplay', 'vnclisten',
              'vncunused', 'viridian', 'vpt_align',
+             'watchdog', 'watchdog_action',
              'xauthority', 'xen_extended_power_mgmt', 'xen_platform_pci',
              'memory_sharing' ]
 
Index: xen-4.4.0-testing/tools/python/xen/xm/xenapi_create.py
===================================================================
--- xen-4.4.0-testing.orig/tools/python/xen/xm/xenapi_create.py
+++ xen-4.4.0-testing/tools/python/xen/xm/xenapi_create.py
@@ -1074,7 +1074,9 @@ class sxp2xml:
             'xen_platform_pci',
             'tsc_mode'
             'description',
-            'nomigrate'
+            'nomigrate',
+            'watchdog',
+            'watchdog_action'
         ]
 
         platform_configs = []
Index: xen-4.4.0-testing/tools/python/xen/xend/image.py
===================================================================
--- xen-4.4.0-testing.orig/tools/python/xen/xend/image.py
+++ xen-4.4.0-testing/tools/python/xen/xend/image.py
@@ -855,7 +855,8 @@ class HVMImageHandler(ImageHandler):
 
         dmargs = [ 'boot', 'fda', 'fdb', 'soundhw',
                    'localtime', 'serial', 'stdvga', 'isa',
-                   'acpi', 'usb', 'usbdevice', 'gfx_passthru' ]
+                   'acpi', 'usb', 'usbdevice', 'gfx_passthru',
+                   'watchdog', 'watchdog_action' ]
 
         for a in dmargs:
             v = vmConfig['platform'].get(a)
@@ -863,6 +864,7 @@ class HVMImageHandler(ImageHandler):
             # python doesn't allow '-' in variable names
             if a == 'stdvga': a = 'std-vga'
             if a == 'keymap': a = 'k'
+            if a == 'watchdog_action': a = 'watchdog-action'
 
             # Handle booleans gracefully
             if a in ['localtime', 'std-vga', 'isa', 'usb', 'acpi']:
Index: xen-4.4.0-testing/tools/python/xen/xend/XendConfig.py
===================================================================
--- xen-4.4.0-testing.orig/tools/python/xen/xend/XendConfig.py
+++ xen-4.4.0-testing/tools/python/xen/xend/XendConfig.py
@@ -192,6 +192,8 @@ XENAPI_PLATFORM_CFG_TYPES = {
     'xen_platform_pci': int,
     "gfx_passthru": int,
     'oos' : int,
+    'watchdog': str,
+    'watchdog_action': str,
 }
 
 # Xen API console 'other_config' keys.
Index: xen-4.4.0-testing/tools/libxl/libxl_dm.c
===================================================================
--- xen-4.4.0-testing.orig/tools/libxl/libxl_dm.c
+++ xen-4.4.0-testing/tools/libxl/libxl_dm.c
@@ -246,6 +246,12 @@ static char ** libxl__build_device_model
                 }
             }
         }
+        if (b_info->u.hvm.watchdog || b_info->u.hvm.watchdog_action) {
+            flexarray_append(dm_args, "-watchdog");
+            if (b_info->u.hvm.watchdog_action) {
+                flexarray_vappend(dm_args, "-watchdog-action", 
b_info->u.hvm.watchdog_action, NULL);
+            }
+        }
         if (b_info->u.hvm.soundhw) {
             flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, 
NULL);
         }
@@ -581,6 +587,12 @@ static char ** libxl__build_device_model
                 return NULL;
             }
         }
+        if (b_info->u.hvm.watchdog || b_info->u.hvm.watchdog_action) {
+            flexarray_append(dm_args, "-watchdog");
+            if (b_info->u.hvm.watchdog_action) {
+                flexarray_vappend(dm_args, "-watchdog-action", 
b_info->u.hvm.watchdog_action, NULL);
+            }
+        }
         if (b_info->u.hvm.soundhw) {
             flexarray_vappend(dm_args, "-soundhw", b_info->u.hvm.soundhw, 
NULL);
         }
Index: xen-4.4.0-testing/tools/libxl/libxl_types.idl
===================================================================
--- xen-4.4.0-testing.orig/tools/libxl/libxl_types.idl
+++ xen-4.4.0-testing/tools/libxl/libxl_types.idl
@@ -372,6 +372,8 @@ libxl_domain_build_info = Struct("domain
                                        ("xen_platform_pci", libxl_defbool),
                                        ("usbdevice_list",   libxl_string_list),
                                        ("vendor_device",    
libxl_vendor_device),
+                                       ("watchdog",         string),
+                                       ("watchdog_action",  string),
                                        ])),
                  ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
Index: xen-4.4.0-testing/tools/libxl/xl_cmdimpl.c
===================================================================
--- xen-4.4.0-testing.orig/tools/libxl/xl_cmdimpl.c
+++ xen-4.4.0-testing/tools/libxl/xl_cmdimpl.c
@@ -1694,6 +1694,8 @@ skip_vfb:
         xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
         xlu_cfg_get_defbool(config, "xen_platform_pci",
                             &b_info->u.hvm.xen_platform_pci, 0);
+        xlu_cfg_replace_string (config, "watchdog", &b_info->u.hvm.watchdog, 
0);
+        xlu_cfg_replace_string (config, "watchdog_action", 
&b_info->u.hvm.watchdog_action, 0);
 
         if(b_info->u.hvm.vnc.listen
            && b_info->u.hvm.vnc.display
++++++ xend-vif-route-ifup.patch ++++++
---
 tools/examples/xend-config.sxp     |   20 ++++++++++++++++++++
 tools/hotplug/Linux/Makefile       |    2 +-
 tools/hotplug/Linux/vif-route-ifup |   34 ++++++++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+), 1 deletion(-)

Index: xen-4.4.0-testing/tools/examples/xend-config.sxp
===================================================================
--- xen-4.4.0-testing.orig/tools/examples/xend-config.sxp
+++ xen-4.4.0-testing/tools/examples/xend-config.sxp
@@ -200,6 +200,26 @@
 #(network-script network-route)
 #(vif-script     vif-route)
 
+# SuSE users note:
+# If using a routed network configuration it is advised to NOT use
+# network-route and vif-route scripts but instead use sysconfig scripts
+# in dom0 and vif-route-ifup script to "connect" the domU vif to dom0.
+# Since this configuration requires a vif sysconfig script in dom0, a static
+# vif name must be used.  E.g. in dom0 the vif sysconfig script
+# (/etc/sysconfig/network/ifcfg-xen1.0) may contain
+#
+#    NAME='XEN vm 1 virtual interface 0'
+#    BOOTPROTO='static'
+#    STARTMODE='hotplug'
+#    ...
+#
+# The corresponding domain vif configuration would contain e.g.
+# vif=[ 'mac=00:16:3e:aa:bb:cc,script=vif-route-ifup,vifname=xen1.0', ]
+#
+# If the vif-route-ifup script will be used for all domains, it can be
+# set here as the default vif script, alleviating the need for
+# 'script=' in domain vif configuration.
+#(vif-script     vif-route-ifup)
 
 ## Use the following if network traffic is routed with NAT, as an alternative
 # to the settings for bridged networking given above.
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
@@ -11,7 +11,7 @@ XENCOMMONS_SYSCONFIG = init.d/sysconfig.
 
 # Xen script dir and scripts to go there.
 XEN_SCRIPTS = network-bridge vif-bridge
-XEN_SCRIPTS += network-route vif-route
+XEN_SCRIPTS += network-route vif-route vif-route-ifup
 XEN_SCRIPTS += network-nat vif-nat
 XEN_SCRIPTS += vif-openvswitch
 XEN_SCRIPTS += vif2
Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-route-ifup
===================================================================
--- /dev/null
+++ xen-4.4.0-testing/tools/hotplug/Linux/vif-route-ifup
@@ -0,0 +1,34 @@
+#!/bin/bash
+#============================================================================
+# /etc/xen/vif-route-ifup
+#
+# Script for configuring a vif in routed mode.
+# The hotplugging system will call this script if it is specified either in
+# the device configuration given to Xend, or the default Xend configuration
+# in /etc/xen/xend-config.sxp.  If the script is specified in neither of those
+# places, then vif-bridge is the default.
+#
+# Usage:
+# vif-route-ifup (add|remove|online|offline)
+#
+# Environment vars:
+# dev         vif interface name (required).
+#============================================================================
+
+dir=$(dirname "$0")
+. "$dir/vif-common.sh"
+
+case "$command" in
+    online)
+        ifup ${dev}
+        ;;
+    offline)
+        do_without_error ifdown ${dev}
+        ;;
+esac
+
+log debug "Successful vif-route-ifup $command for ${dev}."
+if [ "$command" = "online" ]
+then
+  success
+fi
++++++ xend-xenpaging.autostart.patch ++++++
--- /var/tmp/diff_new_pack.lfjQxN/_old  2014-02-02 18:47:09.000000000 +0100
+++ /var/tmp/diff_new_pack.lfjQxN/_new  2014-02-02 18:47:09.000000000 +0100
@@ -107,7 +107,7 @@
      'smbios_firmware': str,
      'acpi_firmware': str,
      'loader': str,
-@@ -515,6 +518,12 @@ class XendConfig(dict):
+@@ -517,6 +520,12 @@ class XendConfig(dict):
              self['platform']['nomigrate'] = 0
  
          if self.is_hvm():
@@ -348,7 +348,7 @@
  gopts.var('device_model', val='FILE',
            fn=set_value, default=None,
            use="Path to device model program.")
-@@ -1044,6 +1056,9 @@ def configure_hvm(config_image, vals):
+@@ -1059,6 +1071,9 @@ def configure_hvm(config_image, vals):
      args = [ 'acpi', 'apic',
               'boot',
               'cpuid', 'cpuid_check',

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to