From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XthfW-0005Qf-HP for qemu-devel@nongnu.org; Wed, 26 Nov 2014 13:50:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XthfQ-0001gm-Cw for qemu-devel@nongnu.org; Wed, 26 Nov 2014 13:50:26 -0500 Received: from mx1.redhat.com ([209.132.183.28]:39713) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XthfQ-0001ge-5Y for qemu-devel@nongnu.org; Wed, 26 Nov 2014 13:50:20 -0500 Date: Wed, 26 Nov 2014 20:50:05 +0200 From: "Michael S. Tsirkin" Message-ID: <20141126185005.GA9549@redhat.com> References: <1417022923-1654-1-git-send-email-cornelia.huck@de.ibm.com> <1417022923-1654-12-git-send-email-cornelia.huck@de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1417022923-1654-12-git-send-email-cornelia.huck@de.ibm.com> Subject: Re: [Qemu-devel] [PATCH RFC v3 11/12] virtio-net/virtio-blk: enable virtio 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cornelia Huck Cc: thuth@linux.vnet.ibm.com, rusty@rustcorp.com.au, qemu-devel@nongnu.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org On Wed, Nov 26, 2014 at 06:28:42PM +0100, Cornelia Huck wrote: > virtio-net (non-vhost) and virtio-blk have everything in place to support > virtio 1.0: let's enable the feature bit for them. Hmm I doubt that. At least not without more patches. For block, scsi, wce and config-wce must be off, and it must support ANY_LAYOUT (which might be a bit more code). For net, header size is different when mergeable bufs are off, and mac is read-only. > Note that VIRTIO_F_VERSION_1 is technically a transport feature; once > every device is ready for virtio 1.0, we can move this setting this > feature bit out of the individual devices. > > Signed-off-by: Cornelia Huck > --- > hw/block/virtio-blk.c | 4 ++++ > hw/net/virtio-net.c | 4 ++++ > 2 files changed, 8 insertions(+) > > diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c > index 6d86f60..3781f98 100644 > --- a/hw/block/virtio-blk.c > +++ b/hw/block/virtio-blk.c > @@ -569,6 +569,10 @@ static uint32_t virtio_blk_get_features(VirtIODevice *vdev, unsigned int index, > { > VirtIOBlock *s = VIRTIO_BLK(vdev); > > + if (index == 1) { > + features |= (1 << (VIRTIO_F_VERSION_1 - 32)); > + } > + > if (index > 0) { > return features; > } > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > index 1e214b5..fcfc95f 100644 > --- a/hw/net/virtio-net.c > +++ b/hw/net/virtio-net.c > @@ -447,6 +447,10 @@ static uint32_t virtio_net_get_features(VirtIODevice *vdev, unsigned int index, > VirtIONet *n = VIRTIO_NET(vdev); > NetClientState *nc = qemu_get_queue(n->nic); > > + if (index == 1 && !get_vhost_net(nc->peer)) { > + features |= (1 << (VIRTIO_F_VERSION_1 - 32)); > + } > + > if (index > 0) { > return features; > } > -- > 1.7.9.5