devel/kvm qemu-atapi-hsm.patch,NONE,1.1 kvm.spec,1.19,1.20

Jeremy Katz (katzj) fedora-extras-commits at redhat.com
Tue Aug 21 01:05:39 UTC 2007


Author: katzj

Update of /cvs/pkgs/devel/kvm
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29679

Modified Files:
	kvm.spec 
Added Files:
	qemu-atapi-hsm.patch 
Log Message:
* Mon Aug 20 2007 Jeremy Katz <katzj at redhat.com> - 35-2
- add fix for ATAPI from upstream qemu


qemu-atapi-hsm.patch:

--- NEW FILE qemu-atapi-hsm.patch ---
From: Brandon Philips <brandon at ifup.org>
Newsgroups: gmane.comp.emulators.qemu
Subject: [PATCH][RFC] Fix bugs in the ATAPI cdrom driver
Date: Fri, 17 Aug 2007 16:43:04 -0700
Message-ID: <20070817234304.GB10490 at ifup.org>
Reply-To: qemu-devel at nongnu.org

The new libata-eh in the Linux kernel is throwing a fit over the QEMU
cdrom device for two reasons:

1) DRQ can be set with ERR_STAT set.  This is a violation of the ATAPI
state machine.

2) After a TEST_UNIT_READY ATAPI command is sent ERR_STAT is getting set
which is correct.  But, when the OS issues another ATAPI command
ERR_STAT is still set.  Which is bad since the next expected command
from the OS is REQUEST_SENSE to find out why ERR_STAT is set.

bug this fixes: https://bugzilla.novell.com/show_bug.cgi?id=291775

Signed-off-by: Brandon Philips <bphilips at suse.de>

---
 hw/ide.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Index: qemu-0.9.0/hw/ide.c
===================================================================
--- qemu/hw/ide.c
+++ qemu/hw/ide.c
@@ -586,7 +586,9 @@ static void ide_transfer_start(IDEState 
     s->end_transfer_func = end_transfer_func;
     s->data_ptr = buf;
     s->data_end = buf + size;
-    s->status |= DRQ_STAT;
+    /* don't violate the HSM */
+    if (!(s->status & ERR_STAT))
+        s->status |= DRQ_STAT;
 }
 
 static void ide_transfer_stop(IDEState *s)
@@ -1805,6 +1807,7 @@ static void ide_ioport_write(void *opaqu
             /* overlapping commands not supported */
             if (s->feature & 0x02)
                 goto abort_cmd;
+            s->status = READY_STAT;
             s->atapi_dma = s->feature & 1;
             s->nsector = 1;
             ide_transfer_start(s, s->io_buffer, ATAPI_PACKET_SIZE, 





Index: kvm.spec
===================================================================
RCS file: /cvs/pkgs/devel/kvm/kvm.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- kvm.spec	20 Aug 2007 21:47:03 -0000	1.19
+++ kvm.spec	21 Aug 2007 01:05:05 -0000	1.20
@@ -1,8 +1,8 @@
 Summary: Kernel-based Virtual Machine
 Name: kvm
 Version: 35
-Release: 1%{?dist}
-License: GPL
+Release: 2%{?dist}
+License: GPLv2 and LGPLv2
 Group: Development/Tools
 URL: http://kvm.sf.net
 Source0: http://download.sourceforge.net/sourceforge/kvm/kvm-%{version}.tar.gz
@@ -11,6 +11,7 @@
 Patch1: kvm-35-ldflags.patch
 # patches from upstream qemu
 Patch101: kvm-rtl8139-mmio-regions.patch
+Patch102: qemu-atapi-hsm.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: SDL-devel 
 # qemu doesn't build with gcc 4.x
@@ -37,6 +38,7 @@
 %patch1 -p1 -b .ldflags
 
 %patch101 -p1
+%patch102 -p0
 
 %build
 LDFLAGS=-Wl,--build-id ./configure --with-patched-kernel --qemu-cc=gcc34 --kerneldir=$(pwd)/kernel --prefix=%{_prefix}
@@ -81,6 +83,9 @@
 %{_sysconfdir}/sysconfig/modules/kvm.modules
 
 %changelog
+* Mon Aug 20 2007 Jeremy Katz <katzj at redhat.com> - 35-2
+- add fix for ATAPI from upstream qemu
+
 * Mon Aug 20 2007 Jeremy Katz <katzj at redhat.com> - 35-1
 - update to kvm-35
 - patch to use -Wl,--build-id so that we get debuginfo




More information about the fedora-extras-commits mailing list