We need to know it to switch to Shadow VirtQueue and back to normal operation.
Signed-off-by: Eugenio Pérez <epere...@redhat.com> --- include/hw/virtio/vhost-vdpa.h | 1 + hw/virtio/vhost-vdpa.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/hw/virtio/vhost-vdpa.h b/include/hw/virtio/vhost-vdpa.h index 3ce79a646d..c79a21c3c8 100644 --- a/include/hw/virtio/vhost-vdpa.h +++ b/include/hw/virtio/vhost-vdpa.h @@ -28,6 +28,7 @@ typedef struct vhost_vdpa { MemoryListener listener; struct vhost_vdpa_iova_range iova_range; struct vhost_dev *dev; + int kick_fd[VIRTIO_QUEUE_MAX]; VhostVDPAHostNotifier notifier[VIRTIO_QUEUE_MAX]; } VhostVDPA; diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 12661fd5b1..e6ee227385 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -702,7 +702,12 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev, static int vhost_vdpa_set_vring_kick(struct vhost_dev *dev, struct vhost_vring_file *file) { + struct vhost_vdpa *v = dev->opaque; + int vdpa_idx = vhost_vdpa_get_vq_index(dev, file->index); + trace_vhost_vdpa_set_vring_kick(dev, file->index, file->fd); + + v->kick_fd[vdpa_idx] = file->fd; return vhost_vdpa_call(dev, VHOST_SET_VRING_KICK, file); } -- 2.27.0