vfio/ap: Don't initialize HOST_IOMMU_DEVICE with mdev

mdevs aren't "physical" devices and when asking for backing IOMMU info,
it fails the entire provisioning of the guest. Fix that by setting
vbasedev->mdev true so skipping HostIOMMUDevice initialization in the
presence of mdevs.

Fixes: 9305895201 ("vfio/iommufd: Implement HostIOMMUDeviceClass::realize() handler")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Joao Martins <joao.m.martins@oracle.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
This commit is contained in:
Zhenzhong Duan 2024-07-22 15:07:12 +08:00 committed by Cédric Le Goater
parent b07dcb7d4f
commit c598d65aef
1 changed files with 3 additions and 0 deletions

View File

@ -230,6 +230,9 @@ static void vfio_ap_instance_init(Object *obj)
*/
vfio_device_init(vbasedev, VFIO_DEVICE_TYPE_AP, &vfio_ap_ops,
DEVICE(vapdev), true);
/* AP device is mdev type device */
vbasedev->mdev = true;
}
#ifdef CONFIG_IOMMUFD