rpms/qemu/devel qemu-disable-preadv.patch, NONE, 1.1 qemu-fix-arm-framebuffer-build.patch, NONE, 1.1 qemu-virtio-blk-boot-on.patch, NONE, 1.1 .cvsignore, 1.14, 1.15 qemu-fix-qcow2-corruption.patch, 1.2, 1.3 qemu.spec, 1.86, 1.87 sources, 1.14, 1.15 01-tls-handshake-fix.patch, 1.1, NONE 02-vnc-monitor-info.patch, 1.1, NONE 03-display-keymaps.patch, 1.1, NONE 04-vnc-struct.patch, 1.1, NONE 05-vnc-tls-vencrypt.patch, 1.1, NONE 06-vnc-sasl.patch, 1.1, NONE 07-vnc-monitor-authinfo.patch, 1.1, NONE 08-vnc-acl-mgmt.patch, 1.1, NONE make-release, 1.1, NONE qemu-fix-debuginfo.patch, 1.1, NONE qemu-fix-display-breakage.patch, 1.2, NONE qemu-fix-gcc.patch, 1.1, NONE qemu-fix-qcow2-2TB.patch, 1.1, NONE qemu-roms-more-room.patch, 1.1, NONE

Mark McLoughlin markmc at fedoraproject.org
Mon Apr 27 14:26:24 UTC 2009


Author: markmc

Update of /cvs/pkgs/rpms/qemu/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20399

Modified Files:
	.cvsignore qemu-fix-qcow2-corruption.patch qemu.spec sources 
Added Files:
	qemu-disable-preadv.patch qemu-fix-arm-framebuffer-build.patch 
	qemu-virtio-blk-boot-on.patch 
Removed Files:
	01-tls-handshake-fix.patch 02-vnc-monitor-info.patch 
	03-display-keymaps.patch 04-vnc-struct.patch 
	05-vnc-tls-vencrypt.patch 06-vnc-sasl.patch 
	07-vnc-monitor-authinfo.patch 08-vnc-acl-mgmt.patch 
	make-release qemu-fix-debuginfo.patch 
	qemu-fix-display-breakage.patch qemu-fix-gcc.patch 
	qemu-fix-qcow2-2TB.patch qemu-roms-more-room.patch 
Log Message:
* Mon Apr 27 2009 Mark McLoughlin <markmc at redhat.com> - 2:0.10.50-1.kvm85
- Update to qemu-kvm-devel-85
- kvm-85 is based on qemu development branch, currently version 0.10.50
- Include new qemu-io utility in qemu-img package
- Re-instate -help string for boot=on to fix virtio booting with libvirt
- Drop upstreamed patches
- Fix missing kernel/include/asm symlink in upstream tarball
- Fix target-arm build
- Disable preadv()/pwritev() until bug #497429 is fixed
- Kill more .kernelrelease uselessness
- Make non-kvm qemu build verbose


qemu-disable-preadv.patch:

--- NEW FILE qemu-disable-preadv.patch ---
diff -up qemu-kvm-devel-85/qemu/configure.disable-preadv qemu-kvm-devel-85/qemu/configure
--- qemu-kvm-devel-85/qemu/configure.disable-preadv	2009-04-27 16:09:05.000000000 +0100
+++ qemu-kvm-devel-85/qemu/configure	2009-04-27 16:09:36.000000000 +0100
@@ -1189,9 +1189,9 @@ cat > $TMPC <<EOF
 int main(void) { preadv; }
 EOF
 preadv=no
-if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
-  preadv=yes
-fi
+#if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
+#  preadv=yes
+#fi
 
 ##########################################
 # fdt probe

qemu-fix-arm-framebuffer-build.patch:

--- NEW FILE qemu-fix-arm-framebuffer-build.patch ---
From: Mark McLoughlin <markmc at redhat.com>
Date: Mon, 27 Apr 2009 10:18:14 +0100
Subject: [PATCH] kvm: qemu: framebuffer: build fix for target-arm

Include qemu-kvm.h for non-KVM_UPSTREAM building and surround the
kvm code with USE_KVM guards.

Fixes target-arm:

 qemu/hw/framebuffer.c: In function 'framebuffer_update_display':
 qemu/hw/framebuffer.c:53: warning: implicit declaration of function 'kvm_enabled'
 qemu/hw/framebuffer.c:54: warning: implicit declaration of function 'kvm_physical_sync_dirty_bitmap'

Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 qemu/hw/framebuffer.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/qemu/hw/framebuffer.c b/qemu/hw/framebuffer.c
index 1086ba9..e2d7604 100644
--- a/qemu/hw/framebuffer.c
+++ b/qemu/hw/framebuffer.c
@@ -18,6 +18,7 @@
 #include "console.h"
 #include "framebuffer.h"
 #include "kvm.h"
