summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTomita Moeko <tomitamoeko@gmail.com>2025-05-06 01:03:01 +0800
committerCédric Le Goater <clg@redhat.com>2025-05-09 12:42:27 +0200
commit106cdbcef4ef1c99c2c66b68f8c3349363fac97b (patch)
treecbfad5caf5c4e97e176de8e814e5ce76a1c839ea
parent2bd33abcf16b50de8e71b1db98186d6fa67f9a39 (diff)
downloadfocaccia-qemu-106cdbcef4ef1c99c2c66b68f8c3349363fac97b.tar.gz
focaccia-qemu-106cdbcef4ef1c99c2c66b68f8c3349363fac97b.zip
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>
Diffstat (limited to '')
-rw-r--r--hw/vfio/igd.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/hw/vfio/igd.c b/hw/vfio/igd.c
index f5dd475028..9dec32818c 100644
--- a/hw/vfio/igd.c
+++ b/hw/vfio/igd.c
@@ -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;
     }