vfio/container: Initialize VFIOIOMMUOps under vfio_init_container()

vfio_init_container() already defines the IOMMU type of the container.
Do the same for the VFIOIOMMUOps struct. This prepares ground for the
following patches that will deduce the associated VFIOIOMMUOps struct
from the IOMMU type.

Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Tested-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
Cédric Le Goater 2023-12-19 07:58:18 +01:00
parent d3764db875
commit bffe92af0e
1 changed files with 3 additions and 3 deletions

View File

@ -370,7 +370,7 @@ static int vfio_get_iommu_type(VFIOContainer *container,
}
static int vfio_init_container(VFIOContainer *container, int group_fd,
Error **errp)
VFIOAddressSpace *space, Error **errp)
{
int iommu_type, ret;
@ -401,6 +401,7 @@ static int vfio_init_container(VFIOContainer *container, int group_fd,
}
container->iommu_type = iommu_type;
vfio_container_init(&container->bcontainer, space, &vfio_legacy_ops);
return 0;
}
@ -583,9 +584,8 @@ static int vfio_connect_container(VFIOGroup *group, AddressSpace *as,
container = g_malloc0(sizeof(*container));
container->fd = fd;
bcontainer = &container->bcontainer;
vfio_container_init(bcontainer, space, &vfio_legacy_ops);
ret = vfio_init_container(container, group->fd, errp);
ret = vfio_init_container(container, group->fd, space, errp);
if (ret) {
goto free_container_exit;
}