+#include "qemu-kvm.h"
 
 /* Render an image from a shared memory framebuffer.  */
    
@@ -50,9 +51,11 @@ void framebuffer_update_display(
     *first_row = -1;
     src_len = src_width * rows;
 
+#ifdef USE_KVM
     if (kvm_enabled()) {
         kvm_physical_sync_dirty_bitmap(base, src_len);
     }
+#endif
     pd = cpu_get_physical_page_desc(base);
     pd2 = cpu_get_physical_page_desc(base + src_len - 1);
     /* We should reall check that this is a continuous ram region.
-- 
1.6.0.6


qemu-virtio-blk-boot-on.patch:

--- NEW FILE qemu-virtio-blk-boot-on.patch ---
From: Pauline Middelink <middelink at polyware.nl>
To: kvm at vger.kernel.org
Subject: kvm-85 won't boot guests with virtio block device

Hi,

To follow up on the issues with kvm-85 and libvirt I discovered the following
issue: libvirt detects from the help of qemu which options it can give to
qemu. (in this case obviously /usr/kvm/bin/qemu-system-x86_64 -help)

If you look carefully to the output of the -help of qemu from kvm-84 and
kvm-85, you will notice the boot flag to the -drive option has disappeared!
Hence letting libvirt believe it isnt allowed to use it, hence the unable
to boot error.

A small patch which fixes the problem for me, is attached.

    Met vriendelijke groet,
        Pauline Middelink

diff -ur kvm-85/qemu/qemu-options.hx kvm-85a/qemu/qemu-options.hx
--- kvm-85/qemu/qemu-options.hx 2009-04-21 11:57:31.000000000 +0200
+++ kvm-85a/qemu/qemu-options.hx        2009-04-24 19:04:50.000000000 +0200
@@ -77,6 +77,7 @@
     "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
     "       [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]\n"
     "       [,cache=writethrough|writeback|none][,format=f][,serial=s]\n"
+    "       [,boot=on|off]\n"
     "                use 'file' as a drive image\n")
 STEXI
 @item -drive @var{option}[, at var{option}[, at var{option}[,...]]]



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/devel/.cvsignore,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- .cvsignore	2 Apr 2009 01:07:39 -0000	1.14
+++ .cvsignore	27 Apr 2009 14:25:53 -0000	1.15
@@ -1 +1 @@
-qemu-kvm-0.10.tar.gz
+qemu-kvm-*.tar.gz

qemu-fix-qcow2-corruption.patch:

Index: qemu-fix-qcow2-corruption.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/devel/qemu-fix-qcow2-corruption.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- qemu-fix-qcow2-corruption.patch	21 Apr 2009 09:03:39 -0000	1.2
+++ qemu-fix-qcow2-corruption.patch	27 Apr 2009 14:25:53 -0000	1.3
@@ -1,26 +1,3 @@
-From: Nolan Leake <nolan <at> sigbus.net>
-Subject: [PATCH] Fix (at least one cause of) qcow2 corruption.
-
-qcow2's get_cluster_offset() scans forward in the l2 table to find other
-clusters that have the same allocation status as the first cluster.
-This is used by (among others) qcow_is_allocated().
-
-Unfortunately, it was not checking to be sure that it didn't fall off
-the end of the l2 table.  This patch adds that check.
-
-The symptom that motivated me to look into this was that
-bdrv_is_allocated() was returning false when there was in fact data
-there.  This is one of many ways this bug could lead to data corruption.
-
-I checked the other place that scans for consecutive unallocated blocks
-(alloc_cluster_offset()) and it appears to be OK:
-    nb_clusters = MIN(nb_clusters, s->l2_size - l2_index);
-appears to prevent the same problem from occurring.
-
-Signed-off-by: Nolan Leake <nolan <at> sigbus.net>
-
----
-
 From: Kevin Wolf <kwolf at redhat.com>
 Subject: [PATCH] qcow2 corruption: Fix alloc_cluster_link_l2
 
@@ -41,22 +18,10 @@
 
 Signed-off-by: Kevin Wolf <kwolf at redhat.com>
 
-diff -up qemu-kvm-0.10/qemu/block-qcow2.c.qcow2-corruption qemu-kvm-0.10/qemu/block-qcow2.c
-diff -up qemu-kvm-0.10/qemu/block-qcow2.c.qcow2-corruption qemu-kvm-0.10/qemu/block-qcow2.c
---- qemu-kvm-0.10/qemu/block-qcow2.c.qcow2-corruption	2009-04-21 09:57:21.000000000 +0100
-+++ qemu-kvm-0.10/qemu/block-qcow2.c	2009-04-21 09:58:27.000000000 +0100
-@@ -670,6 +670,10 @@ static uint64_t get_cluster_offset(Block
- 
-     nb_available = (nb_available >> 9) + index_in_cluster;
- 
-+    if (nb_needed > nb_available) {
-+        nb_needed = nb_available;
-+    }
-+
-     cluster_offset = 0;
- 
-     /* seek the the l2 offset in the l1 table */
-@@ -912,7 +916,7 @@ static int alloc_cluster_link_l2(BlockDr
+diff -up qemu-kvm-devel-85/qemu/block-qcow2.c.qcow2-corruption qemu-kvm-devel-85/qemu/block-qcow2.c
+--- qemu-kvm-devel-85/qemu/block-qcow2.c.qcow2-corruption	2009-04-21 10:57:31.000000000 +0100
++++ qemu-kvm-devel-85/qemu/block-qcow2.c	2009-04-24 19:29:44.000000000 +0100
+@@ -1007,7 +1007,7 @@ static int alloc_cluster_link_l2(BlockDr
          goto err;
  
      for (i = 0; i < j; i++)


Index: qemu.spec
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- qemu.spec	24 Apr 2009 17:09:09 -0000	1.86
+++ qemu.spec	27 Apr 2009 14:25:54 -0000	1.87
@@ -1,42 +1,41 @@
+%define kvmvernum  85
+%define kvmvertag  kvm%{kvmvernum}
+%define kvmverfull kvm-devel-%{kvmvernum}
+
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
-Version: 0.10
-Release: 15%{?dist}
-# I have mistakenly thought the revision name would be 1.0.
-# So 0.10 series get Epoch = 1
+Version: 0.10.50
+Release: 1.%{kvmvertag}%{?dist}
+# Epoch because we pushed a qemu-1.0 package
 Epoch: 2
 License: GPLv2+ and LGPLv2+ and BSD
 Group: Development/Tools
 URL: http://www.qemu.org/
 
-# To re-create the tarball below:
-#   $> git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
-#   $> git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm-userspace.git
-#   $> make-release qemu-kvm-%{version}.tar.gz $(pwd)/kvm v2.6.29-6998-g1d0cdf1 \
-#                                              $(pwd)/kvm-userspace kvm-84-196-ga01bd3f
-Source0: qemu-kvm-%{version}.tar.gz
-Source1: make-release
-Source2: qemu.init
-Source3: kvm.modules
-
-Patch1: 01-tls-handshake-fix.patch
-Patch2: 02-vnc-monitor-info.patch
-Patch3: 03-display-keymaps.patch
-Patch4: 04-vnc-struct.patch
-Patch5: 05-vnc-tls-vencrypt.patch
-Patch6: 06-vnc-sasl.patch
-Patch7: 07-vnc-monitor-authinfo.patch
-Patch8: 08-vnc-acl-mgmt.patch
-
-Patch9: kvm-upstream-ppc.patch
-Patch10: qemu-fix-debuginfo.patch
-Patch11: qemu-fix-gcc.patch
-Patch12: qemu-roms-more-room.patch
-Patch13: qemu-roms-more-room-fix-vga-align.patch
-Patch14: qemu-bios-bigger-roms.patch
-Patch15: qemu-fix-display-breakage.patch
-Patch16: qemu-fix-qcow2-2TB.patch
-Patch17: qemu-fix-qcow2-corruption.patch
+Source0: http://download.sourceforge.net/sourceforge/kvm/qemu-%{kvmverfull}.tar.gz
+Source1: qemu.init
+Source2: kvm.modules
+
+# Hack until merge happens upstream
+Patch01: kvm-upstream-ppc.patch
+
+# Not upstream, why?
+Patch02: qemu-bios-bigger-roms.patch
+
+# Fixed upstream by f753ff1638
+Patch03: qemu-roms-more-room-fix-vga-align.patch
+
+# Fixed upstream by 641636d19e
+Patch04: qemu-fix-qcow2-corruption.patch
+
+# Seen on kvm list
+Patch05: qemu-virtio-blk-boot-on.patch
+
+# kvm-85 build fix, submitted upstream
+Patch06: qemu-fix-arm-framebuffer-build.patch
+
+# Disable preadv()/pwritev() until bug #497429 is fixed
+Patch07: qemu-disable-preadv.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
@@ -206,25 +205,20 @@
 %endif
 
 %prep
-%setup -q -n qemu-kvm-%{version}
+%setup -q -n qemu-%{kvmverfull}
 
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
+#
+# Hack - kvm-85 missing kernel/include/asm symlink
+#
+(cd kernel/include && ln -s asm-x86 asm)
+
+%patch01 -p1 -b .kvm-upstream-ppc
+%patch02 -p1 -b .bios-bigger-roms
+%patch03 -p1 -b .roms-more-room-fix-vga-align
+%patch04 -p1 -b .fix-qcow2-corruption
+%patch05 -p1 -b .virtio-blk-boot-on
+%patch06 -p1 -b .framebuffer-build-fix
+%patch07 -p1 -b .disable-preadv
 
 %build
 # systems like rhel build system does not have a recent enough linker so
@@ -262,7 +256,6 @@
 make clean
 %endif
 
-echo "%{name}-%{version}" > $(pwd)/kernel/.kernelrelease
 cd qemu
 ./configure \
     --target-list="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu m68k-softmmu \
@@ -282,8 +275,7 @@
     --audio-drv-list=pa,sdl,alsa,oss \
     --extra-cflags="$RPM_OPT_FLAGS"
 
-
-make %{?_smp_mflags} $buildldflags
+make V=1 %{?_smp_mflags} $buildldflags
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -292,7 +284,7 @@
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules
 mkdir -p $RPM_BUILD_ROOT%{_bindir}/
 
-install -m 0755 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/kvm.modules
+install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/kvm.modules
 install -m 0755 kvmtrace $RPM_BUILD_ROOT%{_bindir}/
 install -m 0755 kvmtrace_format $RPM_BUILD_ROOT%{_bindir}/
 install -m 0755 kvm_stat $RPM_BUILD_ROOT%{_bindir}/
@@ -308,7 +300,7 @@
      docdir="${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}" \
      datadir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" install
 chmod -x ${RPM_BUILD_ROOT}%{_mandir}/man1/*
-install -D -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/qemu
+install -D -p -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/qemu
 install -D -p -m 0644 -t ${RPM_BUILD_ROOT}/%{qemudocdir} Changelog README TODO COPYING COPYING.LIB LICENSE
 
 install -D -p -m 0644 qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl2/qemu.conf
@@ -339,8 +331,6 @@
 ln -s ../openbios/openbios-sparc32 %{buildroot}/%{_prefix}/share/qemu/openbios-sparc32
 ln -s ../openbios/openbios-sparc64 %{buildroot}/%{_prefix}/share/qemu/openbios-sparc64
 
-
-
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -463,9 +453,22 @@
 %files img
 %defattr(-,root,root)
 %{_bindir}/qemu-img
+%{_bindir}/qemu-io
 %{_mandir}/man1/qemu-img.1*
 
 %changelog
+* Mon Apr 27 2009 Mark McLoughlin <markmc at redhat.com> - 2:0.10.50-1.kvm85
+- Update to qemu-kvm-devel-85
+- kvm-85 is based on qemu development branch, currently version 0.10.50
+- Include new qemu-io utility in qemu-img package
+- Re-instate -help string for boot=on to fix virtio booting with libvirt
+- Drop upstreamed patches
+- Fix missing kernel/include/asm symlink in upstream tarball
+- Fix target-arm build
+- Disable preadv()/pwritev() until bug #497429 is fixed
+- Kill more .kernelrelease uselessness
+- Make non-kvm qemu build verbose
+
 * Fri Apr 24 2009 Mark McLoughlin <markmc at redhat.com> - 2:0.10-15
 - Fix source numbering typos caused by make-release addition
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/devel/sources,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- sources	2 Apr 2009 01:07:39 -0000	1.14
+++ sources	27 Apr 2009 14:25:54 -0000	1.15
@@ -1 +1 @@
-04c32fb43c722f180654f53e04ad17dd  qemu-kvm-0.10.tar.gz
+3b671f64b66e7e6e571516193c184653  qemu-kvm-devel-85.tar.gz


--- 01-tls-handshake-fix.patch DELETED ---


--- 02-vnc-monitor-info.patch DELETED ---


--- 03-display-keymaps.patch DELETED ---


--- 04-vnc-struct.patch DELETED ---


--- 05-vnc-tls-vencrypt.patch DELETED ---


--- 06-vnc-sasl.patch DELETED ---


--- 07-vnc-monitor-authinfo.patch DELETED ---


--- 08-vnc-acl-mgmt.patch DELETED ---


--- make-release DELETED ---


--- qemu-fix-debuginfo.patch DELETED ---


--- qemu-fix-display-breakage.patch DELETED ---


--- qemu-fix-gcc.patch DELETED ---


--- qemu-fix-qcow2-2TB.patch DELETED ---


--- qemu-roms-more-room.patch DELETED ---




More information about the fedora-extras-commits mailing list