mirror of https://github.com/xemu-project/xemu.git
vfio/container: Introduce a empty VFIOIOMMUOps
This empty VFIOIOMMUOps named vfio_legacy_ops will hold all general IOMMU ops of legacy container. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
f61dddd732
commit
d246685791
|
@ -472,6 +472,7 @@ static int vfio_connect_container(VFIOGroup *group, AddressSpace *as,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
VFIOContainer *container;
|
VFIOContainer *container;
|
||||||
|
VFIOContainerBase *bcontainer;
|
||||||
int ret, fd;
|
int ret, fd;
|
||||||
VFIOAddressSpace *space;
|
VFIOAddressSpace *space;
|
||||||
|
|
||||||
|
@ -552,6 +553,8 @@ static int vfio_connect_container(VFIOGroup *group, AddressSpace *as,
|
||||||
container->iova_ranges = NULL;
|
container->iova_ranges = NULL;
|
||||||
QLIST_INIT(&container->giommu_list);
|
QLIST_INIT(&container->giommu_list);
|
||||||
QLIST_INIT(&container->vrdl_list);
|
QLIST_INIT(&container->vrdl_list);
|
||||||
|
bcontainer = &container->bcontainer;
|
||||||
|
bcontainer->ops = &vfio_legacy_ops;
|
||||||
|
|
||||||
ret = vfio_init_container(container, group->fd, errp);
|
ret = vfio_init_container(container, group->fd, errp);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
@ -933,3 +936,5 @@ void vfio_detach_device(VFIODevice *vbasedev)
|
||||||
vfio_put_base_device(vbasedev);
|
vfio_put_base_device(vbasedev);
|
||||||
vfio_put_group(group);
|
vfio_put_group(group);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const VFIOIOMMUOps vfio_legacy_ops;
|
||||||
|
|
|
@ -255,7 +255,7 @@ typedef QLIST_HEAD(VFIOGroupList, VFIOGroup) VFIOGroupList;
|
||||||
typedef QLIST_HEAD(VFIODeviceList, VFIODevice) VFIODeviceList;
|
typedef QLIST_HEAD(VFIODeviceList, VFIODevice) VFIODeviceList;
|
||||||
extern VFIOGroupList vfio_group_list;
|
extern VFIOGroupList vfio_group_list;
|
||||||
extern VFIODeviceList vfio_device_list;
|
extern VFIODeviceList vfio_device_list;
|
||||||
|
extern const VFIOIOMMUOps vfio_legacy_ops;
|
||||||
extern const MemoryListener vfio_memory_listener;
|
extern const MemoryListener vfio_memory_listener;
|
||||||
extern int vfio_kvm_device_fd;
|
extern int vfio_kvm_device_fd;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue