On Fri, Mar 1, 2024 at 2:44 PM Jonah Palmer <jonah.pal...@oracle.com> wrote: > > Add support for the VIRTIO_F_NOTIFICATION_DATA feature across a variety > of vhost devices. > > The inclusion of VIRTIO_F_NOTIFICATION_DATA in the feature bits arrays > for these devices ensures that the backend is capable of offering and > providing support for this feature, and that it can be disabled if the > backend does not support it. > > Signed-off-by: Jonah Palmer <jonah.pal...@oracle.com> > --- > hw/block/vhost-user-blk.c | 1 + > hw/net/vhost_net.c | 2 ++ > hw/scsi/vhost-scsi.c | 1 + > hw/scsi/vhost-user-scsi.c | 1 + > hw/virtio/vhost-user-fs.c | 2 +- > hw/virtio/vhost-user-vsock.c | 1 + > net/vhost-vdpa.c | 1 + > 7 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c > index 6a856ad51a..983c0657da 100644 > --- a/hw/block/vhost-user-blk.c > +++ b/hw/block/vhost-user-blk.c > @@ -51,6 +51,7 @@ static const int user_feature_bits[] = { > VIRTIO_F_RING_PACKED, > VIRTIO_F_IOMMU_PLATFORM, > VIRTIO_F_RING_RESET, > + VIRTIO_F_NOTIFICATION_DATA, > VHOST_INVALID_FEATURE_BIT > }; > > diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c > index e8e1661646..bb1f975b39 100644 > --- a/hw/net/vhost_net.c > +++ b/hw/net/vhost_net.c > @@ -48,6 +48,7 @@ static const int kernel_feature_bits[] = { > VIRTIO_F_IOMMU_PLATFORM, > VIRTIO_F_RING_PACKED, > VIRTIO_F_RING_RESET, > + VIRTIO_F_NOTIFICATION_DATA, > VIRTIO_NET_F_HASH_REPORT, > VHOST_INVALID_FEATURE_BIT > }; > @@ -55,6 +56,7 @@ static const int kernel_feature_bits[] = { > /* Features supported by others. */ > static const int user_feature_bits[] = { > VIRTIO_F_NOTIFY_ON_EMPTY, > + VIRTIO_F_NOTIFICATION_DATA, > VIRTIO_RING_F_INDIRECT_DESC, > VIRTIO_RING_F_EVENT_IDX, >
vdpa_feature_bits also needs this feature bit added. Apart from that, Reviewed-by: Eugenio Pérez <epere...@redhat.com> > diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c > index 58a00336c2..b8048f18e9 100644 > --- a/hw/scsi/vhost-scsi.c > +++ b/hw/scsi/vhost-scsi.c > @@ -38,6 +38,7 @@ static const int kernel_feature_bits[] = { > VIRTIO_RING_F_EVENT_IDX, > VIRTIO_SCSI_F_HOTPLUG, > VIRTIO_F_RING_RESET, > + VIRTIO_F_NOTIFICATION_DATA, > VHOST_INVALID_FEATURE_BIT > }; > > diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c > index a63b1f4948..0b050805a8 100644 > --- a/hw/scsi/vhost-user-scsi.c > +++ b/hw/scsi/vhost-user-scsi.c > @@ -36,6 +36,7 @@ static const int user_feature_bits[] = { > VIRTIO_RING_F_EVENT_IDX, > VIRTIO_SCSI_F_HOTPLUG, > VIRTIO_F_RING_RESET, > + VIRTIO_F_NOTIFICATION_DATA, > VHOST_INVALID_FEATURE_BIT > }; > > diff --git a/hw/virtio/vhost-user-fs.c b/hw/virtio/vhost-user-fs.c > index cca2cd41be..ae48cc1c96 100644 > --- a/hw/virtio/vhost-user-fs.c > +++ b/hw/virtio/vhost-user-fs.c > @@ -33,7 +33,7 @@ static const int user_feature_bits[] = { > VIRTIO_F_RING_PACKED, > VIRTIO_F_IOMMU_PLATFORM, > VIRTIO_F_RING_RESET, > - > + VIRTIO_F_NOTIFICATION_DATA, > VHOST_INVALID_FEATURE_BIT > }; > > diff --git a/hw/virtio/vhost-user-vsock.c b/hw/virtio/vhost-user-vsock.c > index 9431b9792c..802b44a07d 100644 > --- a/hw/virtio/vhost-user-vsock.c > +++ b/hw/virtio/vhost-user-vsock.c > @@ -21,6 +21,7 @@ static const int user_feature_bits[] = { > VIRTIO_RING_F_INDIRECT_DESC, > VIRTIO_RING_F_EVENT_IDX, > VIRTIO_F_NOTIFY_ON_EMPTY, > + VIRTIO_F_NOTIFICATION_DATA, > VHOST_INVALID_FEATURE_BIT > }; > > diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c > index 3726ee5d67..2827d29ce7 100644 > --- a/net/vhost-vdpa.c > +++ b/net/vhost-vdpa.c > @@ -62,6 +62,7 @@ const int vdpa_feature_bits[] = { > VIRTIO_F_RING_PACKED, > VIRTIO_F_RING_RESET, > VIRTIO_F_VERSION_1, > + VIRTIO_F_NOTIFICATION_DATA, > VIRTIO_NET_F_CSUM, > VIRTIO_NET_F_CTRL_GUEST_OFFLOADS, > VIRTIO_NET_F_CTRL_MAC_ADDR, > -- > 2.39.3 >