Hi, I'm playing with a qemu-2.5.0 and pc-i440fx-2.4 machine type, and perhaps I don't understand correctly the compat_props machinery but there is something strange for me:
in qemu-2.5.0, hw/virtio/virtio-pci.c: 1880 DEFINE_PROP_BIT("x-disable-pcie", VirtIOPCIProxy, flags, 1881 VIRTIO_PCI_FLAG_DISABLE_PCIE_BIT, false), So I guess a new default machine (pc-i440fx-2.5) will be defined by default with "x-disable-pcie" set to "false". and in qemu-2.5, include/hw/compat.h: 3 4 #define HW_COMPAT_2_4 \ 5 {\ .. 14 .driver = "virtio-pci",\ 15 .property = "x-disable-pcie",\ 16 .value = "on",\ 17 },{\ So I guess a new machine pc-i440fx-2.4 created with qemu-2.5.0 will have "x-disable-pcie" set to true (as with qemu-2.4.0 this feature is not available). But in this case "x-disable-pcie" is always set to "false". So the questions are: - do I understand correctly? - I check "x-disable-pcie" for "virtio-*-pci" devices (virtio-net-pci, virtio-balloon-pci, ..."), should they inherit the behavior from their parent "virtio-pci"? (they should, as virtio-pci is an abstract device type) My test: - take qemu-2.5.0 (a8c40fa Update version for v2.5.0 release) - start it with "-M pc-i440fx-2.5 -device virtio-balloon-pci -S", "info qtree": bus: pci.0 type PCI dev: virtio-balloon-pci, id "" ... x-disable-pcie = false - start it with "-M pc-i440fx-2.4 -device virtio-balloon-pci -S", "info qtree": bus: pci.0 type PCI dev: virtio-balloon-pci, id "" ... x-disable-pcie = false Any explanation is very welcome. Thanks, Laurent