Hello community,

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

Package is "qemu"

Changes:
--------
--- /work/SRC/openSUSE:Factory/qemu/libcacard.changes   2015-03-16 
06:56:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/libcacard.changes      2015-05-02 
17:31:33.000000000 +0200
@@ -1,0 +2,123 @@
+Wed Apr 29 14:53:51 UTC 2015 - [email protected]
+
+- Update to v2.3.0: See http://wiki.qemu-project.org/ChangeLog/2.3
+
+-------------------------------------------------------------------
+Wed Apr 22 10:59:13 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc4: See http://wiki.qemu-project.org/ChangeLog/2.3
+
+-------------------------------------------------------------------
+Wed Apr 15 00:34:56 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches added:
+  0039-s390x-Fix-stoc-direction.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 16:06:47 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc3: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (applied upstream):
+  0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+* Patches renamed:
+  0038-linux-user-Allocate-thunk-size-dyna.patch -> 
0037-linux-user-Allocate-thunk-size-dyna.patch
+* Patches added:
+  0038-Revert-Revert-seccomp-tests-that-al.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 15:19:42 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix qemu-linux-user on powerpc
+* Patches added:
+  0038-linux-user-Allocate-thunk-size-dyna.patch
+
+-------------------------------------------------------------------
+Sat Apr 11 13:15:55 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0030-net-Warn-about-default-MAC-address.patch
+* Patches renamed:
+  0031-console-add-question-mark-escape-op.patch -> 
0030-console-add-question-mark-escape-op.patch
+  0032-Make-char-muxer-more-robust-wrt-sma.patch -> 
0031-Make-char-muxer-more-robust-wrt-sma.patch
+  0033-linux-user-lseek-explicitly-cast-no.patch -> 
0032-linux-user-lseek-explicitly-cast-no.patch
+  0034-virtfs-proxy-helper-Provide-__u64-f.patch -> 
0033-virtfs-proxy-helper-Provide-__u64-f.patch
+  0035-configure-Enable-PIE-for-ppc-and-pp.patch -> 
0034-configure-Enable-PIE-for-ppc-and-pp.patch
+  0036-qtest-Increase-socket-timeout.patch       -> 
0035-qtest-Increase-socket-timeout.patch
+  0037-AIO-Reduce-number-of-threads-for-32.patch -> 
0036-AIO-Reduce-number-of-threads-for-32.patch
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch -> 
0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+
+-------------------------------------------------------------------
+Wed Apr  8 20:47:40 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches added:
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+
+-------------------------------------------------------------------
+Wed Apr  8 13:10:27 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc2: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Thu Mar 26 14:49:44 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc1: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (upstreamed):
+  0038-linux-user-Fix-emulation-of-splice-.patch
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+  0045-linux-user-fix-broken-cpu_copy.patch
+* Patches renamed:
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch -> 
0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0044-rcu-tests-fix-compilation-on-32-bit.patch -> 
0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Mon Mar 23 13:20:39 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches added:
+  0045-linux-user-fix-broken-cpu_copy.patch
+
+-------------------------------------------------------------------
+Sat Mar 21 18:32:17 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0044-rcutorture-fix-compilation-on-32-bi.patch
+* Patches added:
+  0044-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Sat Mar 21 16:07:36 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches added:
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch
+  0044-rcutorture-fix-compilation-on-32-bi.patch
+
+-------------------------------------------------------------------
+Fri Mar 20 15:03:16 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc0: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
+* Patches added:
+  0030-net-Warn-about-default-MAC-address.patch
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/qemu/qemu-linux-user.changes     2015-03-16 
06:56:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/qemu-linux-user.changes        
2015-05-02 17:31:33.000000000 +0200
@@ -1,0 +2,123 @@
+Wed Apr 29 14:53:51 UTC 2015 - [email protected]
+
+- Update to v2.3.0: See http://wiki.qemu-project.org/ChangeLog/2.3
+
+-------------------------------------------------------------------
+Wed Apr 22 10:59:13 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc4: See http://wiki.qemu-project.org/ChangeLog/2.3
+
+-------------------------------------------------------------------
+Wed Apr 15 00:34:53 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix s390x stoc instructions
+  0039-s390x-Fix-stoc-direction.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 16:06:43 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc3: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (applied upstream):
+  0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+* Patches renamed:
+  0038-linux-user-Allocate-thunk-size-dyna.patch -> 
0037-linux-user-Allocate-thunk-size-dyna.patch
+* Patches added:
+  0038-Revert-Revert-seccomp-tests-that-al.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 15:19:39 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix qemu-linux-user on powerpc
+* Patches added:
+  0038-linux-user-Allocate-thunk-size-dyna.patch
+
+-------------------------------------------------------------------
+Sat Apr 11 13:15:51 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0030-net-Warn-about-default-MAC-address.patch
+* Patches renamed:
+  0031-console-add-question-mark-escape-op.patch -> 
0030-console-add-question-mark-escape-op.patch
+  0032-Make-char-muxer-more-robust-wrt-sma.patch -> 
0031-Make-char-muxer-more-robust-wrt-sma.patch
+  0033-linux-user-lseek-explicitly-cast-no.patch -> 
0032-linux-user-lseek-explicitly-cast-no.patch
+  0034-virtfs-proxy-helper-Provide-__u64-f.patch -> 
0033-virtfs-proxy-helper-Provide-__u64-f.patch
+  0035-configure-Enable-PIE-for-ppc-and-pp.patch -> 
0034-configure-Enable-PIE-for-ppc-and-pp.patch
+  0036-qtest-Increase-socket-timeout.patch       -> 
0035-qtest-Increase-socket-timeout.patch
+  0037-AIO-Reduce-number-of-threads-for-32.patch -> 
0036-AIO-Reduce-number-of-threads-for-32.patch
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch -> 
0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+
+-------------------------------------------------------------------
+Wed Apr  8 20:47:36 UTC 2015 - [email protected]
+
+- Fix 64-bit TCG stores on 32-bit Big Endian hosts (ppc)
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+
+-------------------------------------------------------------------
+Wed Apr  8 13:10:27 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc2: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Thu Mar 26 14:49:43 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc1: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (upstreamed):
+  0038-linux-user-Fix-emulation-of-splice-.patch
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+  0045-linux-user-fix-broken-cpu_copy.patch
+* Patches renamed:
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch -> 
0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0044-rcu-tests-fix-compilation-on-32-bit.patch -> 
0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Mon Mar 23 13:20:35 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix cpu_copy() not actually copying the CPU state
+  0045-linux-user-fix-broken-cpu_copy.patch
+
+-------------------------------------------------------------------
+Sat Mar 21 18:32:13 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0044-rcutorture-fix-compilation-on-32-bi.patch
+* Patches added:
+  0044-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Sat Mar 21 16:07:32 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches added:
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch
+  0044-rcutorture-fix-compilation-on-32-bi.patch
+
+-------------------------------------------------------------------
+Fri Mar 20 15:03:16 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc0: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped:
+  0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
+* Patches added:
+  0030-net-Warn-about-default-MAC-address.patch
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+
+-------------------------------------------------------------------
New Changes file:

