summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCindy Lu2020-07-01 16:55:31 +0200
committerMichael S. Tsirkin2020-07-03 13:57:04 +0200
commitca71db438bdc317c7b8ef890c3d9a804cec109b5 (patch)
treeff30146d880d14ee6167c9485d6c41458067c992
parentvhost: introduce new VhostOps vhost_dev_start (diff)
downloadqemu-ca71db438bdc317c7b8ef890c3d9a804cec109b5.tar.gz
qemu-ca71db438bdc317c7b8ef890c3d9a804cec109b5.tar.xz
qemu-ca71db438bdc317c7b8ef890c3d9a804cec109b5.zip
vhost: implement vhost_dev_start method
use the vhost_dev_start callback to send the status to backend Signed-off-by: Cindy Lu <lulu@redhat.com> Message-Id: <20200701145538.22333-8-lulu@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com>
-rw-r--r--hw/virtio/vhost.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index 10304b583e..32809e54b5 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -1685,7 +1685,12 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
goto fail_log;
}
}
-
+ if (hdev->vhost_ops->vhost_dev_start) {
+ r = hdev->vhost_ops->vhost_dev_start(hdev, true);
+ if (r) {
+ goto fail_log;
+ }
+ }
if (vhost_dev_has_iommu(hdev) &&
hdev->vhost_ops->vhost_set_iotlb_callback) {
hdev->vhost_ops->vhost_set_iotlb_callback(hdev, true);
@@ -1723,6 +1728,9 @@ void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev)
/* should only be called after backend is connected */
assert(hdev->vhost_ops);
+ if (hdev->vhost_ops->vhost_dev_start) {
+ hdev->vhost_ops->vhost_dev_start(hdev, false);
+ }
for (i = 0; i < hdev->nvqs; ++i) {
vhost_virtqueue_stop(hdev,
vdev,