diff options
| author | Eugenio Pérez <eperezma@redhat.com> | 2023-03-03 18:24:36 +0100 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2023-03-07 12:38:59 -0500 |
| commit | b6662cb7e5376659c7abb56efe27dcf3898d4fe6 (patch) | |
| tree | 137bc59db8fd159edfa65f9d97017c95139c8e3f /hw/virtio | |
| parent | 4241e8bd728f1014ac977eb6756e41f549d93efd (diff) | |
| download | focaccia-qemu-b6662cb7e5376659c7abb56efe27dcf3898d4fe6.tar.gz focaccia-qemu-b6662cb7e5376659c7abb56efe27dcf3898d4fe6.zip | |
vdpa: add vhost_vdpa->suspended parameter
This allows vhost_vdpa to track if it is safe to get the vring base from the device or not. If it is not, vhost can fall back to fetch idx from the guest buffer again. No functional change intended in this patch, later patches will use this field. Signed-off-by: Eugenio Pérez <eperezma@redhat.com> Message-Id: <20230303172445.1089785-6-eperezma@redhat.com> Tested-by: Lei Yang <leiyang@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/virtio')
| -rw-r--r-- | hw/virtio/vhost-vdpa.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 1550b1e26a..517e3cdc8d 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -1193,6 +1193,14 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev, return 0; } + if (!v->suspended) { + /* + * Cannot trust in value returned by device, let vhost recover used + * idx from guest. + */ + return -1; + } + ret = vhost_vdpa_call(dev, VHOST_GET_VRING_BASE, ring); trace_vhost_vdpa_get_vring_base(dev, ring->index, ring->num); return ret; |