--- /dev/null   2015-04-29 01:05:10.436023256 +0200
+++ /work/SRC/openSUSE:Factory/.qemu.new/qemu-testsuite.changes 2015-05-02 
17:31:33.000000000 +0200
@@ -0,0 +1,2044 @@
+-------------------------------------------------------------------
+Wed Apr 29 14:53:51 UTC 2015 - [email protected]
+
+- Update to v2.3.0: See http://wiki.qemu-project.org/ChangeLog/2.3
+- Disable iotests for now
+
+-------------------------------------------------------------------
+Wed Apr 22 10:59:13 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc4: See http://wiki.qemu-project.org/ChangeLog/2.3
+
+-------------------------------------------------------------------
+Mon Apr 20 16:43:58 UTC 2015 - [email protected]
+
+- Update seabios_avoid_smbios_signature_string.patch with version
+  applied upstream
+
+-------------------------------------------------------------------
+Wed Apr 15 00:34:50 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix s390x stoc instructions
+  0039-s390x-Fix-stoc-direction.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 16:06:39 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc3: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (applied upstream):
+  0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+* Patches renamed:
+  0038-linux-user-Allocate-thunk-size-dyna.patch -> 
0037-linux-user-Allocate-thunk-size-dyna.patch
+* Revert -rc3 change to disable seccomp on non-x86 architectures
+  0038-Revert-Revert-seccomp-tests-that-al.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 15:19:36 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix qemu-linux-user on powerpc
+* Patches added:
+  0038-linux-user-Allocate-thunk-size-dyna.patch
+
+-------------------------------------------------------------------
+Sat Apr 11 13:15:47 UTC 2015 - [email protected]
+
+- Split off qemu-testsuite.spec
+* Package check-report.html and check-report.xml
+* Enable quick iotests
+- Dropped 0030-net-Warn-about-default-MAC-address.patch
+  The warning is relevant only for bridged setups, not for the
+  default SLIRP based -net user / -netdev user setup,
+  and it breaks output expectations of some iotests.
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches renamed:
+  0031-console-add-question-mark-escape-op.patch -> 
0030-console-add-question-mark-escape-op.patch
+  0032-Make-char-muxer-more-robust-wrt-sma.patch -> 
0031-Make-char-muxer-more-robust-wrt-sma.patch
+  0033-linux-user-lseek-explicitly-cast-no.patch -> 
0032-linux-user-lseek-explicitly-cast-no.patch
+  0034-virtfs-proxy-helper-Provide-__u64-f.patch -> 
0033-virtfs-proxy-helper-Provide-__u64-f.patch
+  0035-configure-Enable-PIE-for-ppc-and-pp.patch -> 
0034-configure-Enable-PIE-for-ppc-and-pp.patch
+  0036-qtest-Increase-socket-timeout.patch       -> 
0035-qtest-Increase-socket-timeout.patch
+  0037-AIO-Reduce-number-of-threads-for-32.patch -> 
0036-AIO-Reduce-number-of-threads-for-32.patch
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch -> 
0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+- Re-enable glusterfs on Factory (updated from v3.6.1 to v3.6.2)
+- Re-enable seccomp for armv7l (libseccomp submission pending)
+
+-------------------------------------------------------------------
+Fri Apr 10 08:59:34 UTC 2015 - [email protected]
+
+- Suppress seccomp for Factory armv7l (broken in libseccomp v2.2.0)
+- Disable glusterfs explicitly on Factory, SLE12 and before 13.1
+
+-------------------------------------------------------------------
+Thu Apr  9 15:13:44 UTC 2015 - [email protected]
+
+- Enable glusterfs and package as qemu-block-gluster
+  glusterfs post-v3.5.3 and v3.6.1/v3.6.2 have switched the
+  glusterfs-api.pc version incompatibly, so only 13.1+13.2 for now
+- Use macro for module Conflicts
+
+-------------------------------------------------------------------
+Thu Apr  9 12:21:07 UTC 2015 - [email protected]
+
+- Tidy configure options:
+* Move --enable-modules to build options
+* Sort libusb alphabetically
+* Explicitly enable attr, bluez, fdt, lzo, tpm, vhdx, vhost-net,
+  vnc, xen-pci-passthrough
+* Enable bzip2
+* Enable libssh2 where possible and package as qemu-block-ssh
+* Enable numa where a compatible numactl is available
+* Enable quorum where a compatible gnutls is available
+* Enable snappy where possible
+* Prepare to enable glusterfs
+* Explicitly enable the nop tracing backend (to be revisited)
+* Explicitly disable Archipelago, as we don't have libxseg and it's
+  incompatibly GPL-3.0+
+* Explicitly disable libiscsi, libnfs, netmap and rbd
+  as we don't have packages
+* Drop deprecated --enable-virtio-blk-data-plane (now default)
+
+-------------------------------------------------------------------
+Wed Apr  8 20:47:32 UTC 2015 - [email protected]
+
+- Fix 64-bit TCG stores on 32-bit Big Endian hosts (ppc)
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+
+-------------------------------------------------------------------
+Wed Apr  8 13:10:26 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc2: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (upstreamed):
+  0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Sat Mar 28 00:13:05 UTC 2015 - [email protected]
+
+- make check was failing due to a bogus SMBIOS signature being
+  encountered within SeaBIOS. Avoid having that signature stored
+  randomly within the SeaBIOS image.
+* seabios_avoid_smbios_signature_string.patch
+
+-------------------------------------------------------------------
+Thu Mar 26 14:49:43 UTC 2015 - [email protected]
+
+- Build x86 firmware only from 13.1 on (11.4 was broken, surpassing 128 KB)
+- Update to v2.3.0-rc1: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (upstreamed):
+  0038-linux-user-Fix-emulation-of-splice-.patch
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+  0045-linux-user-fix-broken-cpu_copy.patch
+* Patches renamed:
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch -> 
0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0044-rcu-tests-fix-compilation-on-32-bit.patch -> 
0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Mon Mar 23 13:20:31 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches added:
+  0045-linux-user-fix-broken-cpu_copy.patch
+
+-------------------------------------------------------------------
+Sat Mar 21 16:07:28 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Make test path for fw_cfg-test unique (including architecture)
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch
+* Fix rcu tests build on ppc (undefined reference to `__sync_fetch_and_add_8')
+  0044-rcu-tests-fix-compilation-on-32-bit.patch
+- Fix typo in SeaBIOS size check
+  seabios_checkrom_typo.patch
+
+-------------------------------------------------------------------
+Fri Mar 20 15:03:16 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc0: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Updated update_git.sh accordingly
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* seabios_128kb.patch: Added patch to squeeze SeaBIOS into 128 KB
+  with our gcc 4.8.3 ([email protected])
+- Renamed 0030-Legacy-Patch-kvm-qemu-preXX-report-.patch to
+  0030-net-Warn-about-default-MAC-address.patch:
+  Suppress warning for accel=qtest, to sanitize make check results.
+- Added patches to fix ahci-test:
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+
+-------------------------------------------------------------------
+Sun Mar  1 12:50:44 UTC 2015 - [email protected]
+
+- Update company name in spec file templates
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.2
+* Patches added:
+  0038-linux-user-Fix-emulation-of-splice-.patch
+
+-------------------------------------------------------------------
+Sun Feb 22 15:59:23 UTC 2015 - [email protected]
+
+- Add user kvm when installing guest-agent.
+- Use macro to update udev_rules when available
+
+-------------------------------------------------------------------
+Wed Feb 11 17:56:26 UTC 2015 - [email protected]
+
+- Fix packaging of e500 U-Boot
+- Don't rely on wildcard with explicit excludes
++++ 1847 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.qemu.new/qemu-testsuite.changes
--- /work/SRC/openSUSE:Factory/qemu/qemu.changes        2015-03-16 
06:56:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/qemu.changes   2015-05-02 
17:31:33.000000000 +0200
@@ -1,0 +2,178 @@
+Wed Apr 29 14:53:51 UTC 2015 - [email protected]
+
+- Update to v2.3.0: See http://wiki.qemu-project.org/ChangeLog/2.3
+- Disable iotests for now
+
+-------------------------------------------------------------------
+Wed Apr 22 10:59:13 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc4: See http://wiki.qemu-project.org/ChangeLog/2.3
+
+-------------------------------------------------------------------
+Mon Apr 20 16:43:58 UTC 2015 - [email protected]
+
+- Update seabios_avoid_smbios_signature_string.patch with version
+  applied upstream
+
+-------------------------------------------------------------------
+Wed Apr 15 00:34:50 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix s390x stoc instructions
+  0039-s390x-Fix-stoc-direction.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 16:06:39 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc3: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (applied upstream):
+  0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+* Patches renamed:
+  0038-linux-user-Allocate-thunk-size-dyna.patch -> 
0037-linux-user-Allocate-thunk-size-dyna.patch
+* Revert -rc3 change to disable seccomp on non-x86 architectures
+  0038-Revert-Revert-seccomp-tests-that-al.patch
+
+-------------------------------------------------------------------
+Tue Apr 14 15:19:36 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+- Fix qemu-linux-user on powerpc
+* Patches added:
+  0038-linux-user-Allocate-thunk-size-dyna.patch
+
+-------------------------------------------------------------------
+Sat Apr 11 13:15:47 UTC 2015 - [email protected]
+
+- Split off qemu-testsuite.spec
+* Package check-report.html and check-report.xml
+* Enable quick iotests
+- Dropped 0030-net-Warn-about-default-MAC-address.patch
+  The warning is relevant only for bridged setups, not for the
+  default SLIRP based -net user / -netdev user setup,
+  and it breaks output expectations of some iotests.
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches renamed:
+  0031-console-add-question-mark-escape-op.patch -> 
0030-console-add-question-mark-escape-op.patch
+  0032-Make-char-muxer-more-robust-wrt-sma.patch -> 
0031-Make-char-muxer-more-robust-wrt-sma.patch
+  0033-linux-user-lseek-explicitly-cast-no.patch -> 
0032-linux-user-lseek-explicitly-cast-no.patch
+  0034-virtfs-proxy-helper-Provide-__u64-f.patch -> 
0033-virtfs-proxy-helper-Provide-__u64-f.patch
+  0035-configure-Enable-PIE-for-ppc-and-pp.patch -> 
0034-configure-Enable-PIE-for-ppc-and-pp.patch
+  0036-qtest-Increase-socket-timeout.patch       -> 
0035-qtest-Increase-socket-timeout.patch
+  0037-AIO-Reduce-number-of-threads-for-32.patch -> 
0036-AIO-Reduce-number-of-threads-for-32.patch
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch -> 
0037-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+- Re-enable glusterfs on Factory (updated from v3.6.1 to v3.6.2)
+- Re-enable seccomp for armv7l (libseccomp submission pending)
+
+-------------------------------------------------------------------
+Fri Apr 10 08:59:34 UTC 2015 - [email protected]
+
+- Suppress seccomp for Factory armv7l (broken in libseccomp v2.2.0)
+- Disable glusterfs explicitly on Factory, SLE12 and before 13.1
+
+-------------------------------------------------------------------
+Thu Apr  9 15:13:44 UTC 2015 - [email protected]
+
+- Enable glusterfs and package as qemu-block-gluster
+  glusterfs post-v3.5.3 and v3.6.1/v3.6.2 have switched the
+  glusterfs-api.pc version incompatibly, so only 13.1+13.2 for now
+- Use macro for module Conflicts
+
+-------------------------------------------------------------------
+Thu Apr  9 12:21:07 UTC 2015 - [email protected]
+
+- Tidy configure options:
+* Move --enable-modules to build options
+* Sort libusb alphabetically
+* Explicitly enable attr, bluez, fdt, lzo, tpm, vhdx, vhost-net,
+  vnc, xen-pci-passthrough
+* Enable bzip2
+* Enable libssh2 where possible and package as qemu-block-ssh
+* Enable numa where a compatible numactl is available
+* Enable quorum where a compatible gnutls is available
+* Enable snappy where possible
+* Prepare to enable glusterfs
+* Explicitly enable the nop tracing backend (to be revisited)
+* Explicitly disable Archipelago, as we don't have libxseg and it's
+  incompatibly GPL-3.0+
+* Explicitly disable libiscsi, libnfs, netmap and rbd
+  as we don't have packages
+* Drop deprecated --enable-virtio-blk-data-plane (now default)
+
+-------------------------------------------------------------------
+Wed Apr  8 20:47:32 UTC 2015 - [email protected]
+
+- Fix 64-bit TCG stores on 32-bit Big Endian hosts (ppc)
+  0038-tcg-tcg-op.c-Fix-ld-st-of-64-bit-va.patch
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+
+-------------------------------------------------------------------
+Wed Apr  8 13:10:26 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc2: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (upstreamed):
+  0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Sat Mar 28 00:13:05 UTC 2015 - [email protected]
+
+- make check was failing due to a bogus SMBIOS signature being
+  encountered within SeaBIOS. Avoid having that signature stored
+  randomly within the SeaBIOS image.
+* seabios_avoid_smbios_signature_string.patch
+
+-------------------------------------------------------------------
+Thu Mar 26 14:49:43 UTC 2015 - [email protected]
+
+- Build x86 firmware only from 13.1 on (11.4 was broken, surpassing 128 KB)
+- Update to v2.3.0-rc1: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches dropped (upstreamed):
+  0038-linux-user-Fix-emulation-of-splice-.patch
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+  0045-linux-user-fix-broken-cpu_copy.patch
+* Patches renamed:
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch -> 
0038-fw_cfg-test-Fix-test-path-to-includ.patch
+  0044-rcu-tests-fix-compilation-on-32-bit.patch -> 
0039-rcu-tests-fix-compilation-on-32-bit.patch
+
+-------------------------------------------------------------------
+Mon Mar 23 13:20:31 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Patches added:
+  0045-linux-user-fix-broken-cpu_copy.patch
+
+-------------------------------------------------------------------
+Sat Mar 21 16:07:28 UTC 2015 - [email protected]
+
+- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* Make test path for fw_cfg-test unique (including architecture)
+  0043-fw_cfg-test-Fix-test-path-to-includ.patch
+* Fix rcu tests build on ppc (undefined reference to `__sync_fetch_and_add_8')
+  0044-rcu-tests-fix-compilation-on-32-bit.patch
+- Fix typo in SeaBIOS size check
+  seabios_checkrom_typo.patch
+
+-------------------------------------------------------------------
+Fri Mar 20 15:03:16 UTC 2015 - [email protected]
+
+- Update to v2.3.0-rc0: See http://wiki.qemu-project.org/ChangeLog/2.3
+* Updated update_git.sh accordingly
+* Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.3
+* seabios_128kb.patch: Added patch to squeeze SeaBIOS into 128 KB
+  with our gcc 4.8.3 ([email protected])
+- Renamed 0030-Legacy-Patch-kvm-qemu-preXX-report-.patch to
+  0030-net-Warn-about-default-MAC-address.patch:
+  Suppress warning for accel=qtest, to sanitize make check results.
+- Added patches to fix ahci-test:
+  0039-ide-fix-cmd_write_pio-when-nsectors.patch
+  0040-ide-fix-cmd_read_pio-when-nsectors-.patch
+  0041-ahci-Fix-sglist-offset-manipulation.patch
+  0042-ahci-test-improve-rw-buffer-pattern.patch
+
+-------------------------------------------------------------------

Old:
----
  0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
  0031-console-add-question-mark-escape-op.patch
  0032-Make-char-muxer-more-robust-wrt-sma.patch
  0033-linux-user-lseek-explicitly-cast-no.patch
  0034-virtfs-proxy-helper-Provide-__u64-f.patch
  0035-configure-Enable-PIE-for-ppc-and-pp.patch
  0036-qtest-Increase-socket-timeout.patch
  0037-AIO-Reduce-number-of-threads-for-32.patch
  0038-linux-user-Fix-emulation-of-splice-.patch
  qemu-2.2.0.tar.bz2
  qemu-2.2.0.tar.bz2.sig

New:
----
  0030-console-add-question-mark-escape-op.patch
  0031-Make-char-muxer-more-robust-wrt-sma.patch
  0032-linux-user-lseek-explicitly-cast-no.patch
  0033-virtfs-proxy-helper-Provide-__u64-f.patch
  0034-configure-Enable-PIE-for-ppc-and-pp.patch
  0035-qtest-Increase-socket-timeout.patch
  0036-AIO-Reduce-number-of-threads-for-32.patch
  0037-linux-user-Allocate-thunk-size-dyna.patch
  0038-Revert-Revert-seccomp-tests-that-al.patch
  0039-s390x-Fix-stoc-direction.patch
  pre_checkin.sh
  qemu-2.3.0.tar.bz2
  qemu-2.3.0.tar.bz2.sig
  qemu-testsuite.changes
  qemu-testsuite.spec
  seabios_128kb.patch
  seabios_avoid_smbios_signature_string.patch
  seabios_checkrom_typo.patch

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

Other differences:
------------------
++++++ libcacard.spec ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -21,9 +21,9 @@
 Summary:        Universal CPU emulator
 License:        BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
 Group:          System/Emulators/PC
-Version:        2.2.0
+Version:        2.3.0
 Release:        0
-Source:         http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
+Source:         http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2
 # This patch queue is auto-generated from https://github.com/openSUSE/qemu
 Patch0001:      0001-XXX-dont-dump-core-on-sigabort.patch
 Patch0002:      0002-XXX-work-around-SA_RESTART-race-wit.patch
@@ -54,15 +54,16 @@
 Patch0027:      0027-block-Add-support-for-DictZip-enabl.patch
 Patch0028:      0028-block-Add-tar-container-format.patch
 Patch0029:      0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
-Patch0030:      0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
-Patch0031:      0031-console-add-question-mark-escape-op.patch
-Patch0032:      0032-Make-char-muxer-more-robust-wrt-sma.patch
-Patch0033:      0033-linux-user-lseek-explicitly-cast-no.patch
-Patch0034:      0034-virtfs-proxy-helper-Provide-__u64-f.patch
-Patch0035:      0035-configure-Enable-PIE-for-ppc-and-pp.patch
-Patch0036:      0036-qtest-Increase-socket-timeout.patch
-Patch0037:      0037-AIO-Reduce-number-of-threads-for-32.patch
-Patch0038:      0038-linux-user-Fix-emulation-of-splice-.patch
+Patch0030:      0030-console-add-question-mark-escape-op.patch
+Patch0031:      0031-Make-char-muxer-more-robust-wrt-sma.patch
+Patch0032:      0032-linux-user-lseek-explicitly-cast-no.patch
+Patch0033:      0033-virtfs-proxy-helper-Provide-__u64-f.patch
+Patch0034:      0034-configure-Enable-PIE-for-ppc-and-pp.patch
+Patch0035:      0035-qtest-Increase-socket-timeout.patch
+Patch0036:      0036-AIO-Reduce-number-of-threads-for-32.patch
+Patch0037:      0037-linux-user-Allocate-thunk-size-dyna.patch
+Patch0038:      0038-Revert-Revert-seccomp-tests-that-al.patch
+Patch0039:      0039-s390x-Fix-stoc-direction.patch
 # Please do not add patches manually here, run update_git.sh.
 # this is to make lint happy
 Source300:      qemu-rpmlintrc
@@ -121,7 +122,7 @@
 This sub-package contains development files for the Smartcard library.
 
 %prep
-%setup -q -n qemu-%{version}
+%setup -q -n qemu-2.3.0
 %patch0001 -p1
 %patch0002 -p1
 %patch0003 -p1
@@ -160,6 +161,7 @@
 %patch0036 -p1
 %patch0037 -p1
 %patch0038 -p1
+%patch0039 -p1
 
 %build
 ./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \

++++++ qemu-linux-user.spec ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -21,9 +21,9 @@
 Summary:        Universal CPU emulator
 License:        BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
 Group:          System/Emulators/PC
-Version:        2.2.0
+Version:        2.3.0
 Release:        0
-Source:         http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
+Source:         http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2
 # This patch queue is auto-generated from https://github.com/openSUSE/qemu
 Patch0001:      0001-XXX-dont-dump-core-on-sigabort.patch
 Patch0002:      0002-XXX-work-around-SA_RESTART-race-wit.patch
@@ -54,15 +54,16 @@
 Patch0027:      0027-block-Add-support-for-DictZip-enabl.patch
 Patch0028:      0028-block-Add-tar-container-format.patch
 Patch0029:      0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
-Patch0030:      0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
-Patch0031:      0031-console-add-question-mark-escape-op.patch
-Patch0032:      0032-Make-char-muxer-more-robust-wrt-sma.patch
-Patch0033:      0033-linux-user-lseek-explicitly-cast-no.patch
-Patch0034:      0034-virtfs-proxy-helper-Provide-__u64-f.patch
-Patch0035:      0035-configure-Enable-PIE-for-ppc-and-pp.patch
-Patch0036:      0036-qtest-Increase-socket-timeout.patch
-Patch0037:      0037-AIO-Reduce-number-of-threads-for-32.patch
-Patch0038:      0038-linux-user-Fix-emulation-of-splice-.patch
+Patch0030:      0030-console-add-question-mark-escape-op.patch
+Patch0031:      0031-Make-char-muxer-more-robust-wrt-sma.patch
+Patch0032:      0032-linux-user-lseek-explicitly-cast-no.patch
+Patch0033:      0033-virtfs-proxy-helper-Provide-__u64-f.patch
+Patch0034:      0034-configure-Enable-PIE-for-ppc-and-pp.patch
+Patch0035:      0035-qtest-Increase-socket-timeout.patch
+Patch0036:      0036-AIO-Reduce-number-of-threads-for-32.patch
+Patch0037:      0037-linux-user-Allocate-thunk-size-dyna.patch
+Patch0038:      0038-Revert-Revert-seccomp-tests-that-al.patch
+Patch0039:      0039-s390x-Fix-stoc-direction.patch
 # Please do not add patches manually here, run update_git.sh.
 # this is to make lint happy
 Source300:      qemu-rpmlintrc
@@ -115,7 +116,7 @@
 run cross-architecture builds.
 
 %prep
-%setup -q -n qemu-2.2.0
+%setup -q -n qemu-2.3.0
 %patch0001 -p1
 %patch0002 -p1
 %patch0003 -p1
@@ -154,6 +155,7 @@
 %patch0036 -p1
 %patch0037 -p1
 %patch0038 -p1
+%patch0039 -p1
 
 %build
 ./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \

++++++ qemu-testsuite.spec ++++++
++++ 1063 lines (skipped)

++++++ qemu.spec ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -18,7 +18,7 @@
 
 %ifarch %ix86 x86_64
 # choice of building all from source or using provided binary x86 blobs
-%if 0%{?suse_version} >= 1140
+%if 0%{?suse_version} >= 1310
 %define build_x86_fw_from_source 1
 %else
 %define build_x86_fw_from_source 0
@@ -43,10 +43,10 @@
 Summary:        Universal CPU emulator
 License:        BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
 Group:          System/Emulators/PC
-Version:        2.2.0
+Version:        2.3.0
 Release:        0
-Source:         http://wiki.qemu.org/download/%name-2.2.0.tar.bz2
-Source99:       http://wiki.qemu.org/download/%name-2.2.0.tar.bz2.sig
+Source:         http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2
+Source99:       http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2.sig
 Source1:        80-kvm.rules
 Source2:        qemu-ifup
 Source3:        kvm_stat
@@ -54,6 +54,7 @@
 Source5:        60-kvm.rules
 Source6:        ksm.service
 Source7:        60-kvm.x86.rules
+# Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch
 # This patch queue is auto-generated from https://github.com/openSUSE/qemu
 Patch0001:      0001-XXX-dont-dump-core-on-sigabort.patch
 Patch0002:      0002-XXX-work-around-SA_RESTART-race-wit.patch
@@ -84,16 +85,27 @@
 Patch0027:      0027-block-Add-support-for-DictZip-enabl.patch
 Patch0028:      0028-block-Add-tar-container-format.patch
 Patch0029:      0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
-Patch0030:      0030-Legacy-Patch-kvm-qemu-preXX-report-.patch
-Patch0031:      0031-console-add-question-mark-escape-op.patch
-Patch0032:      0032-Make-char-muxer-more-robust-wrt-sma.patch
-Patch0033:      0033-linux-user-lseek-explicitly-cast-no.patch
-Patch0034:      0034-virtfs-proxy-helper-Provide-__u64-f.patch
-Patch0035:      0035-configure-Enable-PIE-for-ppc-and-pp.patch
-Patch0036:      0036-qtest-Increase-socket-timeout.patch
-Patch0037:      0037-AIO-Reduce-number-of-threads-for-32.patch
-Patch0038:      0038-linux-user-Fix-emulation-of-splice-.patch
-# Please do not add patches manually here, run update_git.sh.
+Patch0030:      0030-console-add-question-mark-escape-op.patch
+Patch0031:      0031-Make-char-muxer-more-robust-wrt-sma.patch
+Patch0032:      0032-linux-user-lseek-explicitly-cast-no.patch
+Patch0033:      0033-virtfs-proxy-helper-Provide-__u64-f.patch
+Patch0034:      0034-configure-Enable-PIE-for-ppc-and-pp.patch
+Patch0035:      0035-qtest-Increase-socket-timeout.patch
+Patch0036:      0036-AIO-Reduce-number-of-threads-for-32.patch
+Patch0037:      0037-linux-user-Allocate-thunk-size-dyna.patch
+Patch0038:      0038-Revert-Revert-seccomp-tests-that-al.patch
+Patch0039:      0039-s390x-Fix-stoc-direction.patch
+# Please do not add QEMU patches manually here.
+# Run update_git.sh to regenerate this queue.
+
+# SeaBIOS
+%if %{build_x86_fw_from_source}
+# PATCH-FIX-OPENSUSE seabios_128kb.patch [email protected] -- make it fit
+Patch1000:      seabios_128kb.patch
+# PATCH-FIX-UPSTREAM seabios_checkrom_typo.patch [email protected] -- tidy 
error message
+Patch1001:      seabios_checkrom_typo.patch
+Patch1002:      seabios_avoid_smbios_signature_string.patch
+%endif
 
 # this is to make lint happy
 Source300:      qemu-rpmlintrc
@@ -115,6 +127,9 @@
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+BuildRequires:  glusterfs-devel
+%endif
 %if 0%{?suse_version} >= 1220
 BuildRequires:  gtk3-devel
 %else
@@ -123,6 +138,7 @@
 BuildRequires:  libaio
 BuildRequires:  libaio-devel
 BuildRequires:  libattr-devel
+BuildRequires:  libbz2-devel
 BuildRequires:  libcap-devel
 BuildRequires:  libcap-ng-devel
 %if 0%{?suse_version} >= 1310
@@ -134,6 +150,15 @@
 BuildRequires:  libibverbs-devel
 %endif
 BuildRequires:  libjpeg-devel
+%ifarch %ix86 aarch64
+%if 0%{?suse_version} > 1320
+BuildRequires:  libnuma-devel
+%endif
+%else
+%ifnarch %arm
+BuildRequires:  libnuma-devel
+%endif
+%endif
 BuildRequires:  libpcap-devel
 BuildRequires:  libpixman-1-0-devel
 BuildRequires:  libpng-devel
@@ -141,18 +166,31 @@
 %if 0%{?suse_version} >= 1315
 BuildRequires:  librdmacm-devel
 %endif
+%ifnarch ppc64le
+%if 0%{?suse_version} > 1320
+BuildRequires:  libseccomp-devel
+%endif
+%endif
+%if 0%{?suse_version} > 1140
+BuildRequires:  libssh2-devel
+%endif
 BuildRequires:  libtool
 %if 0%{?suse_version} > 1310
 BuildRequires:  libusb-devel
 %endif
 BuildRequires:  libvdeplug3-devel
+BuildRequires:  lzo-devel
 %if 0%{?suse_version} > 1220
 BuildRequires:  makeinfo
 %endif
 BuildRequires:  mozilla-nss-devel
 BuildRequires:  ncurses-devel
+BuildRequires:  pkgconfig
 BuildRequires:  pwdutils
 BuildRequires:  python
+%if 0%{?suse_version} >= 1310
+BuildRequires:  snappy-devel
+%endif
 %if 0%{?suse_version} >= 1210
 BuildRequires:  systemd
 %{?systemd_requires}
@@ -186,6 +224,15 @@
 BuildRequires:  spice-protocol-devel
 %endif
 %endif
+%if "%{name}" == "qemu-testsuite"
+BuildRequires:  bc
+BuildRequires:  qemu-arm   = %version
+BuildRequires:  qemu-extra = %version
+BuildRequires:  qemu-ppc   = %version
+BuildRequires:  qemu-s390  = %version
+BuildRequires:  qemu-tools = %version
+BuildRequires:  qemu-x86   = %version
+%endif
 Requires:       /usr/sbin/groupadd
 Requires:       pwdutils
 Requires:       timezone
@@ -226,6 +273,8 @@
 system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
 as PC and PowerMac systems.
 
+%if "%{name}" != "qemu-testsuite"
+
 %package x86
 Summary:        Universal CPU emulator -- x86
 Group:          System/Emulators/PC
@@ -337,15 +386,22 @@
 
 This sub-package contains translations.
 
+# Modules need to match {qemu-system-*,qemu-img} version.
+# We cannot have qemu and qemu-tools require them in the right version,
+# as that would drag in the dependencies the modules are supposed to avoid.
+# Nor can we have modules require the right version of qemu and qemu-tools
+# as Xen reuses our qemu-tools but does not want our qemu and qemu-x86.
+%define qemu_module_conflicts \
+Conflicts:      qemu < %version \
+Conflicts:      qemu > %version \
+Conflicts:      qemu-tools < %version \
+Conflicts:      qemu-tools > %version
+
 %package block-curl
 Summary:        Universal CPU emulator -- cURL block support
 Group:          System/Emulators/PC
 Provides:       qemu:%_libdir/%name/block-curl.so
-# Needs to match {qemu-system-*,qemu-img} >= 2.0.0, but is optional.
-Conflicts:      qemu < %version
-Conflicts:      qemu > %version
-Conflicts:      qemu-tools < %version
-Conflicts:      qemu-tools > %version
+%{qemu_module_conflicts}
 
 %description block-curl
 QEMU is an extremely well-performing CPU emulator that allows you to
@@ -357,6 +413,40 @@
 This sub-package contains a module for accessing network-based image files
 over a network connection from qemu-img tool and QEMU system emulation.
 
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+%package block-gluster
+Summary:        Universal CPU emulator -- GlusterFS block support
+Group:          System/Emulators/PC
+%{qemu_module_conflicts}
+
+%description block-gluster
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains a module for accessing network-based image files
+over a GlusterFS network connection from qemu-img tool and QEMU system 
emulation.
+%endif
+
+%if 0%{?suse_version} > 1140
+%package block-ssh
+Summary:        Universal CPU emulator -- SSH block support
+Group:          System/Emulators/PC
+%{qemu_module_conflicts}
+
+%description block-ssh
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains a module for accessing network-based image files
+over an SSH network connection from qemu-img tool and QEMU system emulation.
+%endif
+
 %package tools
 Summary:        Universal CPU emulator -- Tools
 Group:          System/Emulators/PC
@@ -393,7 +483,7 @@
 %package seabios
 Summary:        X86 BIOS for QEMU
 Group:          System/Emulators/PC
-Version:        1.7.5.1
+Version:        1.8.1
 Release:        0
 %if 0%{?suse_version} > %{noarch_supported}
 BuildArch:      noarch
@@ -407,7 +497,7 @@
 %package vgabios
 Summary:        VGA BIOSes for QEMU
 Group:          System/Emulators/PC
-Version:        1.7.5.1
+Version:        1.8.1
 Release:        0
 %if 0%{?suse_version} > %{noarch_supported}
 BuildArch:      noarch
@@ -461,8 +551,10 @@
 This package provides a service file for starting and stopping KSM.
 %endif
 
+%endif # !qemu-testsuite
+
 %prep
-%setup -q -n %name-2.2.0
+%setup -q -n qemu-2.3.0
 %patch0001 -p1
 %patch0002 -p1
 %patch0003 -p1
@@ -501,8 +593,15 @@
 %patch0036 -p1
 %patch0037 -p1
 %patch0038 -p1
+%patch0039 -p1
 
 %if %{build_x86_fw_from_source}
+pushd roms/seabios
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
+popd
+
 # as a safeguard, delete the firmware files that we intend to build
 for i in %built_firmware_files
 do
@@ -519,30 +618,95 @@
        --disable-strip \
        --enable-system --disable-linux-user \
        --enable-tools --enable-guest-agent \
+       --enable-modules \
        --enable-pie \
        --enable-docs \
        --audio-drv-list="pa alsa sdl oss" \
+       --disable-archipelago \
+       --enable-attr \
+       --enable-bluez \
 %if 0%{?suse_version} >= 1130
         --enable-brlapi \
+%else
+       --disable-brlapi \
 %endif
+       --enable-bzip2 \
        --enable-cap-ng \
        --enable-curl \
        --enable-curses \
+       --enable-fdt \
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+       --enable-glusterfs \
+%else
+       --disable-glusterfs \
+%endif
        --enable-gtk \
 %if 0%{?suse_version} >= 1220
        --with-gtkabi=3.0 \
+%else
+       --with-gtkabi=2.0 \
 %endif
 %if %{kvm_available}
        --enable-kvm \
+%else
+       --disable-kvm \
+%endif
+       --disable-libiscsi \
+       --disable-libnfs \
+%if 0%{?suse_version} > 1140
+       --enable-libssh2 \
+%else
+       --disable-libssh2 \
+%endif
+%if 0%{?suse_version} > 1310
+       --enable-libusb \
+%else
+       --disable-libusb \
 %endif
        --enable-linux-aio \
-       --enable-modules \
+       --enable-lzo \
+       --disable-netmap \
+%ifarch %ix86 aarch64
+%if 0%{?suse_version} > 1320
+       --enable-numa \
+%else
+       --disable-numa \
+%endif
+%else
+%ifarch %arm
+       --disable-numa \
+%else
+       --enable-numa \
+%endif
+%endif
+%if 0%{?suse_version} >= 1310
+       --enable-quorum \
+%else
+       --disable-quorum \
+%endif
+       --disable-rbd \
 %if 0%{?suse_version} >= 1315
        --enable-rdma \
+%else
+       --disable-rdma \
 %endif
        --enable-sdl \
        --with-sdlabi=1.2 \
+%ifnarch ppc64le
+%if 0%{?suse_version} > 1320
+       --enable-seccomp \
+%else
+       --disable-seccomp \
+%endif
+%else
+       --disable-seccomp \
+%endif
        --enable-smartcard-nss \
+%if 0%{?suse_version} >= 1310
+       --enable-snappy \
+%else
+       --disable-snappy \
+%endif
 %if 0%{?suse_version} >= 1140
 %ifarch %ix86 x86_64
        --enable-spice \
@@ -552,15 +716,19 @@
 %else
        --disable-spice \
 %endif
-%if 0%{?suse_version} > 1310
-       --enable-libusb \
-%endif
+       --enable-tpm \
+       --enable-trace-backends=nop \
 %if 0%{?sles_version} != 11
        --enable-usb-redir \
+%else
+       --disable-usb-redir \
 %endif
+       --enable-uuid \
        --enable-vde \
+       --enable-vhdx \
+       --enable-vhost-net \
        --enable-virtfs \
-       --enable-virtio-blk-data-plane \
+       --enable-vnc \
        --enable-vnc-jpeg \
        --enable-vnc-png \
        --enable-vnc-sasl \
@@ -568,8 +736,13 @@
        --enable-vnc-ws \
 %ifarch x86_64
        --enable-xen \
+       --enable-xen-pci-passthrough \
+%else
+       --disable-xen \
 %endif
 
+%if "%{name}" != "qemu-testsuite"
+
 make %{?_smp_mflags} V=1
 
 # Firmware
@@ -583,10 +756,41 @@
 cp pc-bios/s390-ccw/s390-ccw.img pc-bios/s390-ccw.img
 %endif
 
+%else # qemu-testsuite
+for conf in default-configs/*-softmmu.mak; do
+  arch=`echo "$conf" | sed -e 's|default-configs/\(.*\)-softmmu.mak|\1|g'`
+  ln -s %{_bindir}/qemu-system-$arch $arch-softmmu/qemu-system-$arch
+done
+%endif
+
 %check
-make check V=1
+%if "%{name}" == "qemu-testsuite"
+%if 0%{?suse_version} >= 1310
+make check-report.html V=1
+install -D -m 644 check-report.html 
%{buildroot}%{_datadir}/qemu/check-report.html
+%else
+make check-report.xml V=1
+%endif
+install -D -m 644 check-report.xml 
%{buildroot}%{_datadir}/qemu/check-report.xml
+%ifnarch %ix86 x64_64
+export QEMU_PROG=%{_bindir}/qemu-system-x86_64
+%endif
+export QEMU_IMG_PROG=%{_bindir}/qemu-img
+export QEMU_IO_PROG=%{_bindir}/qemu-io
+export QEMU_NBD_PROG=%{_bindir}/qemu-nbd
+# make check-block would rebuild qemu-img and qemu-io
+make tests/qemu-iotests/socket_scm_helper V=1
+pushd tests/qemu-iotests
+# -qcow 001 seems to hang?
+# TODO investigate hangs and failures
+#for fmt in -raw -bochs -cloop -parallels -qcow2 -qed -vdi -vpc -vhdx -vmdk; do
+#  ./check -v -T $fmt -file -g quick || true
+#done
+popd
+%endif
 
 %install
+%if "%{name}" != "qemu-testsuite"
 make install DESTDIR=$RPM_BUILD_ROOT
 rm -fr $RPM_BUILD_ROOT/%_datadir/doc
 rm $RPM_BUILD_ROOT/%_libdir/libcacard*
@@ -628,6 +832,9 @@
 %endif
 install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
 %fdupes -s $RPM_BUILD_ROOT
+%endif
+
+%if "%{name}" != "qemu-testsuite"
 
 %pre
 %{_bindir}/getent group kvm >/dev/null || %{_sbindir}/groupadd -r kvm 
2>/dev/null
@@ -673,9 +880,11 @@
 %service_del_postun ksm.service
 %endif
 
+%endif # !qemu-testsuite
+
 %files
 %defattr(-, root, root)
-%dir %_libdir/%name
+%if "%{name}" != "qemu-testsuite"
 %doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
 %doc %_mandir/man1/qemu.1.gz
 %dir %_datadir/%name
@@ -684,6 +893,7 @@
 %_datadir/%name/qemu-icon.bmp
 %_datadir/%name/qemu_logo_no_text.svg
 %dir %_sysconfdir/%name
+%dir %_libdir/%name
 %if %{kvm_available}
 %if 0%{?suse_version} >= 1230
 %{_udevrulesdir}/80-kvm.rules
@@ -765,9 +975,20 @@
 
 %files block-curl
 %defattr(-, root, root)
-%dir %_libdir/%name
 %_libdir/%name/block-curl.so
 
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+%files block-gluster
+%defattr(-, root, root)
+%_libdir/%name/block-gluster.so
+%endif
+
+%if 0%{?suse_version} > 1140
+%files block-ssh
+%defattr(-, root, root)
+%_libdir/%name/block-ssh.so
+%endif
+
 %files lang -f %name.lang
 %defattr(-, root, root)
 
@@ -820,6 +1041,7 @@
 %verify(not mode) %_libexecdir/qemu-bridge-helper
 %dir %_sysconfdir/%name
 %config %_sysconfdir/%name/bridge.conf
+%dir %_libdir/%name
 
 %files guest-agent
 %defattr(-, root, root)
@@ -831,4 +1053,11 @@
 %{_unitdir}/ksm.service
 %endif
 
+%else # qemu-testsuite
+%doc %_datadir/qemu/check-report.xml
+%if 0%{?suse_version} >= 1310
+%doc %_datadir/qemu/check-report.html
+%endif
+%endif
+
 %changelog

++++++ 0001-XXX-dont-dump-core-on-sigabort.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From a7cec19ab72bbe4172f010a2c56664ca3495034a Mon Sep 17 00:00:00 2001
+From 4e67113cd1c7eebeab06a62d97d39e6e77b59466 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Mon, 21 Nov 2011 23:50:36 +0100
 Subject: [PATCH] XXX dont dump core on sigabort
@@ -8,7 +8,7 @@
  1 file changed, 6 insertions(+)
 
 diff --git a/linux-user/signal.c b/linux-user/signal.c
-index e11b208..48b6513 100644
+index 5bb399e..a849f26 100644
 --- a/linux-user/signal.c
 +++ b/linux-user/signal.c
 @@ -448,6 +448,10 @@ static void QEMU_NORETURN force_sig(int target_sig)

++++++ 0002-XXX-work-around-SA_RESTART-race-wit.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 9fa4ad4feafe57010a39fcc1e02e482989fc07d1 Mon Sep 17 00:00:00 2001
+From e0496d8b8acb22e509d5d6bb6333689a5db615f6 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Thu, 1 Dec 2011 19:00:01 +0100
 Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
@@ -13,7 +13,7 @@
  4 files changed, 130 insertions(+), 10 deletions(-)
 
 diff --git a/linux-user/main.c b/linux-user/main.c
-index 5c14c1e..46a4366 100644
+index a8adb04..f2c9391 100644
 --- a/linux-user/main.c
 +++ b/linux-user/main.c
 @@ -815,15 +815,22 @@ void cpu_loop(CPUARMState *env)
@@ -70,7 +70,7 @@
  /* Creates the initial guest address space in the host memory space using
   * the given host start address hint and size.  The guest_start parameter
 diff --git a/linux-user/signal.c b/linux-user/signal.c
-index 48b6513..92ba798 100644
+index a849f26..ace2bfb 100644
 --- a/linux-user/signal.c
 +++ b/linux-user/signal.c
 @@ -25,6 +25,7 @@
@@ -119,10 +119,10 @@
                 ignore state to avoid getting unexpected interrupted
                 syscalls */
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index aaac6a2..4a2bdcb 100644
+index 1622ad6..f70e4f3 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -5494,6 +5494,87 @@ static target_timer_t get_timer_id(abi_long arg)
+@@ -5512,6 +5512,87 @@ static target_timer_t get_timer_id(abi_long arg)
      return timerid;
  }
  
