This callback will be used to initialize base and public elements in IOMMULegacyDevice.
Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com> --- hw/vfio/container.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/vfio/container.c b/hw/vfio/container.c index bd25b9fbad..2e8ff32284 100644 --- a/hw/vfio/container.c +++ b/hw/vfio/container.c @@ -1120,6 +1120,14 @@ out_single: return ret; } +static void vfio_legacy_host_iommu_device_create(VFIODevice *vbasedev) +{ + vbasedev->base_hdev = g_malloc0(sizeof(IOMMULegacyDevice)); + + host_iommu_base_device_init(vbasedev->base_hdev, HID_LEGACY, + sizeof(IOMMULegacyDevice)); +} + static void vfio_iommu_legacy_class_init(ObjectClass *klass, void *data) { VFIOIOMMUClass *vioc = VFIO_IOMMU_CLASS(klass); @@ -1132,6 +1140,7 @@ static void vfio_iommu_legacy_class_init(ObjectClass *klass, void *data) vioc->set_dirty_page_tracking = vfio_legacy_set_dirty_page_tracking; vioc->query_dirty_bitmap = vfio_legacy_query_dirty_bitmap; vioc->pci_hot_reset = vfio_legacy_pci_hot_reset; + vioc->host_iommu_device_create = vfio_legacy_host_iommu_device_create; }; static const TypeInfo types[] = { -- 2.34.1