Commit 7abccd08 authored by Xie Yongji's avatar Xie Yongji Committed by Michael S. Tsirkin
Browse files

virtio: Set "start_on_kick" for legacy devices



Besides virtio 1.0 transitional devices, we should also
set "start_on_kick" flag for legacy devices (virtio 0.9).

Signed-off-by: default avatarXie Yongji <xieyongji@baidu.com>
Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
Message-Id: <20190626023130.31315-3-xieyongji@baidu.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent e57f2c31
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1212,8 +1212,7 @@ void virtio_reset(void *opaque)
        k->reset(vdev);
    }

    vdev->start_on_kick = (virtio_host_has_feature(vdev, VIRTIO_F_VERSION_1) &&
                          !virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1));
    vdev->start_on_kick = !virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1);
    vdev->started = false;
    vdev->broken = false;
    vdev->guest_features = 0;
@@ -2325,8 +2324,7 @@ void virtio_init(VirtIODevice *vdev, const char *name,
            g_malloc0(sizeof(*vdev->vector_queues) * nvectors);
    }

    vdev->start_on_kick = (virtio_host_has_feature(vdev, VIRTIO_F_VERSION_1) &&
                          !virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1));
    vdev->start_on_kick = !virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1);
    vdev->started = false;
    vdev->device_id = device_id;
    vdev->status = 0;
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ struct VirtIODevice
    bool broken; /* device in invalid state, needs reset */
    bool use_started;
    bool started;
    bool start_on_kick; /* virtio 1.0 transitional devices support that */
    bool start_on_kick; /* when virtio 1.0 feature has not been negotiated */
    VMChangeStateEntry *vmstate;
    char *bus_name;
    uint8_t device_endian;