On 6/13/24 11:20 AM, Duan, Zhenzhong wrote:
>
>
>> -----Original Message-----
>> From: Cédric Le Goater <clg@redhat.com>
>> Subject: [PATCH v1 15/16] vfio/container: Remove vfio_container_init()
>>
>> It's now empty.
>>
>> Signed-off-by: Cédric Le Goater <clg@redhat.com>
>> ---
>> include/hw/vfio/vfio-container-base.h | 2 --
>> hw/vfio/container-base.c | 5 -----
>> hw/vfio/container.c | 3 ---
>> hw/vfio/iommufd.c | 1 -
>> 4 files changed, 11 deletions(-)
>>
>> diff --git a/include/hw/vfio/vfio-container-base.h b/include/hw/vfio/vfio-
>> container-base.h
>> index
>> 6b57cd8e7f5d7d2817f6e3b96ce4566d2630bb12..6242a62771caa8cf19440
>> a53ad6f4db862ca12d7 100644
>> --- a/include/hw/vfio/vfio-container-base.h
>> +++ b/include/hw/vfio/vfio-container-base.h
>> @@ -86,8 +86,6 @@ int
>> vfio_container_set_dirty_page_tracking(VFIOContainerBase *bcontainer,
>> int vfio_container_query_dirty_bitmap(const VFIOContainerBase
>> *bcontainer,
>> VFIOBitmap *vbmap, hwaddr iova, hwaddr size, Error **errp);
>>
>> -void vfio_container_init(VFIOContainerBase *bcontainer,
>> - const VFIOIOMMUClass *ops);
>> void vfio_container_destroy(VFIOContainerBase *bcontainer);
>
> Maybe we can do the same for vfio_container_destroy()?
> Move the code into .instance_finalize().
yes. let's add a instance_finalize handler.
Thanks,
C.
>
> Thanks
> Zhenzhong
>
>>
>>
>> diff --git a/hw/vfio/container-base.c b/hw/vfio/container-base.c
>> index
>> 24669d4d7472f49ac3adf2618a32bf7d82c5c344..970ae2356a92f87df44e1d
>> d58ff8c67045a24ef1 100644
>> --- a/hw/vfio/container-base.c
>> +++ b/hw/vfio/container-base.c
>> @@ -83,11 +83,6 @@ int vfio_container_query_dirty_bitmap(const
>> VFIOContainerBase *bcontainer,
>> errp);
>> }
>>
>> -void vfio_container_init(VFIOContainerBase *bcontainer,
>> - const VFIOIOMMUClass *ops)
>> -{
>> -}
>> -
>> void vfio_container_destroy(VFIOContainerBase *bcontainer)
>> {
>> VFIOGuestIOMMU *giommu, *tmp;
>> diff --git a/hw/vfio/container.c b/hw/vfio/container.c
>> index
>> 9e9e1ab229c0804f073cd65d92735d4bbf63d1d7..60a0838a9ca83a010d733
>> 96dbcd2d24fcdc802ae 100644
>> --- a/hw/vfio/container.c
>> +++ b/hw/vfio/container.c
>> @@ -419,7 +419,6 @@ static VFIOContainer *vfio_create_container(int fd,
>> VFIOGroup *group,
>> Error **errp)
>> {
>> int iommu_type;
>> - const VFIOIOMMUClass *vioc;
>> const char *vioc_name;
>> VFIOContainer *container;
>>
>> @@ -433,12 +432,10 @@ static VFIOContainer *vfio_create_container(int
>> fd, VFIOGroup *group,
>> }
>>
>> vioc_name = vfio_get_iommu_class_name(iommu_type);
>> - vioc = VFIO_IOMMU_CLASS(object_class_by_name(vioc_name));
>>
>> container = VFIO_IOMMU_LEGACY(object_new(vioc_name));
>> container->fd = fd;
>> container->iommu_type = iommu_type;
>> - vfio_container_init(&container->bcontainer, vioc);
>> return container;
>> }
>>
>> diff --git a/hw/vfio/iommufd.c b/hw/vfio/iommufd.c
>> index
>> e1932135df410c53d4062616ee2664b27d30b92c..811e12b7da91357fa5b8
>> 5ebb9dcc3adeabfa41fd 100644
>> --- a/hw/vfio/iommufd.c
>> +++ b/hw/vfio/iommufd.c
>> @@ -357,7 +357,6 @@ static bool iommufd_cdev_attach(const char *name,
>> VFIODevice *vbasedev,
>> container->ioas_id = ioas_id;
>>
>> bcontainer = &container->bcontainer;
>> - vfio_container_init(bcontainer, iommufd_vioc);
>> vfio_address_space_insert(space, bcontainer);
>>
>> if (!iommufd_cdev_attach_container(vbasedev, container, errp)) {
>> --
>> 2.45.2
>