From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MmnYV-0000Fj-Bf for qemu-devel@nongnu.org; Sun, 13 Sep 2009 07:47:43 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MmnYS-0000Dy-SO for qemu-devel@nongnu.org; Sun, 13 Sep 2009 07:47:43 -0400 Received: from [199.232.76.173] (port=41345 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MmnYS-0000Ds-L8 for qemu-devel@nongnu.org; Sun, 13 Sep 2009 07:47:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:6731) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MmnYS-0000p2-4n for qemu-devel@nongnu.org; Sun, 13 Sep 2009 07:47:40 -0400 From: "Yan Vugenfirer" References: <00a201ca3093$980153b0$c803fb10$@com> <4AAA5248.6020008@codemonkey.ws> In-Reply-To: <4AAA5248.6020008@codemonkey.ws> Subject: RE: [Qemu-devel] [PATCH] VirtIO: Fix QEMU crash during Windows PNP tests Date: Sun, 13 Sep 2009 07:47:35 -0400 (EDT) Message-ID: <011701ca3467$fc540100$f4fc0300$@com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0118_01CA3481.21A13900" Content-Language: en-us List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: 'Anthony Liguori' Cc: qemu-devel@nongnu.org This is a multipart message in MIME format. ------=_NextPart_000_0118_01CA3481.21A13900 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit > From: Anthony Liguori > > Needs a Signed-off-by. > > Regards, > > Anthony Liguori [YV] Resending with signed-off-by. ------=_NextPart_000_0118_01CA3481.21A13900 Content-Type: application/octet-stream; name="0001-VirtIO-Fix-QEMU-crash-during-Windows-PNP-tests.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-VirtIO-Fix-QEMU-crash-during-Windows-PNP-tests.patch" >>From d7b9ccc5c1a6a28367a550a5e55a40d482623ec7 Mon Sep 17 00:00:00 2001=0A= From: Yan Vugenfirer =0A= Date: Tue, 8 Sep 2009 10:08:14 -0400=0A= Subject: [PATCH] VirtIO: Fix QEMU crash during Windows PNP tests=0A= =0A= Signed-off-by: Yan Vugenfirer =0A= =0A= ---=0A= hw/virtio-pci.c | 14 ++++++++++++--=0A= 1 files changed, 12 insertions(+), 2 deletions(-)=0A= =0A= diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c=0A= index f812ab7..a0a22c4 100644=0A= --- a/hw/virtio-pci.c=0A= +++ b/hw/virtio-pci.c=0A= @@ -364,8 +364,17 @@ static void virtio_map(PCIDevice *pci_dev, int = region_num,=0A= static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,=0A= uint32_t val, int len)=0A= {=0A= + VirtIOPCIProxy *proxy =3D DO_UPCAST(VirtIOPCIProxy, pci_dev, = pci_dev);=0A= +=0A= + if (PCI_COMMAND =3D=3D address) {=0A= + if (!(val & PCI_COMMAND_MASTER)) {=0A= + proxy->vdev->status &=3D ~VIRTIO_CONFIG_S_DRIVER_OK;=0A= + }=0A= + }=0A= +=0A= pci_default_write_config(pci_dev, address, val, len);=0A= - msix_write_config(pci_dev, address, val, len);=0A= + if(proxy->vdev->nvectors)=0A= + msix_write_config(pci_dev, address, val, len);=0A= }=0A= =0A= static const VirtIOBindings virtio_pci_bindings =3D {=0A= @@ -407,11 +416,12 @@ static void virtio_init_pci(VirtIOPCIProxy *proxy, = VirtIODevice *vdev,=0A= msix_bar_size(&proxy->pci_dev),=0A= PCI_ADDRESS_SPACE_MEM,=0A= msix_mmio_map);=0A= - proxy->pci_dev.config_write =3D virtio_write_config;=0A= proxy->pci_dev.unregister =3D msix_uninit;=0A= } else=0A= vdev->nvectors =3D 0;=0A= =0A= + proxy->pci_dev.config_write =3D virtio_write_config;=0A= +=0A= size =3D VIRTIO_PCI_REGION_SIZE(&proxy->pci_dev) + vdev->config_len;=0A= if (size & (size-1))=0A= size =3D 1 << qemu_fls(size);=0A= -- =0A= 1.5.5.6=0A= =0A= ------=_NextPart_000_0118_01CA3481.21A13900--