aboutsummaryrefslogtreecommitdiff
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)
downloadqemu-106cdbcef4ef1c99c2c66b68f8c3349363fac97b.zip
qemu-106cdbcef4ef1c99c2c66b68f8c3349363fac97b.tar.gz
qemu-106cdbcef4ef1c99c2c66b68f8c3349363fac97b.tar.bz2
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>
-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 f5dd475..9dec328 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;
}