virtio: skip legacy support check on machine types less than 5.1
commitd55f518248f263bb8d0852f98e47102ea09d4f89
authorStefano Garzarella <sgarzare@redhat.com>
Mon, 21 Sep 2020 12:25:03 +0000 (21 14:25 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 29 Sep 2020 06:15:24 +0000 (29 02:15 -0400)
treea1fd5d8d6310b739ce7bdb0d94be918dadd460f8
parent40bc0ca924daca3fb2b5ca528a28eedf9ceec081
virtio: skip legacy support check on machine types less than 5.1

Commit 9b3a35ec82 ("virtio: verify that legacy support is not accidentally
on") added a check that returns an error if legacy support is on, but the
device does not support legacy.

Unfortunately some devices were wrongly declared legacy capable even if
they were not (e.g vhost-vsock).

To avoid migration issues, we add a virtio-device property
(x-disable-legacy-check) to skip the legacy error, printing a warning
instead, for machine types < 5.1.

Cc: qemu-stable@nongnu.org
Fixes: 9b3a35ec82 ("virtio: verify that legacy support is not accidentally on")
Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20200921122506.82515-2-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/core/machine.c
hw/s390x/virtio-ccw.c
hw/virtio/virtio-pci.c
hw/virtio/virtio.c
include/hw/virtio/virtio.h