@@ -210,7 +210,7 @@
  /* do_syscall() should always have a single exit point at the end so
     that actions, such as logging of syscall results, can be performed.
     All errnos that do_syscall() returns must be -TARGET_<errcode>. */
-@@ -5507,6 +5588,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
arg1,
+@@ -5525,6 +5606,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
arg1,
      struct stat st;
      struct statfs stfs;
      void *p;
@@ -223,7 +223,7 @@
  
  #ifdef DEBUG
      gemu_log("syscall %d", num);
-@@ -8776,7 +8863,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
arg1,
+@@ -8794,7 +8881,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
arg1,
        cmd = target_to_host_fcntl_cmd(arg2);
          if (cmd == -TARGET_EINVAL) {
              ret = cmd;
@@ -232,7 +232,7 @@
          }
  
          switch(arg2) {
-@@ -9792,6 +9879,7 @@ fail:
+@@ -9825,6 +9912,7 @@ fail:
  #endif
      if(do_strace)
          print_syscall_ret(num, ret);

++++++ 0003-qemu-0.9.0.cvs-binfmt.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From bb576464efb0640bbdd813fe6c31cbb4a9051cf0 Mon Sep 17 00:00:00 2001
+From 29c2408bf7093a2d26485a08679cb14de49caf43 Mon Sep 17 00:00:00 2001
 From: Ulrich Hecht <[email protected]>
 Date: Tue, 14 Apr 2009 16:18:44 +0200
 Subject: [PATCH] qemu-0.9.0.cvs-binfmt

++++++ 0004-qemu-cvs-alsa_bitfield.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From e5705a68df89fa4d2cd865ee2dbdddac6eaba9e7 Mon Sep 17 00:00:00 2001
+From 4fdcc1847221f05ba1721c84dbfe57f27fbc7cf6 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 14 Apr 2009 16:20:50 +0200
 Subject: [PATCH] qemu-cvs-alsa_bitfield

++++++ 0005-qemu-cvs-alsa_ioctl.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 4d22a2c7752412d78e22bca9c564fff305ae61d1 Mon Sep 17 00:00:00 2001
+From 4c491a5962c8b54f89e61930e00293901d826679 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 14 Apr 2009 16:23:27 +0200
 Subject: [PATCH] qemu-cvs-alsa_ioctl
@@ -2255,10 +2255,10 @@
 +  unsigned char *code;
 +};
 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index ebb3be1..3a55989 100644
+index edd5f3c..e9f81f3 100644
 --- a/linux-user/syscall_defs.h
 +++ b/linux-user/syscall_defs.h
