aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2022-11-21 15:01:50 -0500
committerMichael S. Tsirkin <mst@redhat.com>2022-11-22 05:19:00 -0500
commitb7c61789e653086618d1825858a97b3d9891e822 (patch)
tree82d6361da7e3f510f947340fea874f7ea32daf49
parent04e5bd441a9c60d21d38beb1b2b52ce12830cb99 (diff)
downloadqemu-b7c61789e653086618d1825858a97b3d9891e822.zip
qemu-b7c61789e653086618d1825858a97b3d9891e822.tar.gz
qemu-b7c61789e653086618d1825858a97b3d9891e822.tar.bz2
virtio: disable error for out of spec queue-enable
Virtio 1.0 is pretty clear that features have to be negotiated before enabling VQs. Unfortunately Seabios ignored this ever since gaining 1.0 support (UEFI is ok). Comment the error out for now, and add a TODO. Fixes: 3c37f8b8d1 ("virtio: introduce virtio_queue_enable()") Cc: "Kangjie Xu" <kangjie.xu@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20221121200339.362452-1-mst@redhat.com>
-rw-r--r--hw/virtio/virtio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 9683b2e..eb6347a 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -2499,10 +2499,17 @@ void virtio_queue_enable(VirtIODevice *vdev, uint32_t queue_index)
{
VirtioDeviceClass *k = VIRTIO_DEVICE_GET_CLASS(vdev);
+ /*
+ * TODO: Seabios is currently out of spec and triggering this error.
+ * So this needs to be fixed in Seabios, then this can
+ * be re-enabled for new machine types only, and also after
+ * being converted to LOG_GUEST_ERROR.
+ *
if (!virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) {
error_report("queue_enable is only suppported in devices of virtio "
"1.0 or later.");
}
+ */
if (k->queue_enable) {
k->queue_enable(vdev, queue_index);