From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NnA60-0001mz-Ir for qemu-devel@nongnu.org; Thu, 04 Mar 2010 07:24:04 -0500 Received: from [199.232.76.173] (port=34484 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NnA5z-0001mg-9o for qemu-devel@nongnu.org; Thu, 04 Mar 2010 07:24:03 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NnA5y-0005ZY-1c for qemu-devel@nongnu.org; Thu, 04 Mar 2010 07:24:03 -0500 Received: from mx1.redhat.com ([209.132.183.28]:29743) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NnA5x-0005ZA-Fi for qemu-devel@nongnu.org; Thu, 04 Mar 2010 07:24:01 -0500 Date: Thu, 4 Mar 2010 14:20:39 +0200 From: "Michael S. Tsirkin" Subject: Re: [Qemu-devel] [PATCHv4 06/12] virtio: add set_status callback Message-ID: <20100304122039.GB3047@redhat.com> References: <7742aeff63b55344dc6d8826b8a4f3a00cb3c035.1267636215.git.mst@redhat.com> <20100304121937.GB8118@amit-x200.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100304121937.GB8118@amit-x200.redhat.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: quintela@redhat.com, qemu-devel@nongnu.org, kraxel@redhat.com On Thu, Mar 04, 2010 at 05:49:37PM +0530, Amit Shah wrote: > On (Wed) Mar 03 2010 [19:16:13], Michael S. Tsirkin wrote: > > vhost net backend needs to be notified when > > frontend status changes. Add a callback, > > similar to set_features. > > > > Signed-off-by: Michael S. Tsirkin > > --- > > hw/s390-virtio-bus.c | 2 +- > > hw/syborg_virtio.c | 2 +- > > hw/virtio-pci.c | 5 +++-- > > hw/virtio.h | 9 +++++++++ > > 4 files changed, 14 insertions(+), 4 deletions(-) > > > > diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c > > index fa0a74f..6f93d67 100644 > > --- a/hw/s390-virtio-bus.c > > +++ b/hw/s390-virtio-bus.c > > @@ -242,7 +242,7 @@ void s390_virtio_device_update_status(VirtIOS390Device *dev) > > VirtIODevice *vdev = dev->vdev; > > uint32_t features; > > > > - vdev->status = ldub_phys(dev->dev_offs + VIRTIO_DEV_OFFS_STATUS); > > + virtio_set_status(vdev, ldub_phys(dev->dev_offs + VIRTIO_DEV_OFFS_STATUS)); > > > > /* Update guest supported feature bitmap */ > > > > diff --git a/hw/syborg_virtio.c b/hw/syborg_virtio.c > > index 65239a0..c7b1162 100644 > > --- a/hw/syborg_virtio.c > > +++ b/hw/syborg_virtio.c > > @@ -149,7 +149,7 @@ static void syborg_virtio_writel(void *opaque, target_phys_addr_t offset, > > virtio_queue_notify(vdev, value); > > break; > > case SYBORG_VIRTIO_STATUS: > > - vdev->status = value & 0xFF; > > + virtio_set_status(vdev, value); > > Dropping the '& 0xFF'? Should be OK, but in the next hunk it's retained: > > > if (vdev->status == 0) > > virtio_reset(vdev); > > break; > > diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c > > index bcd40f7..fd9759a 100644 > > --- a/hw/virtio-pci.c > > +++ b/hw/virtio-pci.c > > @@ -206,7 +206,7 @@ static void virtio_ioport_write(void *opaque, uint32_t addr, uint32_t val) > > virtio_queue_notify(vdev, val); > > break; > > case VIRTIO_PCI_STATUS: > > - vdev->status = val & 0xFF; > > + virtio_set_status(vdev, val & 0xFF); > > if (vdev->status == 0) { > > virtio_reset(proxy->vdev); > > msix_unuse_all_vectors(&proxy->pci_dev); > > Amit Yea, maybe both places should go.