-@@ -2562,6 +2562,8 @@ struct target_ucred {
+@@ -2521,6 +2521,8 @@ struct target_ucred {
      uint32_t gid;
  };
  

++++++ 0006-qemu-cvs-alsa_mmap.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From cbcc253de553cdb66102efc20519284da29f11b0 Mon Sep 17 00:00:00 2001
+From cf0fce63b16eb24410ad11d10222350e3e47d2ef Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 14 Apr 2009 16:24:15 +0200
 Subject: [PATCH] qemu-cvs-alsa_mmap

++++++ 0007-qemu-cvs-gettimeofday.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From e69459c8896b205aadb0d3a773a4ba91d121144b Mon Sep 17 00:00:00 2001
+From 04c1d47c2233cb3f49b27a51f5ad5c428f536faf Mon Sep 17 00:00:00 2001
 From: Ulrich Hecht <[email protected]>
 Date: Tue, 14 Apr 2009 16:25:41 +0200
 Subject: [PATCH] qemu-cvs-gettimeofday
@@ -9,10 +9,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 4a2bdcb..0ea86cb 100644
+index f70e4f3..1244004 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -6666,6 +6666,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
arg1,
+@@ -6684,6 +6684,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
arg1,
      case TARGET_NR_gettimeofday:
          {
              struct timeval tv;

++++++ 0008-qemu-cvs-ioctl_debug.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 3db8a988406437231e54a84c59450da30988ffb5 Mon Sep 17 00:00:00 2001
+From 3b21200fd89d9e3b840a226a2d506e742a4bdc02 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 14 Apr 2009 16:26:33 +0200
 Subject: [PATCH] qemu-cvs-ioctl_debug
@@ -12,10 +12,10 @@
  1 file changed, 6 insertions(+), 1 deletion(-)
 
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 0ea86cb..ea8e4dd 100644
+index 1244004..28ca660 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -3844,7 +3844,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long 
arg)
+@@ -3861,7 +3861,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long 
arg)
      ie = ioctl_entries;
      for(;;) {
          if (ie->target_cmd == 0) {

++++++ 0009-qemu-cvs-ioctl_nodirection.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From d3903e53cc2b7163fcc66bd6c642bf6fcc433135 Mon Sep 17 00:00:00 2001
+From 0cf9b5c4dab2e9bc57c405d58f02f13ded7fe8bd Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 14 Apr 2009 16:27:36 +0200
 Subject: [PATCH] qemu-cvs-ioctl_nodirection
@@ -15,10 +15,10 @@
  1 file changed, 6 insertions(+)
 
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index ea8e4dd..f6187ce 100644
+index 28ca660..4f94afb 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -3878,6 +3878,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long 
arg)
+@@ -3895,6 +3895,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long 
arg)
          arg_type++;
          target_size = thunk_type_size(arg_type, 0);
          switch(ie->access) {
@@ -30,7 +30,7 @@
          case IOC_R:
              ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
              if (!is_error(ret)) {
-@@ -3896,6 +3901,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long 
arg)
+@@ -3913,6 +3918,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long 
arg)
              unlock_user(argptr, arg, 0);
              ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
              break;

++++++ 0010-block-vmdk-Support-creation-of-SCSI.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 7cdc20646d413b3c1e31ff1dd85a7ef67147d56d Mon Sep 17 00:00:00 2001
+From 38f2bc40a08ec811b22e60dd4b71fa11b0f11e61 Mon Sep 17 00:00:00 2001
 From: Ulrich Hecht <[email protected]>
 Date: Tue, 14 Apr 2009 16:37:42 +0200
 Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img
@@ -21,13 +21,13 @@
  4 files changed, 21 insertions(+), 1 deletion(-)
 
 diff --git a/block.c b/block.c
-index a612594..74af007 100644
+index f2f8ae7..0d32442 100644
 --- a/block.c
 +++ b/block.c
-@@ -5630,6 +5630,9 @@ void bdrv_img_create(const char *filename, const char 
*fmt,
+@@ -5813,6 +5813,9 @@ void bdrv_img_create(const char *filename, const char 
*fmt,
      if (!quiet) {
-         printf("Formatting '%s', fmt=%s ", filename, fmt);
-         qemu_opts_print(opts);
+         printf("Formatting '%s', fmt=%s", filename, fmt);
+         qemu_opts_print(opts, " ");
 +        if (qemu_opt_get_bool(opts, BLOCK_OPT_SCSI, false)) {
 +            printf(", SCSI");
 +        }
@@ -35,10 +35,10 @@
      }
  
 diff --git a/block/vmdk.c b/block/vmdk.c
-index 2cbfd3e..caefe19 100644
+index 8410a15..2a34dd0 100644
 --- a/block/vmdk.c
 +++ b/block/vmdk.c
-@@ -1818,9 +1818,12 @@ static int vmdk_create(const char *filename, QemuOpts 
*opts, Error **errp)
+@@ -1848,9 +1848,12 @@ static int vmdk_create(const char *filename, QemuOpts 
*opts, Error **errp)
      if (qemu_opt_get_bool_del(opts, BLOCK_OPT_ZEROED_GRAIN, false)) {
          zeroed_grain = true;
      }
@@ -52,7 +52,7 @@
      } else if (strcmp(adapter_type, "ide") &&
                 strcmp(adapter_type, "buslogic") &&
                 strcmp(adapter_type, "lsilogic") &&
-@@ -2223,6 +2226,11 @@ static QemuOptsList vmdk_create_opts = {
+@@ -2265,6 +2268,11 @@ static QemuOptsList vmdk_create_opts = {
              .help = "Enable efficient zero writes "
                      "using the zeroed-grain GTE feature"
          },
@@ -65,7 +65,7 @@
      }
  };
 diff --git a/include/block/block_int.h b/include/block/block_int.h
-index a1c17b9..9d03953 100644
+index dccb092..decca62 100644
 --- a/include/block/block_int.h
 +++ b/include/block/block_int.h
 @@ -41,10 +41,12 @@
@@ -82,10 +82,10 @@
  #define BLOCK_OPT_BACKING_FMT       "backing_fmt"
  #define BLOCK_OPT_CLUSTER_SIZE      "cluster_size"
 diff --git a/qemu-img.c b/qemu-img.c
-index a42335c..21c3bae 100644
+index 9dddfbe..cc8e976 100644
 --- a/qemu-img.c
 +++ b/qemu-img.c
-@@ -1583,6 +1583,13 @@ static int img_convert(int argc, char **argv)
+@@ -1602,6 +1602,13 @@ static int img_convert(int argc, char **argv)
          }
      }
  

++++++ 0011-linux-user-add-binfmt-wrapper-for-a.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 6a0fa7200207763976f8393156318e77a12e0625 Mon Sep 17 00:00:00 2001
+From 18eb0ea2c1656ebd3bc875ada67f73a4b36e13a1 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Fri, 30 Sep 2011 19:40:36 +0200
 Subject: [PATCH] linux-user: add binfmt wrapper for argv[0] handling
@@ -37,7 +37,7 @@
  create mode 100644 linux-user/binfmt.c
 
 diff --git a/Makefile.target b/Makefile.target
-index e9ff1ee..8372b29 100644
+index 2262d89..efbd850 100644
 --- a/Makefile.target
 +++ b/Makefile.target
 @@ -34,6 +34,10 @@ endif
@@ -72,9 +72,9 @@
  all-obj-y := $(obj-y)
  
  target-obj-y :=
-@@ -179,6 +189,9 @@ all-obj-$(CONFIG_SOFTMMU) += $(block-obj-y)
+@@ -181,6 +191,9 @@ $(QEMU_PROG_BUILD): config-devices.mak
  $(QEMU_PROG_BUILD): $(all-obj-y) ../libqemuutil.a ../libqemustub.a
-       $(call LINK,$^)
+       $(call LINK, $(filter-out %.mak, $^))
  
 +$(QEMU_PROG)-binfmt: $(obj-binfmt-y)
 +      $(call LINK,$^)

++++++ 0012-PPC-KVM-Disable-mmu-notifier-check.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 5fb70dbaac4a3508890ff482446276e9fc2f3cc8 Mon Sep 17 00:00:00 2001
+From 63b90611b240cc52fc311f0f13eff5b8cca0524e Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Fri, 6 Jan 2012 01:05:55 +0100
 Subject: [PATCH] PPC: KVM: Disable mmu notifier check
@@ -13,10 +13,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/exec.c b/exec.c
-index 71ac104..6d31d8f 100644
+index 874ecfc..0274800 100644
 --- a/exec.c
 +++ b/exec.c
-@@ -1108,11 +1108,13 @@ static void *file_ram_alloc(RAMBlock *block,
+@@ -1134,11 +1134,13 @@ static void *file_ram_alloc(RAMBlock *block,
          goto error;
      }
  

++++++ 0013-linux-user-fix-segfault-deadlock.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 55e52ca388a49f49a186deb9404de2f97905af3e Mon Sep 17 00:00:00 2001
+From 58a7f89554d2de5bb2ef05c43f97fccdad8c54e0 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Fri, 13 Jan 2012 17:05:41 +0100
 Subject: [PATCH] linux-user: fix segfault deadlock
@@ -52,7 +52,7 @@
 +
  #endif
 diff --git a/user-exec.c b/user-exec.c
-index 1ff8673..22f9692 100644
+index 8f57e8a..f63198a 100644
 --- a/user-exec.c
 +++ b/user-exec.c
 @@ -94,6 +94,10 @@ static inline int handle_cpu_signal(uintptr_t pc, unsigned 
long address,

++++++ 0014-linux-user-binfmt-support-host-bina.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 2a1484963a8861e054abdfc178aadd48132730b3 Mon Sep 17 00:00:00 2001
+From cb2967f20959e9907669a2332ccd164f40351007 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Thu, 2 Feb 2012 18:02:33 +0100
 Subject: [PATCH] linux-user: binfmt: support host binaries

++++++ 0015-linux-user-Ignore-broken-loop-ioctl.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 74eb0ee82d3d7550e4cd77a06ee2550edef437ab Mon Sep 17 00:00:00 2001
+From 1b00c1b548b8e05ce687a73d46f0c08f698edc0a Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 12 Jun 2012 04:41:10 +0200
 Subject: [PATCH] linux-user: Ignore broken loop ioctl
@@ -46,10 +46,10 @@
  
  #endif
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index f6187ce..84621cc 100644
+index 4f94afb..75ccd66 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -3821,6 +3821,13 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry 
*ie, uint8_t *buf_temp,
+@@ -3838,6 +3838,13 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry 
*ie, uint8_t *buf_temp,
      return get_errno(ioctl(fd, ie->host_cmd, sig));
  }
  
@@ -64,10 +64,10 @@
  #define IOCTL(cmd, access, ...) \
      { TARGET_ ## cmd, cmd, #cmd, access, 0, {  __VA_ARGS__ } },
 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index 3a55989..d6ccacc 100644
+index e9f81f3..9fabee7 100644
 --- a/linux-user/syscall_defs.h
 +++ b/linux-user/syscall_defs.h
-@@ -1061,6 +1061,7 @@ struct target_pollfd {
+@@ -1068,6 +1068,7 @@ struct target_pollfd {
  #define TARGET_LOOP_SET_STATUS64      0x4C04
  #define TARGET_LOOP_GET_STATUS64      0x4C05
  #define TARGET_LOOP_CHANGE_FD         0x4C06

++++++ 0016-linux-user-lock-tcg.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From b78fc9fe9c68f6c5b1a647a83d203eb7a41f587f Mon Sep 17 00:00:00 2001
+From a2f780a45d6b328e1b2ed383784cd690bd3bb529 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Thu, 5 Jul 2012 17:31:39 +0200
 Subject: [PATCH] linux-user: lock tcg
@@ -16,8 +16,8 @@
 ---
  linux-user/mmap.c |  3 +++
  tcg/tcg.c         | 36 ++++++++++++++++++++++++++++++++++--
- tcg/tcg.h         |  5 +++++
- 3 files changed, 42 insertions(+), 2 deletions(-)
+ tcg/tcg.h         |  6 ++++++
+ 3 files changed, 43 insertions(+), 2 deletions(-)
 
 diff --git a/linux-user/mmap.c b/linux-user/mmap.c
 index 34a5615..7ebf953 100644
@@ -48,7 +48,7 @@
  }
  
 diff --git a/tcg/tcg.c b/tcg/tcg.c
-index 7a84b87..7f582f7 100644
+index f1558b7..f7a40ba 100644
 --- a/tcg/tcg.c
 +++ b/tcg/tcg.c
 @@ -39,6 +39,8 @@
@@ -90,7 +90,7 @@
  #if TCG_TARGET_INSN_UNIT_SIZE == 1
  static __attribute__((unused)) inline void tcg_out8(TCGContext *s, uint8_t v)
  {
-@@ -339,7 +364,8 @@ void tcg_context_init(TCGContext *s)
+@@ -333,7 +358,8 @@ void tcg_context_init(TCGContext *s)
  
      memset(s, 0, sizeof(*s));
      s->nb_globals = 0;
@@ -100,7 +100,7 @@
      /* Count total number of arguments and allocate the corresponding
         space */
      total_args = 0;
-@@ -2558,10 +2584,12 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit 
*gen_code_buf)
+@@ -2385,10 +2411,12 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit 
*gen_code_buf)
      }
  #endif
  
@@ -113,7 +113,7 @@
  
      return tcg_current_code_size(s);
  }
-@@ -2573,7 +2601,11 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit 
*gen_code_buf)
+@@ -2400,7 +2428,11 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit 
*gen_code_buf)
  int tcg_gen_code_search_pc(TCGContext *s, tcg_insn_unit *gen_code_buf,
                             long offset)
  {
@@ -127,7 +127,7 @@
  
  #ifdef CONFIG_PROFILER
 diff --git a/tcg/tcg.h b/tcg/tcg.h
-index 7285f71..ea7ef8d 100644
+index add7f75..bbd819e 100644
 --- a/tcg/tcg.h
 +++ b/tcg/tcg.h
 @@ -27,6 +27,7 @@
@@ -138,17 +138,18 @@
  #include "tcg-target.h"
  
  /* Default target word size to pointer size.  */
-@@ -533,6 +534,7 @@ struct TCGContext {
- 
-     /* The TCGBackendData structure is private to tcg-target.c.  */
-     struct TCGBackendData *be;
+@@ -555,6 +556,8 @@ struct TCGContext {
+     target_ulong gen_opc_pc[OPC_BUF_SIZE];
+     uint16_t gen_opc_icount[OPC_BUF_SIZE];
+     uint8_t gen_opc_instr_start[OPC_BUF_SIZE];
++
 +    QemuMutex lock;
  };
  
  extern TCGContext tcg_ctx;
-@@ -711,6 +713,9 @@ void tcg_gen_shifti_i64(TCGv_i64 ret, TCGv_i64 arg1,
- TCGArg *tcg_optimize(TCGContext *s, uint16_t *tcg_opc_ptr, TCGArg *args,
-                      TCGOpDef *tcg_op_def);
+@@ -743,6 +746,9 @@ void tcg_gen_callN(TCGContext *s, void *func,
+ void tcg_op_remove(TCGContext *s, TCGOp *op);
+ void tcg_optimize(TCGContext *s);
  
 +extern void tcg_lock(void);
 +extern void tcg_unlock(void);

++++++ 0017-linux-user-Run-multi-threaded-code-.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From e8e669d084f6317fb739c38077bf4f26bbf5ef95 Mon Sep 17 00:00:00 2001
+From 32acfcfbaf593e8d657b5a09b48d05871250d444 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 10 Jul 2012 20:40:55 +0200
 Subject: [PATCH] linux-user: Run multi-threaded code on a single core
@@ -19,10 +19,10 @@
  1 file changed, 9 insertions(+)
 
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 84621cc..6fc55b4 100644
+index 75ccd66..11a1572 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -4526,6 +4526,15 @@ static int do_fork(CPUArchState *env, unsigned int 
flags, abi_ulong newsp,
+@@ -4543,6 +4543,15 @@ static int do_fork(CPUArchState *env, unsigned int 
flags, abi_ulong newsp,
          if (nptl_flags & CLONE_SETTLS)
              cpu_set_tls (new_env, newtls);
  

++++++ 0018-linux-user-lock-tb-flushing-too.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From dce867750093888070a7875de37111af6a0d2b58 Mon Sep 17 00:00:00 2001
+From b447299e5493e4a6593e0ddde084e0ee59070199 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Wed, 11 Jul 2012 16:47:42 +0200
 Subject: [PATCH] linux-user: lock tb flushing too
@@ -14,10 +14,10 @@
  1 file changed, 18 insertions(+), 2 deletions(-)
 
 diff --git a/translate-all.c b/translate-all.c
-index ba5c840..17f4260 100644
+index 11763c6..fc6fc71 100644
 --- a/translate-all.c
 +++ b/translate-all.c
-@@ -709,19 +709,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
+@@ -715,19 +715,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
  {
      TranslationBlock *tb;
  
@@ -41,7 +41,7 @@
      /* In practice this is mostly used for single use temporary TB
         Ignore the hard cases and just back up if this TB happens to
         be the last one generated.  */
-@@ -730,6 +734,7 @@ void tb_free(TranslationBlock *tb)
+@@ -736,6 +740,7 @@ void tb_free(TranslationBlock *tb)
          tcg_ctx.code_gen_ptr = tb->tc_ptr;
          tcg_ctx.tb_ctx.nb_tbs--;
      }
@@ -49,7 +49,7 @@
  }
  
  static inline void invalidate_page_bitmap(PageDesc *p)
-@@ -787,6 +792,7 @@ void tb_flush(CPUArchState *env1)
+@@ -793,6 +798,7 @@ void tb_flush(CPUArchState *env1)
             ((unsigned long)(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer)) /
             tcg_ctx.tb_ctx.nb_tbs : 0);
  #endif
@@ -57,7 +57,7 @@
      if ((unsigned long)(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer)
          > tcg_ctx.code_gen_buffer_size) {
          cpu_abort(cpu, "Internal error: code buffer overflow\n");
-@@ -804,6 +810,7 @@ void tb_flush(CPUArchState *env1)
+@@ -810,6 +816,7 @@ void tb_flush(CPUArchState *env1)
      /* XXX: flush processor icache at this point if cache flush is
         expensive */
      tcg_ctx.tb_ctx.tb_flush_count++;
@@ -65,7 +65,7 @@
  }
  
  #ifdef DEBUG_TB_CHECK
-@@ -1110,8 +1117,10 @@ void tb_invalidate_phys_page_range(tb_page_addr_t 
start, tb_page_addr_t end,
+@@ -1119,8 +1126,10 @@ void tb_invalidate_phys_page_range(tb_page_addr_t 
start, tb_page_addr_t end,
      int current_flags = 0;
  #endif /* TARGET_HAS_PRECISE_SMC */
  
@@ -76,7 +76,7 @@
          return;
      }
      if (!p->code_bitmap &&
-@@ -1204,6 +1213,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, 
tb_page_addr_t end,
+@@ -1213,6 +1222,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, 
tb_page_addr_t end,
          cpu_resume_from_signal(cpu, NULL);
      }
  #endif
@@ -84,7 +84,7 @@
  }
  
  /* len must be <= 8 and start must be a multiple of len */
-@@ -1415,13 +1425,16 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
+@@ -1420,13 +1430,16 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
  {
      int m_min, m_max, m;
      uintptr_t v;
@@ -102,7 +102,7 @@
          return NULL;
      }
      /* binary search (cf Knuth) */
-@@ -1432,6 +1445,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
+@@ -1437,6 +1450,7 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
          tb = &tcg_ctx.tb_ctx.tbs[m];
          v = (uintptr_t)tb->tc_ptr;
          if (v == tc_ptr) {
@@ -110,7 +110,7 @@
              return tb;
          } else if (tc_ptr < v) {
              m_max = m - 1;
-@@ -1439,7 +1453,9 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
+@@ -1444,7 +1458,9 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr)
              m_min = m + 1;
          }
      }
@@ -120,4 +120,4 @@
 +    return r;
  }
  
- #if defined(TARGET_HAS_ICE) && !defined(CONFIG_USER_ONLY)
+ #if !defined(CONFIG_USER_ONLY)

++++++ 0019-linux-user-Fake-proc-cpuinfo.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From f8efdf93368a0f98d8608c44590e2c9f1ed44397 Mon Sep 17 00:00:00 2001
+From 83f8760297c5fac596c82a9e45449895071b90af Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Mon, 23 Jul 2012 10:24:14 +0200
 Subject: [PATCH] linux-user: Fake /proc/cpuinfo
@@ -22,10 +22,10 @@
  1 file changed, 20 insertions(+)
 
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 6fc55b4..de930eb 100644
+index 11a1572..4c72020 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -5344,6 +5344,25 @@ static int open_self_stat(void *cpu_env, int fd)
+@@ -5362,6 +5362,25 @@ static int open_self_stat(void *cpu_env, int fd)
      return 0;
  }
  
