vfio/igd: Check OpRegion support on GVT-g mdev

The Intel GVT-g backend `kvmgt` always emulates OpRegion for vGPU,
make sure the OpRegion is present for enabling access to it
automatically later.

Also, hotplugging GVT-g vGPU is now always disallowed regardless of
OpRegion to prevent potential issues. Intel has never claimed support
for GVT-g hotplugging.

Signed-off-by: Tomita Moeko <tomitamoeko@gmail.com>
Reviewed-by: Corvin Köhne <c.koehne@beckhoff.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Tested-by: Alex Williamson <alex.williamson@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250505170305.23622-6-tomitamoeko@gmail.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
Tomita Moeko 2025-05-06 01:03:01 +08:00 committed by Cédric Le Goater
parent 2bd33abcf1
commit 106cdbcef4

View file

@ -685,9 +685,13 @@ static bool vfio_pci_kvmgt_config_quirk(VFIOPCIDevice *vdev, Error **errp)
return true;
}
if (!vfio_pci_igd_opregion_detect(vdev, &opregion, errp)) {
/* Should never reach here, KVMGT always emulates OpRegion */
return false;
}
if ((vdev->features & VFIO_FEATURE_ENABLE_IGD_OPREGION) &&
(!vfio_pci_igd_opregion_detect(vdev, &opregion, errp) ||
!vfio_pci_igd_opregion_init(vdev, opregion, errp))) {
!vfio_pci_igd_opregion_init(vdev, opregion, errp)) {
return false;
}