On 11.07.23 11:22, David Hildenbrand wrote:
On 11.07.23 10:47, Michael S. Tsirkin wrote:
On Tue, Jul 11, 2023 at 10:32:31AM +0200, David Hildenbrand wrote:
On 10.07.23 23:40, Michael S. Tsirkin wrote:
@@ -2855,12 +2796,11 @@ static void virt_machine_device_plug_cb(HotplugHandler
*hotplug_dev,
SYS_BUS_DEVICE(dev));
}
}
+
if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) {
virt_memory_plug(hotplug_dev, dev, errp);
- }
-
- if (object_dynamic_cast(OBJECT(dev), TYPE_VIRTIO_MEM_PCI)) {
- virt_virtio_md_pci_plug(hotplug_dev, dev, errp);
+ } else if (object_dynamic_cast(OBJECT(dev), TYPE_VIRTIO_MD_PCI)) {
+ virtio_md_pci_plug(VIRTIO_MD_PCI(dev), MACHINE(hotplug_dev), errp);
}
if (object_dynamic_cast(OBJECT(dev), TYPE_VIRTIO_IOMMU_PCI)) {
How is this supposed to link if virtio-md is disabled at compile time?
Good point.
The old code unconditionally enabled MEM_DEVICE, so we never required subs
for that.
We either need stubs or have to wrap this in #ifdef.
Stubs sound cleaner.
That is what we usually do, yes.
I'm testing with the following:
diff --git a/stubs/meson.build b/stubs/meson.build
index a56645e2f7..160154912c 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -65,3 +65,4 @@ else
endif
stub_ss.add(files('semihost-all.c'))
stub_ss.add(when: 'CONFIG_VFIO_USER_SERVER', if_false:
files('vfio-user-obj.c'))
+stub_ss.add(when: 'CONFIG_VIRTIO_MD', if_false: files('virtio_md_pci.c'))
Needs to be
diff --git a/stubs/meson.build b/stubs/meson.build
index a56645e2f7..f16a365731 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -60,6 +60,7 @@ if have_system
stub_ss.add(files('semihost.c'))
stub_ss.add(files('usb-dev-stub.c'))
stub_ss.add(files('xen-hw-stub.c'))
+ stub_ss.add(files('virtio_md_pci.c'))
else
stub_ss.add(files('qdev.c'))
endif
Otherwise it still fails when building for multiple targets.
--
Cheers,
David / dhildenb