@@ -51,7 +51,7 @@
  static int open_self_auxv(void *cpu_env, int fd)
  {
      CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env);
-@@ -5458,6 +5477,7 @@ static int do_openat(void *cpu_env, int dirfd, const 
char *pathname, int flags,
+@@ -5476,6 +5495,7 @@ static int do_openat(void *cpu_env, int dirfd, const 
char *pathname, int flags,
  #if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
          { "/proc/net/route", open_net_route, is_proc },
  #endif

++++++ 0020-linux-user-implement-FS_IOC_GETFLAG.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From d905cad0394b79353ae9bbcaea0d44228182a45c Mon Sep 17 00:00:00 2001
+From a7efb638bab217add93f4199939037730df222ba Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Mon, 20 Aug 2012 00:02:52 +0200
 Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl
@@ -28,10 +28,10 @@
    IOCTL(SIOCATMARK, 0, TYPE_NULL)
    IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index d6ccacc..be03d90 100644
+index 9fabee7..c8e47cf 100644
 --- a/linux-user/syscall_defs.h
 +++ b/linux-user/syscall_defs.h
-@@ -2477,6 +2477,8 @@ struct target_f_owner_ex {
+@@ -2436,6 +2436,8 @@ struct target_f_owner_ex {
  #define TARGET_MTIOCGET        TARGET_IOR('m', 2, struct mtget)
  #define TARGET_MTIOCPOS        TARGET_IOR('m', 3, struct mtpos)
  

++++++ 0021-linux-user-implement-FS_IOC_SETFLAG.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 4eec12072f7b5deb36f6e84a44acfdc979a16901 Mon Sep 17 00:00:00 2001
+From de8637cc5c349ec197315c9a06ca6163e3ca8dd1 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Mon, 20 Aug 2012 00:07:13 +0200
 Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl
@@ -28,10 +28,10 @@
    IOCTL(SIOCATMARK, 0, TYPE_NULL)
    IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index be03d90..f750d4c 100644
+index c8e47cf..1a8816d 100644
 --- a/linux-user/syscall_defs.h
 +++ b/linux-user/syscall_defs.h
-@@ -2478,6 +2478,7 @@ struct target_f_owner_ex {
+@@ -2437,6 +2437,7 @@ struct target_f_owner_ex {
  #define TARGET_MTIOCPOS        TARGET_IOR('m', 3, struct mtpos)
  
  #define TARGET_FS_IOC_GETFLAGS TARGET_IORU('f', 1)

++++++ 0022-linux-user-XXX-disable-fiemap.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 579bfaa3dd897fd3c0dc33072e46051c8f01c182 Mon Sep 17 00:00:00 2001
+From 5d92384080c5f450560412313661ab0e84c42bd8 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 21 Aug 2012 14:20:40 +0200
 Subject: [PATCH] linux-user: XXX disable fiemap
@@ -9,10 +9,10 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index de930eb..199084f 100644
+index 4c72020..30d6bcd 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -3318,6 +3318,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry 
*ie, uint8_t *buf_temp,
+@@ -3333,6 +3333,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry 
*ie, uint8_t *buf_temp,
      uint32_t outbufsz;
      int free_fm = 0;
  

++++++ 0023-slirp-nooutgoing.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 0f3c54d2f0ba8e3b607b98eae7987226c73fdd93 Mon Sep 17 00:00:00 2001
+From 7f2436d3ad31d2fd264f8dd9188abdb9a3bebae6 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <[email protected]>
 Date: Wed, 29 Aug 2012 18:42:56 +0200
 Subject: [PATCH] slirp: -nooutgoing
@@ -12,10 +12,10 @@
  4 files changed, 40 insertions(+)
 
 diff --git a/qemu-options.hx b/qemu-options.hx
-index 64af16d..4424eab 100644
+index 319d971..4b6dd9a 100644
 --- a/qemu-options.hx
 +++ b/qemu-options.hx
-@@ -2821,6 +2821,16 @@ Store the QEMU process PID in @var{file}. It is useful 
if you launch QEMU
+@@ -2878,6 +2878,16 @@ Store the QEMU process PID in @var{file}. It is useful 
if you launch QEMU
  from a script.
  ETEXI
  
@@ -97,10 +97,10 @@
      socket_set_fast_reuse(s);
      opt = 1;
 diff --git a/vl.c b/vl.c
-index eb89d62..1c96f7f 100644
+index 74c2681..51de200 100644
 --- a/vl.c
 +++ b/vl.c
-@@ -164,6 +164,7 @@ const char *vnc_display;
+@@ -163,6 +163,7 @@ int smp_threads = 1;
  int acpi_enabled = 1;
  int no_hpet = 0;
  int fd_bootchk = 1;
@@ -108,7 +108,7 @@
  static int no_reboot;
  int no_shutdown = 0;
  int cursor_hide = 1;
-@@ -3234,6 +3235,14 @@ int main(int argc, char **argv, char **envp)
+@@ -3146,6 +3147,14 @@ int main(int argc, char **argv, char **envp)
              case QEMU_OPTION_singlestep:
                  singlestep = 1;
                  break;

++++++ 0024-vnc-password-file-and-incoming-conn.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,26 +1,27 @@
-From a1b57e540db8c75278ae1208ea22425f27723396 Mon Sep 17 00:00:00 2001
+From 1e17a16e5d7ac68f2679407f5468d11b73644f6b Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <[email protected]>
 Date: Wed, 29 Aug 2012 20:06:01 +0200
 Subject: [PATCH] vnc: password-file= and incoming-connections=
 
 TBD (from SUSE Studio team)
 ---
- ui/vnc.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 71 insertions(+)
+ ui/vnc.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
 
 diff --git a/ui/vnc.c b/ui/vnc.c
-index 5707015..f42340b 100644
+index cffb5b7..77c4027 100644
 --- a/ui/vnc.c
 +++ b/ui/vnc.c
-@@ -47,6 +47,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
- #include "d3des.h"
+@@ -51,6 +51,8 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
+ static QTAILQ_HEAD(, VncDisplay) vnc_displays =
+     QTAILQ_HEAD_INITIALIZER(vnc_displays);
  
- static VncDisplay *vnc_display; /* needed for info vnc */
 +static int allowed_connections = 0;
- 
++
  static int vnc_cursor_define(VncState *vs);
  static void vnc_release_modifiers(VncState *vs);
-@@ -1039,6 +1040,7 @@ static void vnc_disconnect_start(VncState *vs)
+ 
+@@ -1221,6 +1223,7 @@ static void vnc_disconnect_start(VncState *vs)
  void vnc_disconnect_finish(VncState *vs)
  {
      int i;
@@ -28,7 +29,7 @@
  
      vnc_jobs_join(vs); /* Wait encoding jobs */
  
-@@ -1087,6 +1089,13 @@ void vnc_disconnect_finish(VncState *vs)
+@@ -1269,6 +1272,13 @@ void vnc_disconnect_finish(VncState *vs)
      }
      g_free(vs->lossy_rect);
      g_free(vs);
@@ -42,25 +43,25 @@
  }
  
  int vnc_client_io_error(VncState *vs, int ret, int last_errno)
-@@ -3050,6 +3059,39 @@ char *vnc_display_local_addr(DisplayState *ds)
+@@ -3240,6 +3250,39 @@ char *vnc_display_local_addr(const char *id)
      return vnc_socket_local_addr("%s:%s", vs->lsock);
  }
  
-+static void read_file_password(DisplayState *ds, char *filename)
++static void read_file_password(const char *id, const char *filename)
 +{
 +    FILE *pfile = NULL;
 +    char *passwd = NULL;
 +    int start = 0, length = 0, rc = 0;
 +
-+    if(strlen(filename) == 0) {
-+      printf("No file supplied\n");
-+      return;
++    if (strlen(filename) == 0) {
++        printf("No file supplied\n");
++        return;
 +    }
 +
 +    pfile = fopen(filename, "r");
-+    if(pfile == NULL) {
-+      printf("Could not read from %s\n", filename);
-+      return;
++    if (pfile == NULL) {
++        printf("Could not read from %s\n", filename);
++        return;
 +    }
 +
 +    start  = ftell(pfile);
@@ -68,60 +69,64 @@
 +    length = ftell(pfile);
 +    fseek(pfile, 0L, start);
 +
-+    passwd = malloc(length+1);
++    passwd = g_malloc(length + 1);
 +    rc = fread(passwd, 1, length, pfile);
 +    fclose(pfile);
 +
-+    if(rc == length && rc > 0) {
-+      vnc_display_password(ds, passwd);
++    if (rc == length && rc > 0) {
++        vnc_display_password(id, passwd);
 +    }
 +
-+    free(passwd);
++    g_free(passwd);
 +}
 +
- void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
- {
-     VncDisplay *vs = vnc_display;
-@@ -3083,6 +3125,9 @@ void vnc_display_open(DisplayState *ds, const char 
*display, Error **errp)
-     while ((options = strchr(options, ','))) {
-         options++;
-         if (strncmp(options, "password", 8) == 0) {
-+            char *start, *end;
-+            start = strchr(options, '=');
-+            end = strchr(options, ',');
-             if (fips_get_state()) {
-                 error_setg(errp,
-                            "VNC password auth disabled due to FIPS mode, "
-@@ -3091,6 +3136,32 @@ void vnc_display_open(DisplayState *ds, const char 
*display, Error **errp)
-                 goto fail;
-             }
-             password = 1; /* Require password auth */
-+            if (start && (!end || (start < end))) {
-+                int len = end ? end-(start+1) : strlen(start+1);
-+                char *text = g_malloc(len+1);
-+                strncpy(text, start+1, len);
-+                text[len] = '\0';
-+                
-+                if (strncmp(options, "password-file=", 14) == 0) {
-+                    read_file_password(ds, text);
-+                } else {
-+                    vnc_display_password(ds, text);
-+                } 
-+            
-+                free(text);
-+            }
-+        } else if (strncmp(options, "allowed-connections=", 20) == 0) {
-+            char *start, *end;
-+            start = strchr(options, '=');
-+            end = strchr(options, ',');
-+            if (start && (!end || (start < end))) {
-+                int len = end ? end-(start+1) : strlen(start+1);
-+                char *text = g_malloc(len+1);
-+                strncpy(text, start+1, len);
-+                text[len] = '\0';
-+                VNC_DEBUG("Maximum number of disconnects: %s\n", text);
-+                allowed_connections = atoi(text);
-+            }
-         } else if (strncmp(options, "reverse", 7) == 0) {
-             reverse = 1;
-         } else if (strncmp(options, "no-lock-key-sync", 16) == 0) {
+ static QemuOptsList qemu_vnc_opts = {
+     .name = "vnc",
+     .head = QTAILQ_HEAD_INITIALIZER(qemu_vnc_opts.head),
+@@ -3267,6 +3310,9 @@ static QemuOptsList qemu_vnc_opts = {
+             .name = "connections",
+             .type = QEMU_OPT_NUMBER,
+         },{
++            .name = "allowed-connections",
++            .type = QEMU_OPT_NUMBER,
++        },{
+             .name = "to",
+             .type = QEMU_OPT_NUMBER,
+         },{
+@@ -3279,6 +3325,9 @@ static QemuOptsList qemu_vnc_opts = {
+             .name = "password",
+             .type = QEMU_OPT_BOOL,
+         },{
++            .name = "password-file",
++            .type = QEMU_OPT_STRING,
++        },{
+             .name = "reverse",
+             .type = QEMU_OPT_BOOL,
+         },{
+@@ -3443,6 +3492,7 @@ void vnc_display_open(const char *id, Error **errp)
+     const char *share, *device_id;
+     QemuConsole *con;
+     bool password = false;
++    const char *password_file;
+     bool reverse = false;
+     const char *vnc;
+     const char *has_to;
+@@ -3516,6 +3566,10 @@ void vnc_display_open(const char *id, Error **errp)
+                    "methods as an alternative");
+         goto fail;
+     }
++    password_file = qemu_opt_get(opts, "password-file");
++    if (password_file) {
++        read_file_password(id, password_file);
++    }
+ 
+     reverse = qemu_opt_get_bool(opts, "reverse", false);
+     lock_key_sync = qemu_opt_get_bool(opts, "lock-key-sync", true);
+@@ -3569,6 +3623,7 @@ void vnc_display_open(const char *id, Error **errp)
+         vs->share_policy = VNC_SHARE_POLICY_ALLOW_EXCLUSIVE;
+     }
+     vs->connections_limit = qemu_opt_get_number(opts, "connections", 32);
++    allowed_connections = qemu_opt_get_number(opts, "allowed-connections", 0);
+ 
+     websocket = qemu_opt_get(opts, "websocket");
+     if (websocket) {

++++++ 0025-linux-user-add-more-blk-ioctls.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 62b202fd44cd3e5148c950bfdf2ee40f47b4e9a5 Mon Sep 17 00:00:00 2001
+From 58d1cb20e7dbeddef1e12fd2dfac4fe2a9c16cff Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Wed, 10 Oct 2012 10:21:20 +0200
 Subject: [PATCH] linux-user: add more blk ioctls
@@ -42,10 +42,10 @@
       IOCTL(BLKRASET, 0, TYPE_INT)
       IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG))
 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index f750d4c..15fe242 100644
+index 1a8816d..f3ac211 100644
 --- a/linux-user/syscall_defs.h
 +++ b/linux-user/syscall_defs.h
-@@ -930,6 +930,12 @@ struct target_pollfd {
+@@ -937,6 +937,12 @@ struct target_pollfd {
  #define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,abi_ulong)
                                               /* return device size in bytes
                                                  (u64 *arg) */

++++++ 0026-linux-user-use-target_ulong.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 3108d4f03c8124927f6462967a9d80f2049fae19 Mon Sep 17 00:00:00 2001
+From 4541994ba978226f288028aec1b9868efcc5ea9f Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Tue, 9 Oct 2012 09:06:49 +0200
 Subject: [PATCH] linux-user: use target_ulong
@@ -36,10 +36,10 @@
  extern THREAD CPUState *thread_cpu;
  void cpu_loop(CPUArchState *env);
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 199084f..02599ce 100644
+index 30d6bcd..07c0138 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -5630,10 +5630,10 @@ int syscall_restartable(int syscall_nr)
+@@ -5648,10 +5648,10 @@ int syscall_restartable(int syscall_nr)
  /* do_syscall() should always have a single exit point at the end so
     that actions, such as logging of syscall results, can be performed.
     All errnos that do_syscall() returns must be -TARGET_<errcode>. */

++++++ 0027-block-Add-support-for-DictZip-enabl.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 6cba6c6438b0ca67aa0e2b869e109f31d4a889a3 Mon Sep 17 00:00:00 2001
+From ded0e437f0cc9df0f0508f166db14cc54aaad784 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Wed, 5 Aug 2009 09:49:37 +0200
 Subject: [PATCH] block: Add support for DictZip enabled gzip files
@@ -41,10 +41,10 @@
  create mode 100644 block/dictzip.c
 
 diff --git a/block/Makefile.objs b/block/Makefile.objs
-index 04b0e43..080fd26 100644
+index db2933e..1c6f9cf 100644
 --- a/block/Makefile.objs
 +++ b/block/Makefile.objs
-@@ -24,6 +24,7 @@ block-obj-y += accounting.o
+@@ -25,6 +25,7 @@ block-obj-y += write-threshold.o
  common-obj-y += stream.o
  common-obj-y += commit.o
  common-obj-y += backup.o

++++++ 0028-block-Add-tar-container-format.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From 91448986f22a2b293d79ef101680ce6a681163c3 Mon Sep 17 00:00:00 2001
+From 6b8c3885607cbbbc5eb5a6b6c08e64eeabd639a5 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Wed, 5 Aug 2009 17:28:38 +0200
 Subject: [PATCH] block: Add tar container format
@@ -42,10 +42,10 @@
  create mode 100644 block/tar.c
 
 diff --git a/block/Makefile.objs b/block/Makefile.objs
-index 080fd26..0790d19 100644
+index 1c6f9cf..c7e2178 100644
 --- a/block/Makefile.objs
 +++ b/block/Makefile.objs
-@@ -25,6 +25,7 @@ common-obj-y += stream.o
+@@ -26,6 +26,7 @@ common-obj-y += stream.o
  common-obj-y += commit.o
  common-obj-y += backup.o
  common-obj-y += dictzip.o

++++++ 0029-Legacy-Patch-kvm-qemu-preXX-dictzip.patch ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -1,4 +1,4 @@
-From d0549750c5d361cf6e766c539c7b6f1fb913cd27 Mon Sep 17 00:00:00 2001
+From 36f1cdefb3ffc0b3e96f544ef3280dca57ea2e4c Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Wed, 12 Dec 2012 19:11:30 +0100
 Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch

++++++ 0031-console-add-question-mark-escape-op.patch -> 
0030-console-add-question-mark-escape-op.patch ++++++
--- 
/work/SRC/openSUSE:Factory/qemu/0031-console-add-question-mark-escape-op.patch  
    2015-02-14 13:53:03.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.qemu.new/0030-console-add-question-mark-escape-op.patch
 2015-05-02 17:31:33.000000000 +0200
@@ -1,4 +1,4 @@
-From 7e990dfe340a04dda4fa87deea9057dfbd7932e6 Mon Sep 17 00:00:00 2001
+From aaa848743a9634205cf4459ae12993673d428cc6 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Mon, 6 Jun 2011 06:53:52 +0200
 Subject: [PATCH] console: add question-mark escape operator
@@ -16,7 +16,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/ui/console.c b/ui/console.c
-index 258af5d..59b5077 100644
+index b15ca87..a2364e6 100644
 --- a/ui/console.c
 +++ b/ui/console.c
 @@ -853,7 +853,7 @@ static void console_putchar(QemuConsole *s, int ch)

++++++ 0032-Make-char-muxer-more-robust-wrt-sma.patch -> 
0031-Make-char-muxer-more-robust-wrt-sma.patch ++++++
--- 
/work/SRC/openSUSE:Factory/qemu/0032-Make-char-muxer-more-robust-wrt-sma.patch  
    2015-02-14 13:53:03.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.qemu.new/0031-Make-char-muxer-more-robust-wrt-sma.patch
 2015-05-02 17:31:33.000000000 +0200
@@ -1,4 +1,4 @@
-From 5dd9c864211748f66cfcb24f1b623c935e88d13c Mon Sep 17 00:00:00 2001
+From 373aff92ccca07533a1bac043ccccbe8d1edb322 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Thu, 1 Apr 2010 17:36:23 +0200
 Subject: [PATCH] Make char muxer more robust wrt small FIFOs
@@ -22,7 +22,7 @@
  1 file changed, 16 insertions(+)
 
 diff --git a/qemu-char.c b/qemu-char.c
-index a8b01da..2780d14 100644
+index a405d76..471ccfe 100644
 --- a/qemu-char.c
 +++ b/qemu-char.c
 @@ -403,6 +403,9 @@ typedef struct {

++++++ 0033-linux-user-lseek-explicitly-cast-no.patch -> 
0032-linux-user-lseek-explicitly-cast-no.patch ++++++
--- 
/work/SRC/openSUSE:Factory/qemu/0033-linux-user-lseek-explicitly-cast-no.patch  
    2015-02-14 13:53:03.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.qemu.new/0032-linux-user-lseek-explicitly-cast-no.patch
 2015-05-02 17:31:33.000000000 +0200
@@ -1,4 +1,4 @@
-From 9cf331fd06886bcec7a50c92f4385ca82317bf3a Mon Sep 17 00:00:00 2001
+From 21c375ae2e6cfc6dc7b6eb0bca58e127cdddfa63 Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Thu, 13 Dec 2012 14:29:22 +0100
 Subject: [PATCH] linux-user: lseek: explicitly cast non-set offsets to signed
@@ -16,10 +16,10 @@
  1 file changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 02599ce..a41dd43 100644
+index 07c0138..4917e20 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -5941,9 +5941,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong 
arg1,
+@@ -5959,9 +5959,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong 
arg1,
      case TARGET_NR_oldstat:
          goto unimplemented;
  #endif

++++++ 0034-virtfs-proxy-helper-Provide-__u64-f.patch -> 
0033-virtfs-proxy-helper-Provide-__u64-f.patch ++++++
--- 
/work/SRC/openSUSE:Factory/qemu/0034-virtfs-proxy-helper-Provide-__u64-f.patch  
    2015-02-14 13:53:03.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.qemu.new/0033-virtfs-proxy-helper-Provide-__u64-f.patch
 2015-05-02 17:31:33.000000000 +0200
@@ -1,4 +1,4 @@
-From e5d1f2561996297157d72b0af5442d71936c491f Mon Sep 17 00:00:00 2001
+From f8d920c04363d2059f43d81569bf68324bf52999 Mon Sep 17 00:00:00 2001
 From: Bruce Rogers <[email protected]>
 Date: Thu, 16 May 2013 12:39:10 +0200
 Subject: [PATCH] virtfs-proxy-helper: Provide __u64 for broken
@@ -12,7 +12,7 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c
-index cd291d3..7d7aa67 100644
+index a698e2d..bbc6233 100644
 --- a/fsdev/virtfs-proxy-helper.c
 +++ b/fsdev/virtfs-proxy-helper.c
 @@ -9,6 +9,13 @@

++++++ 0035-configure-Enable-PIE-for-ppc-and-pp.patch -> 
0034-configure-Enable-PIE-for-ppc-and-pp.patch ++++++
--- 
/work/SRC/openSUSE:Factory/qemu/0035-configure-Enable-PIE-for-ppc-and-pp.patch  
    2015-02-14 13:53:03.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.qemu.new/0034-configure-Enable-PIE-for-ppc-and-pp.patch
 2015-05-02 17:31:33.000000000 +0200
@@ -1,4 +1,4 @@
-From e54a63d9b564342f7b9c777a0a225d888fdf7716 Mon Sep 17 00:00:00 2001
+From 0c1e38643a275316ed01c40c085bec3f0d91af3d Mon Sep 17 00:00:00 2001
 From: Dinar Valeev <[email protected]>
 Date: Wed, 2 Oct 2013 17:56:03 +0200
 Subject: [PATCH] configure: Enable PIE for ppc and ppc64 hosts
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure b/configure
-index 47048f0..35fbdb5 100755
+index 6969f6f..b43b371 100755
 --- a/configure
 +++ b/configure
-@@ -1544,7 +1544,7 @@ fi
+@@ -1551,7 +1551,7 @@ fi
  
  if test "$pie" = ""; then
    case "$cpu-$targetos" in

++++++ 0036-qtest-Increase-socket-timeout.patch -> 
0035-qtest-Increase-socket-timeout.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0036-qtest-Increase-socket-timeout.patch    
2015-02-14 13:53:03.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.qemu.new/0035-qtest-Increase-socket-timeout.patch   
    2015-05-02 17:31:33.000000000 +0200
@@ -1,4 +1,4 @@
-From 2d6b36cbf59e2f8e84889c2d52815191992bf421 Mon Sep 17 00:00:00 2001
+From 93d5e4be4758d956a6f9751c468432a105cc5084 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <[email protected]>
 Date: Thu, 17 Apr 2014 18:39:10 +0200
 Subject: [PATCH] qtest: Increase socket timeout
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/tests/libqtest.c b/tests/libqtest.c
-index 9a92aa7..81ade4e 100644
+index 12d65bd..2931773 100644
 --- a/tests/libqtest.c
 +++ b/tests/libqtest.c
 @@ -35,7 +35,7 @@

++++++ 0037-AIO-Reduce-number-of-threads-for-32.patch -> 
0036-AIO-Reduce-number-of-threads-for-32.patch ++++++
--- 
/work/SRC/openSUSE:Factory/qemu/0037-AIO-Reduce-number-of-threads-for-32.patch  
    2015-02-14 13:53:03.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.qemu.new/0036-AIO-Reduce-number-of-threads-for-32.patch
 2015-05-02 17:31:33.000000000 +0200
@@ -1,4 +1,4 @@
-From c464e8e38da71cbc136ea2cf6fbf5bddfc25e7d5 Mon Sep 17 00:00:00 2001
+From 93385f479c5d050d6361d6835a2da091555b380a Mon Sep 17 00:00:00 2001
 From: Alexander Graf <[email protected]>
 Date: Wed, 14 Jan 2015 01:32:11 +0100
 Subject: [PATCH] AIO: Reduce number of threads for 32bit hosts

++++++ 0037-linux-user-Allocate-thunk-size-dyna.patch ++++++
>From cead420737c71cbf46775b02815ff1ef7f7ee257 Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Tue, 14 Apr 2015 17:12:29 +0200
Subject: [PATCH] linux-user: Allocate thunk size dynamically

We store all struct types in an array of static size without ever
checking whether we overrun it. Of course some day someone (like me
in another, ancient ALSA enabling patch set) will run into the limit
without realizing it.

So let's make the allocation dynamic. We already know the number of
structs that we want to allocate, so we only need to pass the variable
into the respective piece of code.

Also, to ensure we don't accidently overwrite random memory, add some
asserts to sanity check whether a thunk is actually part of our array.

Signed-off-by: Alexander Graf <[email protected]>
---
 include/exec/user/thunk.h |  4 +++-
 linux-user/syscall.c      |  3 +++
 thunk.c                   | 16 ++++++++++++----
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h
index 6c35e64..f26c7f4 100644
--- a/include/exec/user/thunk.h
+++ b/include/exec/user/thunk.h
@@ -75,7 +75,7 @@ const argtype *thunk_convert(void *dst, const void *src,
                              const argtype *type_ptr, int to_host);
 #ifndef NO_THUNK_TYPE_SIZE
 
-extern StructEntry struct_entries[];
+extern StructEntry *struct_entries;
 
 int thunk_type_size_array(const argtype *type_ptr, int is_host);
 int thunk_type_align_array(const argtype *type_ptr, int is_host);
@@ -189,4 +189,6 @@ unsigned int target_to_host_bitmask(unsigned int x86_mask,
 unsigned int host_to_target_bitmask(unsigned int alpha_mask,
                                     const bitmask_transtbl * trans_tbl);
 
+void thunk_init(unsigned int max_structs);
+
 #endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 4917e20..49c0659 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3277,6 +3277,7 @@ static abi_long do_ipc(unsigned int call, abi_long first,
 #define STRUCT_SPECIAL(name) STRUCT_ ## name,
 enum {
 #include "syscall_types.h"
+STRUCT_MAX
 };
 #undef STRUCT
 #undef STRUCT_SPECIAL
@@ -4911,6 +4912,8 @@ void syscall_init(void)
     int size;
     int i;
 
+    thunk_init(STRUCT_MAX);
+
 #define STRUCT(name, ...) thunk_register_struct(STRUCT_ ## name, #name, 
struct_ ## name ## _def);
 #define STRUCT_SPECIAL(name) thunk_register_struct_direct(STRUCT_ ## name, 
#name, &struct_ ## name ## _def);
 #include "syscall_types.h"
diff --git a/thunk.c b/thunk.c
index c6a78ca..8bb46d0 100644
--- a/thunk.c
+++ b/thunk.c
@@ -25,10 +25,8 @@
 
 //#define DEBUG
 
-#define MAX_STRUCTS 128
-
-/* XXX: make it dynamic */
-StructEntry struct_entries[MAX_STRUCTS];
+static unsigned int max_struct_entries;
+StructEntry *struct_entries;
 
 static const argtype *thunk_type_next_ptr(const argtype *type_ptr);
 
@@ -71,6 +69,7 @@ void thunk_register_struct(int id, const char *name, const 
argtype *types)
     StructEntry *se;
     int nb_fields, offset, max_align, align, size, i, j;
 
+    assert(id < max_struct_entries);
     se = struct_entries + id;
 
     /* first we count the number of fields */
@@ -118,6 +117,8 @@ void thunk_register_struct_direct(int id, const char *name,
                                   const StructEntry *se1)
 {
     StructEntry *se;
+
+    assert(id < max_struct_entries);
     se = struct_entries + id;
     *se = *se1;
     se->name = name;
@@ -265,6 +266,7 @@ const argtype *thunk_convert(void *dst, const void *src,
             const argtype *field_types;
             const int *dst_offsets, *src_offsets;
 
+            assert(*type_ptr < max_struct_entries);
             se = struct_entries + *type_ptr++;
             if (se->convert[0] != NULL) {
                 /* specific conversion is needed */
@@ -335,3 +337,9 @@ int thunk_type_align_array(const argtype *type_ptr, int 
is_host)
     return thunk_type_align(type_ptr, is_host);
 }
 #endif /* ndef NO_THUNK_TYPE_SIZE */
+
+void thunk_init(unsigned int max_structs)
+{
+    max_struct_entries = max_structs;
+    struct_entries = g_new(StructEntry, max_structs);
+}
++++++ 0038-Revert-Revert-seccomp-tests-that-al.patch ++++++
>From 0cf7218bdc4ee50a2554db9074c3366a09ca16ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <[email protected]>
Date: Tue, 14 Apr 2015 18:42:06 +0200
Subject: [PATCH] Revert "Revert seccomp tests that allow it to be used on
 non-x86 architectures"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This reverts commit ae6e8ef11e6cb43ec83a5846e8f3b266834cf280.

Our Factory libseccomp is patched to support ppc, ppc64, armv7l and soon
ppc64le.

Signed-off-by: Andreas Färber <[email protected]>
---
 configure | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index b43b371..7f31e89 100755
--- a/configure
+++ b/configure
@@ -1848,14 +1848,19 @@ fi
 # libseccomp check
 
 if test "$seccomp" != "no" ; then
-    if test "$cpu" = "i386" || test "$cpu" = "x86_64" &&
-        $pkg_config --atleast-version=2.1.1 libseccomp; then
+    if $pkg_config --atleast-version=2.2.0 libseccomp ||
+        (test "$cpu" = "i386" || test "$cpu" = "x86_64" &&
+        $pkg_config --atleast-version=2.1.1 libseccomp); then
         libs_softmmu="$libs_softmmu `$pkg_config --libs libseccomp`"
         QEMU_CFLAGS="$QEMU_CFLAGS `$pkg_config --cflags libseccomp`"
        seccomp="yes"
     else
        if test "$seccomp" = "yes"; then
+        if test "$cpu" = "i386" || test "$cpu" = "x86_64"; then
             feature_not_found "libseccomp" "Install libseccomp devel >= 2.1.1"
+        else
+            feature_not_found "libseccomp" "Install libseccomp devel >= 2.2.0"
+        fi
        fi
        seccomp="no"
     fi
++++++ 0039-s390x-Fix-stoc-direction.patch ++++++
>From a8187b81c7ac84123ac4e4fb78d9219473fae1fa Mon Sep 17 00:00:00 2001
From: Alexander Graf <[email protected]>
Date: Wed, 15 Apr 2015 02:28:05 +0200
Subject: [PATCH] s390x: Fix stoc direction

The store conditional instruction wants to store when the condition
is fulfilled, so we should branch out when it's not true.

The code today branches out when the condition is true, clearly
reversing the logic. Fix it up by negating the condition.

Signed-off-by: Alexander Graf <[email protected]>
---
 target-s390x/translate.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 4f82edd..8ae4912 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -3082,6 +3082,10 @@ static ExitStatus op_soc(DisasContext *s, DisasOps *o)
 
     disas_jcc(s, &c, get_field(s->fields, m3));
 
+    /* We want to store when the condition is fulfilled, so branch
+       out when it's not */
+    c.cond = tcg_invert_cond(c.cond);
+
     lab = gen_new_label();
     if (c.is_64) {
         tcg_gen_brcond_i64(c.cond, c.u.s64.a, c.u.s64.b, lab);
++++++ libcacard.spec.in ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -23,7 +23,7 @@
 Group:          System/Emulators/PC
 QEMU_VERSION
 Release:        0
-Source:         http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
+Source:         http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2
 # This patch queue is auto-generated from https://github.com/openSUSE/qemu
 PATCH_FILES
 # Please do not add patches manually here, run update_git.sh.
@@ -84,7 +84,7 @@
 This sub-package contains development files for the Smartcard library.
 
 %prep
-%setup -q -n qemu-%{version}
+%setup -q -n qemu-2.3.0
 PATCH_EXEC
 
 %build

++++++ pre_checkin.sh ++++++
#!/bin/sh

cp qemu.changes qemu-testsuite.changes

if [ "$1" != "-q" ]; then
  echo "Note that the patch queue needs to be regenerated via update_git.sh"
  echo "before running $0."
fi
++++++ qemu-2.2.0.tar.bz2 -> qemu-2.3.0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/qemu/qemu-2.2.0.tar.bz2 
/work/SRC/openSUSE:Factory/.qemu.new/qemu-2.3.0.tar.bz2 differ: char 11, line 1


++++++ qemu-linux-user.spec.in ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -23,7 +23,7 @@
 Group:          System/Emulators/PC
 QEMU_VERSION
 Release:        0
-Source:         http://wiki.qemu.org/download/qemu-2.2.0.tar.bz2
+Source:         http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2
 # This patch queue is auto-generated from https://github.com/openSUSE/qemu
 PATCH_FILES
 # Please do not add patches manually here, run update_git.sh.
@@ -78,7 +78,7 @@
 run cross-architecture builds.
 
 %prep
-%setup -q -n qemu-2.2.0
+%setup -q -n qemu-2.3.0
 PATCH_EXEC
 
 %build

++++++ qemu.spec.in ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -18,7 +18,7 @@
 
 %ifarch %ix86 x86_64
 # choice of building all from source or using provided binary x86 blobs
-%if 0%{?suse_version} >= 1140
+%if 0%{?suse_version} >= 1310
 %define build_x86_fw_from_source 1
 %else
 %define build_x86_fw_from_source 0
@@ -45,8 +45,8 @@
 Group:          System/Emulators/PC
 QEMU_VERSION
 Release:        0
-Source:         http://wiki.qemu.org/download/%name-2.2.0.tar.bz2
-Source99:       http://wiki.qemu.org/download/%name-2.2.0.tar.bz2.sig
+Source:         http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2
+Source99:       http://wiki.qemu.org/download/qemu-2.3.0.tar.bz2.sig
 Source1:        80-kvm.rules
 Source2:        qemu-ifup
 Source3:        kvm_stat
@@ -54,9 +54,20 @@
 Source5:        60-kvm.rules
 Source6:        ksm.service
 Source7:        60-kvm.x86.rules
+# Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch
 # This patch queue is auto-generated from https://github.com/openSUSE/qemu
 PATCH_FILES
-# Please do not add patches manually here, run update_git.sh.
+# Please do not add QEMU patches manually here.
+# Run update_git.sh to regenerate this queue.
+
+# SeaBIOS
+%if %{build_x86_fw_from_source}
+# PATCH-FIX-OPENSUSE seabios_128kb.patch [email protected] -- make it fit
+Patch1000:      seabios_128kb.patch
+# PATCH-FIX-UPSTREAM seabios_checkrom_typo.patch [email protected] -- tidy 
error message
+Patch1001:      seabios_checkrom_typo.patch
+Patch1002:      seabios_avoid_smbios_signature_string.patch
+%endif
 
 # this is to make lint happy
 Source300:      qemu-rpmlintrc
@@ -78,6 +89,9 @@
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+BuildRequires:  glusterfs-devel
+%endif
 %if 0%{?suse_version} >= 1220
 BuildRequires:  gtk3-devel
 %else
@@ -86,6 +100,7 @@
 BuildRequires:  libaio
 BuildRequires:  libaio-devel
 BuildRequires:  libattr-devel
+BuildRequires:  libbz2-devel
 BuildRequires:  libcap-devel
 BuildRequires:  libcap-ng-devel
 %if 0%{?suse_version} >= 1310
@@ -97,6 +112,15 @@
 BuildRequires:  libibverbs-devel
 %endif
 BuildRequires:  libjpeg-devel
+%ifarch %ix86 aarch64
+%if 0%{?suse_version} > 1320
+BuildRequires:  libnuma-devel
+%endif
+%else
+%ifnarch %arm
+BuildRequires:  libnuma-devel
+%endif
+%endif
 BuildRequires:  libpcap-devel
 BuildRequires:  libpixman-1-0-devel
 BuildRequires:  libpng-devel
@@ -104,18 +128,31 @@
 %if 0%{?suse_version} >= 1315
 BuildRequires:  librdmacm-devel
 %endif
+%ifnarch ppc64le
+%if 0%{?suse_version} > 1320
+BuildRequires:  libseccomp-devel
+%endif
+%endif
+%if 0%{?suse_version} > 1140
+BuildRequires:  libssh2-devel
+%endif
 BuildRequires:  libtool
 %if 0%{?suse_version} > 1310
 BuildRequires:  libusb-devel
 %endif
 BuildRequires:  libvdeplug3-devel
+BuildRequires:  lzo-devel
 %if 0%{?suse_version} > 1220
 BuildRequires:  makeinfo
 %endif
 BuildRequires:  mozilla-nss-devel
 BuildRequires:  ncurses-devel
+BuildRequires:  pkgconfig
 BuildRequires:  pwdutils
 BuildRequires:  python
+%if 0%{?suse_version} >= 1310
+BuildRequires:  snappy-devel
+%endif
 %if 0%{?suse_version} >= 1210
 BuildRequires:  systemd
 %{?systemd_requires}
@@ -149,6 +186,15 @@
 BuildRequires:  spice-protocol-devel
 %endif
 %endif
+%if "%{name}" == "qemu-testsuite"
+BuildRequires:  bc
+BuildRequires:  qemu-arm   = %version
+BuildRequires:  qemu-extra = %version
+BuildRequires:  qemu-ppc   = %version
+BuildRequires:  qemu-s390  = %version
+BuildRequires:  qemu-tools = %version
+BuildRequires:  qemu-x86   = %version
+%endif
 Requires:       /usr/sbin/groupadd
 Requires:       pwdutils
 Requires:       timezone
@@ -189,6 +235,8 @@
 system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
 as PC and PowerMac systems.
 
+%if "%{name}" != "qemu-testsuite"
+
 %package x86
 Summary:        Universal CPU emulator -- x86
 Group:          System/Emulators/PC
@@ -300,15 +348,22 @@
 
 This sub-package contains translations.
 
+# Modules need to match {qemu-system-*,qemu-img} version.
+# We cannot have qemu and qemu-tools require them in the right version,
+# as that would drag in the dependencies the modules are supposed to avoid.
+# Nor can we have modules require the right version of qemu and qemu-tools
+# as Xen reuses our qemu-tools but does not want our qemu and qemu-x86.
+%define qemu_module_conflicts \
+Conflicts:      qemu < %version \
+Conflicts:      qemu > %version \
+Conflicts:      qemu-tools < %version \
+Conflicts:      qemu-tools > %version
+
 %package block-curl
 Summary:        Universal CPU emulator -- cURL block support
 Group:          System/Emulators/PC
 Provides:       qemu:%_libdir/%name/block-curl.so
-# Needs to match {qemu-system-*,qemu-img} >= 2.0.0, but is optional.
-Conflicts:      qemu < %version
-Conflicts:      qemu > %version
-Conflicts:      qemu-tools < %version
-Conflicts:      qemu-tools > %version
+%{qemu_module_conflicts}
 
 %description block-curl
 QEMU is an extremely well-performing CPU emulator that allows you to
@@ -320,6 +375,40 @@
 This sub-package contains a module for accessing network-based image files
 over a network connection from qemu-img tool and QEMU system emulation.
 
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+%package block-gluster
+Summary:        Universal CPU emulator -- GlusterFS block support
+Group:          System/Emulators/PC
+%{qemu_module_conflicts}
+
+%description block-gluster
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains a module for accessing network-based image files
+over a GlusterFS network connection from qemu-img tool and QEMU system 
emulation.
+%endif
+
+%if 0%{?suse_version} > 1140
+%package block-ssh
+Summary:        Universal CPU emulator -- SSH block support
+Group:          System/Emulators/PC
+%{qemu_module_conflicts}
+
+%description block-ssh
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains a module for accessing network-based image files
+over an SSH network connection from qemu-img tool and QEMU system emulation.
+%endif
+
 %package tools
 Summary:        Universal CPU emulator -- Tools
 Group:          System/Emulators/PC
@@ -424,11 +513,19 @@
 This package provides a service file for starting and stopping KSM.
 %endif
 
+%endif # !qemu-testsuite
+
 %prep
-%setup -q -n %name-2.2.0
+%setup -q -n qemu-2.3.0
 PATCH_EXEC
 
 %if %{build_x86_fw_from_source}
+pushd roms/seabios
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
+popd
+
 # as a safeguard, delete the firmware files that we intend to build
 for i in %built_firmware_files
 do
@@ -445,30 +542,95 @@
        --disable-strip \
        --enable-system --disable-linux-user \
        --enable-tools --enable-guest-agent \
+       --enable-modules \
        --enable-pie \
        --enable-docs \
        --audio-drv-list="pa alsa sdl oss" \
+       --disable-archipelago \
+       --enable-attr \
+       --enable-bluez \
 %if 0%{?suse_version} >= 1130
-        --enable-brlapi \
+       --enable-brlapi \
+%else
+       --disable-brlapi \
 %endif
+       --enable-bzip2 \
        --enable-cap-ng \
        --enable-curl \
        --enable-curses \
+       --enable-fdt \
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+       --enable-glusterfs \
+%else
+       --disable-glusterfs \
+%endif
        --enable-gtk \
 %if 0%{?suse_version} >= 1220
        --with-gtkabi=3.0 \
+%else
+       --with-gtkabi=2.0 \
 %endif
 %if %{kvm_available}
        --enable-kvm \
+%else
+       --disable-kvm \
+%endif
+       --disable-libiscsi \
+       --disable-libnfs \
+%if 0%{?suse_version} > 1140
+       --enable-libssh2 \
+%else
+       --disable-libssh2 \
+%endif
+%if 0%{?suse_version} > 1310
+       --enable-libusb \
+%else
+       --disable-libusb \
 %endif
        --enable-linux-aio \
-       --enable-modules \
+       --enable-lzo \
+       --disable-netmap \
+%ifarch %ix86 aarch64
+%if 0%{?suse_version} > 1320
+       --enable-numa \
+%else
+       --disable-numa \
+%endif
+%else
+%ifarch %arm
+       --disable-numa \
+%else
+       --enable-numa \
+%endif
+%endif
+%if 0%{?suse_version} >= 1310
+       --enable-quorum \
+%else
+       --disable-quorum \
+%endif
+       --disable-rbd \
 %if 0%{?suse_version} >= 1315
        --enable-rdma \
+%else
+       --disable-rdma \
 %endif
        --enable-sdl \
        --with-sdlabi=1.2 \
+%ifnarch ppc64le
+%if 0%{?suse_version} > 1320
+       --enable-seccomp \
+%else
+       --disable-seccomp \
+%endif
+%else
+       --disable-seccomp \
+%endif
        --enable-smartcard-nss \
+%if 0%{?suse_version} >= 1310
+       --enable-snappy \
+%else
+       --disable-snappy \
+%endif
 %if 0%{?suse_version} >= 1140
 %ifarch %ix86 x86_64
        --enable-spice \
@@ -478,15 +640,19 @@
 %else
        --disable-spice \
 %endif
-%if 0%{?suse_version} > 1310
-       --enable-libusb \
-%endif
+       --enable-tpm \
+       --enable-trace-backends=nop \
 %if 0%{?sles_version} != 11
        --enable-usb-redir \
+%else
+       --disable-usb-redir \
 %endif
+       --enable-uuid \
        --enable-vde \
+       --enable-vhdx \
+       --enable-vhost-net \
        --enable-virtfs \
-       --enable-virtio-blk-data-plane \
+       --enable-vnc \
        --enable-vnc-jpeg \
        --enable-vnc-png \
        --enable-vnc-sasl \
@@ -494,8 +660,13 @@
        --enable-vnc-ws \
 %ifarch x86_64
        --enable-xen \
+       --enable-xen-pci-passthrough \
+%else
+       --disable-xen \
 %endif
 
+%if "%{name}" != "qemu-testsuite"
+
 make %{?_smp_mflags} V=1
 
 # Firmware
@@ -509,10 +680,41 @@
 cp pc-bios/s390-ccw/s390-ccw.img pc-bios/s390-ccw.img
 %endif
 
+%else # qemu-testsuite
+for conf in default-configs/*-softmmu.mak; do
+  arch=`echo "$conf" | sed -e 's|default-configs/\(.*\)-softmmu.mak|\1|g'`
+  ln -s %{_bindir}/qemu-system-$arch $arch-softmmu/qemu-system-$arch
+done
+%endif
+
 %check
-make check V=1
+%if "%{name}" == "qemu-testsuite"
+%if 0%{?suse_version} >= 1310
+make check-report.html V=1
+install -D -m 644 check-report.html 
%{buildroot}%{_datadir}/qemu/check-report.html
+%else
+make check-report.xml V=1
+%endif
+install -D -m 644 check-report.xml 
%{buildroot}%{_datadir}/qemu/check-report.xml
+%ifnarch %ix86 x64_64
+export QEMU_PROG=%{_bindir}/qemu-system-x86_64
+%endif
+export QEMU_IMG_PROG=%{_bindir}/qemu-img
+export QEMU_IO_PROG=%{_bindir}/qemu-io
+export QEMU_NBD_PROG=%{_bindir}/qemu-nbd
+# make check-block would rebuild qemu-img and qemu-io
+make tests/qemu-iotests/socket_scm_helper V=1
+pushd tests/qemu-iotests
+# -qcow 001 seems to hang?
+# TODO investigate hangs and failures
+#for fmt in -raw -bochs -cloop -parallels -qcow2 -qed -vdi -vpc -vhdx -vmdk; do
+#  ./check -v -T $fmt -file -g quick || true
+#done
+popd
+%endif
 
 %install
+%if "%{name}" != "qemu-testsuite"
 make install DESTDIR=$RPM_BUILD_ROOT
 rm -fr $RPM_BUILD_ROOT/%_datadir/doc
 rm $RPM_BUILD_ROOT/%_libdir/libcacard*
@@ -554,6 +756,9 @@
 %endif
 install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
 %fdupes -s $RPM_BUILD_ROOT
+%endif
+
+%if "%{name}" != "qemu-testsuite"
 
 %pre
 %{_bindir}/getent group kvm >/dev/null || %{_sbindir}/groupadd -r kvm 
2>/dev/null
@@ -599,9 +804,11 @@
 %service_del_postun ksm.service
 %endif
 
+%endif # !qemu-testsuite
+
 %files
 %defattr(-, root, root)
-%dir %_libdir/%name
+%if "%{name}" != "qemu-testsuite"
 %doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
 %doc %_mandir/man1/qemu.1.gz
 %dir %_datadir/%name
@@ -610,6 +817,7 @@
 %_datadir/%name/qemu-icon.bmp
 %_datadir/%name/qemu_logo_no_text.svg
 %dir %_sysconfdir/%name
+%dir %_libdir/%name
 %if %{kvm_available}
 %if 0%{?suse_version} >= 1230
 %{_udevrulesdir}/80-kvm.rules
@@ -691,9 +899,20 @@
 
 %files block-curl
 %defattr(-, root, root)
-%dir %_libdir/%name
 %_libdir/%name/block-curl.so
 
+%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315
+%files block-gluster
+%defattr(-, root, root)
+%_libdir/%name/block-gluster.so
+%endif
+
+%if 0%{?suse_version} > 1140
+%files block-ssh
+%defattr(-, root, root)
+%_libdir/%name/block-ssh.so
+%endif
+
 %files lang -f %name.lang
 %defattr(-, root, root)
 
@@ -746,6 +965,7 @@
 %verify(not mode) %_libexecdir/qemu-bridge-helper
 %dir %_sysconfdir/%name
 %config %_sysconfdir/%name/bridge.conf
+%dir %_libdir/%name
 
 %files guest-agent
 %defattr(-, root, root)
@@ -757,4 +977,11 @@
 %{_unitdir}/ksm.service
 %endif
 
+%else # qemu-testsuite
+%doc %_datadir/qemu/check-report.xml
+%if 0%{?suse_version} >= 1310
+%doc %_datadir/qemu/check-report.html
+%endif
+%endif
+
 %changelog

++++++ seabios_128kb.patch ++++++
>From 5fff5f1e79d8bc7ef24d1f8ff42c8021215f23a6 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <[email protected]>
Date: Thu, 19 Mar 2015 16:34:31 -0600
Subject: [PATCH] Eliminate some duplicate string segments to reduce bios image
 size

In some build environments, we are running up against the 128K bios
size limit. This change simply takes larger string segments which are
used in printf style messages and uses a single copy, now referenced
with a %s specifier, resulting in the needed space savings.

Signed-off-by: Bruce Rogers <[email protected]>
---
 src/boot.c        | 20 +++++++++++---------
 src/bootsplash.c  |  5 +++--
 src/fw/paravirt.c |  8 +++++---
 src/fw/pciinit.c  | 19 ++++++++++---------
 src/hw/usb-hub.c  |  9 +++++----
 src/hw/usb-msc.c  |  6 ++++--
 6 files changed, 38 insertions(+), 29 deletions(-)

diff --git a/src/boot.c b/src/boot.c
index d6b1fb7..de37041 100644
--- a/src/boot.c
+++ b/src/boot.c
@@ -25,6 +25,8 @@
  * Boot priority ordering
  ****************************************************************/
 
+static const char *no_boot_dev_str = "No bootable device.";
+static const char *boot_str = "Booting from ";
 static char **Bootorder VARVERIFY32INIT;
 static int BootorderCount;
 
@@ -587,7 +589,7 @@ bcv_prepboot(void)
 static void
 call_boot_entry(struct segoff_s bootsegip, u8 bootdrv)
 {
-    dprintf(1, "Booting from %04x:%04x\n", bootsegip.seg, bootsegip.offset);
+    dprintf(1, "%s%04x:%04x\n", boot_str, bootsegip.seg, bootsegip.offset);
     struct bregs br;
     memset(&br, 0, sizeof(br));
     br.flags = F_IF;
@@ -641,7 +643,7 @@ boot_cdrom(struct drive_s *drive_g)
 {
     if (! CONFIG_CDROM_BOOT)
         return;
-    printf("Booting from DVD/CD...\n");
+    printf("%sDVD/CD...\n", boot_str);
 
     int status = cdrom_boot(drive_g);
     if (status) {
@@ -664,7 +666,7 @@ boot_cbfs(struct cbfs_file *file)
 {
     if (!CONFIG_COREBOOT_FLASH)
         return;
-    printf("Booting from CBFS...\n");
+    printf("%sCBFS...\n", boot_str);
     cbfs_run_payload(file);
 }
 
@@ -672,7 +674,7 @@ boot_cbfs(struct cbfs_file *file)
 static void
 boot_rom(u32 vector)
 {
-    printf("Booting from ROM...\n");
+    printf("%sROM...\n", boot_str);
     struct segoff_s so;
     so.segoff = vector;
     call_boot_entry(so, 0);
@@ -683,10 +685,10 @@ static void
 boot_fail(void)
 {
     if (BootRetryTime == (u32)-1)
-        printf("No bootable device.\n");
+        printf("%s\n", no_boot_dev_str);
     else
-        printf("No bootable device.  Retrying in %d seconds.\n"
-               , BootRetryTime/1000);
+        printf("%s  Retrying in %d seconds.\n", no_boot_dev_str,
+               BootRetryTime/1000);
     // Wait for 'BootRetryTime' milliseconds and then reboot.
     u32 end = irqtimer_calc(BootRetryTime);
     for (;;) {
@@ -712,11 +714,11 @@ do_boot(int seq_nr)
     struct bev_s *ie = &BEV[seq_nr];
     switch (ie->type) {
     case IPL_TYPE_FLOPPY:
-        printf("Booting from Floppy...\n");
+        printf("%sFloppy...\n", boot_str);
         boot_disk(0x00, CheckFloppySig);
         break;
     case IPL_TYPE_HARDDISK:
-        printf("Booting from Hard Disk...\n");
+        printf("%sHard Disk...\n", boot_str);
         boot_disk(0x80, 1);
         break;
     case IPL_TYPE_CDROM:
diff --git a/src/bootsplash.c b/src/bootsplash.c
index c572685..e28d264 100644
--- a/src/bootsplash.c
+++ b/src/bootsplash.c
@@ -16,6 +16,7 @@
 #include "string.h" // memset
 #include "util.h" // enable_bootsplash
 
+static const char *decode_failed_str = "_decode failed with return code ";
 
 /****************************************************************
  * Helper functions
@@ -154,7 +155,7 @@ enable_bootsplash(void)
         dprintf(5, "Decoding bootsplash.jpg\n");
         ret = jpeg_decode(jpeg, filedata);
         if (ret) {
-            dprintf(1, "jpeg_decode failed with return code %d...\n", ret);
+            dprintf(1, "jpeg%s%d...\n", decode_failed_str, ret);
             goto done;
         }
         jpeg_get_size(jpeg, &width, &height);
@@ -168,7 +169,7 @@ enable_bootsplash(void)
         dprintf(5, "Decoding bootsplash.bmp\n");
         ret = bmp_decode(bmp, filedata, filesize);
         if (ret) {
-            dprintf(1, "bmp_decode failed with return code %d...\n", ret);
+            dprintf(1, "bmp%s%d...\n", decode_failed_str, ret);
             goto done;
         }
         bmp_get_size(bmp, &width, &height);
diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
index db22ae8..868435a 100644
--- a/src/fw/paravirt.c
+++ b/src/fw/paravirt.c
@@ -36,6 +36,8 @@ int PlatformRunningOn VARFSEG;
  */
 #define KVM_CPUID_SIGNATURE     0x40000000
 
+static const char *running_on_qemu_str = "Running on QEMU (";
+
 static void kvm_detect(void)
 {
     unsigned int eax, ebx, ecx, edx;
@@ -73,13 +75,13 @@ static void qemu_detect(void)
     PlatformRunningOn |= PF_QEMU;
     switch (d) {
     case 0x1237:
-        dprintf(1, "Running on QEMU (i440fx)\n");
+        dprintf(1, "%si440fx)\n", running_on_qemu_str);
         break;
     case 0x29c0:
-        dprintf(1, "Running on QEMU (q35)\n");
+        dprintf(1, "%sq35)\n", running_on_qemu_str);
         break;
     default:
-        dprintf(1, "Running on QEMU (unknown nb: %04x:%04x)\n", v, d);
+        dprintf(1, "%sunknown nb: %04x:%04x)\n", running_on_qemu_str, v, d);
         break;
     }
     kvm_detect();
diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
index ac39d23..63018e4 100644
--- a/src/fw/pciinit.c
+++ b/src/fw/pciinit.c
@@ -27,6 +27,10 @@
 #define PCI_BRIDGE_MEM_MIN    (1<<21)  // 2M == hugepage size
 #define PCI_BRIDGE_IO_MIN      0x1000  // mandated by pci bridge spec
 
+static const char *pri_bus_str = "PCI: primary bus = ";
+static const char *sec_bus_str = "PCI: secondary bus = ";
+static const char *sub_bus_str = "PCI: subordinate bus = ";
+
 static const char *region_type_name[] = {
     [ PCI_REGION_TYPE_IO ]      = "io",
     [ PCI_REGION_TYPE_MEM ]     = "mem",
@@ -425,7 +429,6 @@ static void pci_bios_init_platform(void)
     }
 }
 
-
 /****************************************************************
  * Bus initialization
  ****************************************************************/
@@ -456,21 +459,20 @@ pci_bios_init_bus_rec(int bus, u8 *pci_bus)
 
         u8 pribus = pci_config_readb(bdf, PCI_PRIMARY_BUS);
         if (pribus != bus) {
-            dprintf(1, "PCI: primary bus = 0x%x -> 0x%x\n", pribus, bus);
+            dprintf(1, "%s0x%x -> 0x%x\n", pri_bus_str, pribus, bus);
             pci_config_writeb(bdf, PCI_PRIMARY_BUS, bus);
         } else {
-            dprintf(1, "PCI: primary bus = 0x%x\n", pribus);
+            dprintf(1, "%s0x%x\n", pri_bus_str, pribus);
         }
 
         u8 secbus = pci_config_readb(bdf, PCI_SECONDARY_BUS);
         (*pci_bus)++;
         if (*pci_bus != secbus) {
-            dprintf(1, "PCI: secondary bus = 0x%x -> 0x%x\n",
-                    secbus, *pci_bus);
+            dprintf(1, "%s0x%x -> 0x%x\n", sec_bus_str, secbus, *pci_bus);
             secbus = *pci_bus;
             pci_config_writeb(bdf, PCI_SECONDARY_BUS, secbus);
         } else {
-            dprintf(1, "PCI: secondary bus = 0x%x\n", secbus);
+            dprintf(1, "%s0x%x\n", sec_bus_str, secbus);
         }
 
         /* set to max for access to all subordinate buses.
@@ -481,11 +483,10 @@ pci_bios_init_bus_rec(int bus, u8 *pci_bus)
         pci_bios_init_bus_rec(secbus, pci_bus);
 
         if (subbus != *pci_bus) {
-            dprintf(1, "PCI: subordinate bus = 0x%x -> 0x%x\n",
-                    subbus, *pci_bus);
+            dprintf(1, "%s0x%x -> 0x%x\n", sub_bus_str, subbus, *pci_bus);
             subbus = *pci_bus;
         } else {
-            dprintf(1, "PCI: subordinate bus = 0x%x\n", subbus);
+            dprintf(1, "%s0x%x\n", sub_bus_str, subbus);
         }
         pci_config_writeb(bdf, PCI_SUBORDINATE_BUS, subbus);
     }
diff --git a/src/hw/usb-hub.c b/src/hw/usb-hub.c
index 54e341b..337385d 100644
--- a/src/hw/usb-hub.c
+++ b/src/hw/usb-hub.c
@@ -11,6 +11,8 @@
 #include "usb-hub.h" // struct usb_hub_descriptor
 #include "util.h" // timer_calc
 
+static const char *port_hub_fail_str = "Failure on hub port ";
+
 static int
 get_hub_desc(struct usb_pipe *pipe, struct usb_hub_descriptor *desc)
 {
@@ -82,7 +84,6 @@ get_port_status(struct usbhub_s *hub, int port, struct 
usb_port_status *sts)
     mutex_unlock(&hub->lock);
     return ret;
 }
-
 // Check if device attached to port
 static int
 usb_hub_detect(struct usbhub_s *hub, u32 port)
@@ -90,7 +91,7 @@ usb_hub_detect(struct usbhub_s *hub, u32 port)
     struct usb_port_status sts;
     int ret = get_port_status(hub, port, &sts);
     if (ret) {
-        dprintf(1, "Failure on hub port %d detect\n", port);
+        dprintf(1, "%s%d detect\n", port_hub_fail_str, port);
         return -1;
     }
     return (sts.wPortStatus & USB_PORT_STAT_CONNECTION) ? 1 : 0;
@@ -102,7 +103,7 @@ usb_hub_disconnect(struct usbhub_s *hub, u32 port)
 {
     int ret = clear_port_feature(hub, port, USB_PORT_FEAT_ENABLE);
     if (ret)
-        dprintf(1, "Failure on hub port %d disconnect\n", port);
+        dprintf(1, "%s%d disconnect\n", port_hub_fail_str, port);
 }
 
 // Reset device on port
@@ -142,7 +143,7 @@ usb_hub_reset(struct usbhub_s *hub, u32 port)
             >> USB_PORT_STAT_SPEED_SHIFT);
 
 fail:
-    dprintf(1, "Failure on hub port %d reset\n", port);
+    dprintf(1, "%s%d reset\n", port_hub_fail_str, port);
     usb_hub_disconnect(hub, port);
     return -1;
 }
diff --git a/src/hw/usb-msc.c b/src/hw/usb-msc.c
index d90319f..9c6b3e2 100644
--- a/src/hw/usb-msc.c
+++ b/src/hw/usb-msc.c
@@ -50,6 +50,8 @@ struct csw_s {
     u8 bCSWStatus;
 } PACKED;
 
+static const char *cant_config_str = "Unable to configure USB MSC ";
+
 static int
 usb_msc_send(struct usbdrive_s *udrive_gf, int dir, void *buf, u32 bytes)
 {
@@ -158,7 +160,7 @@ usb_msc_lun_setup(struct usb_pipe *inpipe, struct usb_pipe 
*outpipe,
     int prio = bootprio_find_usb(usbdev, lun);
     int ret = scsi_drive_setup(&drive->drive, "USB MSC", prio);
     if (ret) {
-        dprintf(1, "Unable to configure USB MSC drive.\n");
+        dprintf(1, "%sdrive.\n", cant_config_str);
         free(drive);
         return -1;
     }
@@ -213,7 +215,7 @@ usb_msc_setup(struct usbdevice_s *usbdev)
 
     return 0;
 fail:
-    dprintf(1, "Unable to configure USB MSC device.\n");
+    dprintf(1, "%sdevice.\n", cant_config_str);
     usb_free_pipe(usbdev, inpipe);
     usb_free_pipe(usbdev, outpipe);
     return -1;
-- 
1.9.0

++++++ seabios_avoid_smbios_signature_string.patch ++++++
>From 9d3c06336ec443b6763c92f929013afcfce70c4a Mon Sep 17 00:00:00 2001
From: Kevin O'Connor <[email protected]>
Date: Thu, 9 Apr 2015 11:57:44 -0400
Subject: [PATCH] smbios: Use integer signature instead of string signature

Change the smbios structure to use a 4 byte u32 signature field
instead of a 4 byte character string field.  In practice, this allows
the compiler to place the signature in the initialize code segment and
thus makes it less likely the signature would be found in the
f-segment.  (If the smbios signature is found in the f-segment it can
confuse some table scans.)

Reviewed-by: Bruce Rogers <[email protected]>
Tested-by: Bruce Rogers <[email protected]>
Signed-off-by: Kevin O'Connor <[email protected]>
Signed-off-by: Andreas Färber <[email protected]>
---
 src/fw/biostables.c | 2 +-
 src/fw/smbios.c     | 2 +-
 src/std/smbios.h    | 4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 50a891b..450aca2 100644
--- a/src/fw/biostables.c
+++ b/src/fw/biostables.c
@@ -271,7 +271,7 @@ copy_smbios(void *pos)
     if (SMBiosAddr)
         return;
     struct smbios_entry_point *p = pos;
-    if (memcmp(p->anchor_string, "_SM_", 4))
+    if (p->signature != SMBIOS_SIGNATURE)
         return;
     if (checksum(pos, 0x10) != 0)
         return;
diff --git a/src/fw/smbios.c b/src/fw/smbios.c
index dba0541..f3b5ad9 100644
--- a/src/fw/smbios.c
+++ b/src/fw/smbios.c
@@ -37,7 +37,7 @@ smbios_entry_point_setup(u16 max_structure_size,
 
     struct smbios_entry_point ep;
     memset(&ep, 0, sizeof(ep));
-    memcpy(ep.anchor_string, "_SM_", 4);
+    ep.signature = SMBIOS_SIGNATURE;
     ep.length = 0x1f;
     ep.smbios_major_version = 2;
     ep.smbios_minor_version = 4;
diff --git a/src/std/smbios.h b/src/std/smbios.h
index 0513716..4ccf2ea 100644
--- a/src/std/smbios.h
+++ b/src/std/smbios.h
@@ -3,11 +3,13 @@
 
 #include "types.h" // u32
 
+#define SMBIOS_SIGNATURE 0x5f4d535f // "_SM_"
+
 /* SMBIOS entry point -- must be written to a 16-bit aligned address
    between 0xf0000 and 0xfffff.
  */
 struct smbios_entry_point {
-    char anchor_string[4];
+    u32 signature;
     u8 checksum;
     u8 length;
     u8 smbios_major_version;
-- 
2.1.4

++++++ seabios_checkrom_typo.patch ++++++
>From 6b0e2bd9d914f6421c015ec28d96cf069fb8015f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <[email protected]>
Date: Thu, 19 Mar 2015 17:13:00 +0100
Subject: [PATCH] checkrom: Fix typo in error message
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

increate -> increase

Reviewed-by: Alistair Francis <[email protected]>
Signed-off-by: Andreas Färber <[email protected]>
---
 scripts/checkrom.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/checkrom.py b/scripts/checkrom.py
index 377277d..aced5e2 100755
--- a/scripts/checkrom.py
+++ b/scripts/checkrom.py
@@ -39,7 +39,7 @@ def main():
                 finalsize = 256*1024
     if datasize > finalsize:
         print("Error!  ROM doesn't fit (%d > %d)" % (datasize, finalsize))
-        print("   You have to either increate the size (CONFIG_ROM_SIZE)")
+        print("   You have to either increase the size (CONFIG_ROM_SIZE)")
         print("   or turn off some features (such as hardware support not")
         print("   needed) to make it fit.  Trying a more recent gcc version")
         print("   might work too.")
-- 
2.1.4

++++++ update_git.sh ++++++
--- /var/tmp/diff_new_pack.VeHR0X/_old  2015-05-02 17:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.VeHR0X/_new  2015-05-02 17:31:36.000000000 +0200
@@ -11,8 +11,8 @@
 
 GIT_TREE=git://github.com/openSUSE/qemu.git
 GIT_LOCAL_TREE=~/git/qemu-opensuse
-GIT_BRANCH=opensuse-2.2
-GIT_UPSTREAM_TAG=v2.2.0
+GIT_BRANCH=opensuse-2.3
+GIT_UPSTREAM_TAG=v2.3.0
 GIT_DIR=/dev/shm/qemu-factory-git-dir
 CMP_DIR=/dev/shm/qemu-factory-cmp-dir
 
@@ -145,3 +145,8 @@
 )
 
 rm -rf $CMP_DIR
+
+sed -e 's|^\(Name:.*qemu\)|\1-testsuite|' < qemu.spec > qemu-testsuite.spec
+osc service localrun format_spec_file
+
+/bin/sh pre_checkin.sh -q


Reply via email to