[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[qemu-xen staging] virtio-mem-pci: force virtio version 1



commit c22aba196341995f2e45c37eed36cc7be09e4bc3
Author:     David Hildenbrand <david@xxxxxxxxxx>
AuthorDate: Mon Jul 27 13:59:05 2020 +0200
Commit:     Michael S. Tsirkin <mst@xxxxxxxxxx>
CommitDate: Mon Jul 27 09:38:33 2020 -0400

    virtio-mem-pci: force virtio version 1
    
    Trying to run simple virtio-mem-pci examples currently fails with
        qemu-system-x86_64: -device virtio-mem-pci,id=vm0,memdev=mem0,node=0,
        requested-size=300M: device is modern-only, use disable-legacy=on
    due to the added safety checks in 9b3a35ec8236 ("virtio: verify that legacy
    support is not accidentally on").
    
    As noted by Conny, we have to force virtio version 1. While at it, use
    qdev_realize() to set the parent bus and realize - like most other
    virtio-*-pci implementations.
    
    Fixes: 0b9a2443a48b ("virtio-pci: Proxy for virtio-mem")
    Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>
    Cc: Cornelia Huck <cohuck@xxxxxxxxxx>
    Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
    Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>
    Message-Id: <20200727115905.129397-1-david@xxxxxxxxxx>
    Cc: qemu-stable@xxxxxxxxxx
    Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
    Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
---
 hw/virtio/virtio-mem-pci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/virtio/virtio-mem-pci.c b/hw/virtio/virtio-mem-pci.c
index d375280ee1..590cec041b 100644
--- a/hw/virtio/virtio-mem-pci.c
+++ b/hw/virtio/virtio-mem-pci.c
@@ -21,8 +21,8 @@ static void virtio_mem_pci_realize(VirtIOPCIProxy *vpci_dev, 
Error **errp)
     VirtIOMEMPCI *mem_pci = VIRTIO_MEM_PCI(vpci_dev);
     DeviceState *vdev = DEVICE(&mem_pci->vdev);
 
-    qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
-    object_property_set_bool(OBJECT(vdev), "realized", true, errp);
+    virtio_pci_force_virtio_1(vpci_dev);
+    qdev_realize(vdev, BUS(&vpci_dev->bus), errp);
 }
 
 static void virtio_mem_pci_set_addr(MemoryDeviceState *md, uint64_t addr,
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.