Hi, This series addresses Cédric's suggestion[1] and Donald's suggestion[2] to move realize() call after attach_device().
Also addresses Eric and Nicolin's suggestion[3] to use a union to hold different vendor capabilities. [1] https://lists.gnu.org/archive/html/qemu-devel/2025-04/msg01211.html [2] https://lists.gnu.org/archive/html/qemu-devel/2025-04/msg00898.html [3] https://lists.gnu.org/archive/html/qemu-devel/2025-03/msg01552.html Test: net card passthrough and ping test hotplug/unplug Based on vfio-next(b9d42a878b). Thanks Zhenzhong Zhenzhong Duan (5): vfio/iommufd: Save host iommu capabilities in VFIODevice.caps vfio: Move realize() after attach_device() vfio/iommufd: Implement .get_cap() in TYPE_HOST_IOMMU_DEVICE_IOMMUFD_VFIO sub-class backends/iommufd: Drop hiod_iommufd_get_cap() vfio/iommufd: Drop HostIOMMUDeviceCaps from HostIOMMUDevice include/hw/vfio/vfio-device.h | 2 +- include/system/host_iommu_device.h | 14 ------- include/system/iommufd.h | 26 ++++++++++++ backends/iommufd.c | 63 +++++++++++++++++++----------- hw/vfio/container.c | 4 -- hw/vfio/device.c | 28 ++++++------- hw/vfio/iommufd.c | 39 ++++++++++-------- 7 files changed, 100 insertions(+), 76 deletions(-) -- 2.34.1