From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:32913) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gw3XR-0003hw-S4 for qemu-devel@nongnu.org; Tue, 19 Feb 2019 06:26:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gw3XQ-0003pp-E1 for qemu-devel@nongnu.org; Tue, 19 Feb 2019 06:26:13 -0500 Received: from mx1.redhat.com ([209.132.183.28]:37726) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gw3XQ-0003p5-7H for qemu-devel@nongnu.org; Tue, 19 Feb 2019 06:26:12 -0500 Date: Tue, 19 Feb 2019 19:23:12 +0800 From: Wei Xu Message-ID: <20190219112312.GA1582@wei-ubt> References: <1550118402-4057-1-git-send-email-wexu@redhat.com> <1550118402-4057-12-git-send-email-wexu@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v4 11/11] virtio: CLI and provide packed ring feature bit by default List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jason Wang Cc: qemu-devel@nongnu.org, maxime.coquelin@redhat.com, jfreiman@redhat.com, tiwei.bie@intel.com, mst@redhat.com On Tue, Feb 19, 2019 at 03:32:19PM +0800, Jason Wang wrote: >=20 > On 2019/2/14 =E4=B8=8B=E5=8D=8812:26, wexu@redhat.com wrote: > >From: Wei Xu > > > >Add userspace and vhost kernel/user support. > > > >Add CLI "ring_packed=3Dtrue/false" to enable/disable packed ring provi= sion. > >Usage: > > -device virtio-net-pci,netdev=3Dxx,mac=3Dxx:xx:xx:xx:xx:xx,ring_p= acked=3Dfalse > > > >By default it is provided. >=20 >=20 > Please compat this for old machine types. It is provided by default, how to make it compatible for old machine type= s? Hide or provide it? Wei >=20 > Thanks >=20 >=20 > > > >Signed-off-by: Wei Xu > >--- > > hw/net/vhost_net.c | 2 ++ > > include/hw/virtio/virtio.h | 4 +++- > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > >diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c > >index e037db6..f593086 100644 > >--- a/hw/net/vhost_net.c > >+++ b/hw/net/vhost_net.c > >@@ -53,6 +53,7 @@ static const int kernel_feature_bits[] =3D { > > VIRTIO_F_VERSION_1, > > VIRTIO_NET_F_MTU, > > VIRTIO_F_IOMMU_PLATFORM, > >+ VIRTIO_F_RING_PACKED, > > VHOST_INVALID_FEATURE_BIT > > }; > >@@ -78,6 +79,7 @@ static const int user_feature_bits[] =3D { > > VIRTIO_NET_F_MRG_RXBUF, > > VIRTIO_NET_F_MTU, > > VIRTIO_F_IOMMU_PLATFORM, > >+ VIRTIO_F_RING_PACKED, > > /* This bit implies RARP isn't sent by QEMU out of band */ > > VIRTIO_NET_F_GUEST_ANNOUNCE, > >diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h > >index 9c1fa07..2eb27d2 100644 > >--- a/include/hw/virtio/virtio.h > >+++ b/include/hw/virtio/virtio.h > >@@ -264,7 +264,9 @@ typedef struct VirtIORNGConf VirtIORNGConf; > > DEFINE_PROP_BIT64("any_layout", _state, _field, \ > > VIRTIO_F_ANY_LAYOUT, true), \ > > DEFINE_PROP_BIT64("iommu_platform", _state, _field, \ > >- VIRTIO_F_IOMMU_PLATFORM, false) > >+ VIRTIO_F_IOMMU_PLATFORM, false), \ > >+ DEFINE_PROP_BIT64("ring_packed", _state, _field, \ > >+ VIRTIO_F_RING_PACKED, true) > > hwaddr virtio_queue_get_desc_addr(VirtIODevice *vdev, int n); > > hwaddr virtio_queue_get_avail_addr(VirtIODevice *vdev, int n); >=20