@@ -621,6 +621,11 @@ out_single:
return ret;
}
+static void vfio_cdev_host_iommu_device_init(VFIODevice *vbasedev)
+{
+ iommufd_device_init(&vbasedev->iommufd_dev);
+}
+
static void vfio_iommu_iommufd_class_init(ObjectClass *klass, void *data)
{
VFIOIOMMUClass *vioc = VFIO_IOMMU_CLASS(klass);
@@ -630,6 +635,7 @@ static void vfio_iommu_iommufd_class_init(ObjectClass *klass, void *data)
vioc->attach_device = iommufd_cdev_attach;
vioc->detach_device = iommufd_cdev_detach;
vioc->pci_hot_reset = iommufd_cdev_pci_hot_reset;
+ vioc->host_iommu_device_init = vfio_cdev_host_iommu_device_init;
};
static const TypeInfo types[] = {
This callback will be used to initialize base and public elements in IOMMUFDDevice, with the exception of iommufd and devid which are initialized early in attachment. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> --- hw/vfio/iommufd.c | 6 ++++++ 1 file changed, 6 insertions(+)