From: Tomita Moeko Date: Mon, 5 May 2025 17:03:01 +0000 (+0800) Subject: vfio/igd: Check OpRegion support on GVT-g mdev X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=106cdbcef4ef1c99c2c66b68f8c3349363fac97b;p=thirdparty%2Fqemu.git 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 Reviewed-by: Corvin Köhne Reviewed-by: Alex Williamson Tested-by: Alex Williamson Link: https://lore.kernel.org/qemu-devel/20250505170305.23622-6-tomitamoeko@gmail.com Signed-off-by: Cédric Le Goater --- 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; }