On Tue, 2025-04-29 at 00:10 +0800, Tomita Moeko wrote:
> CAUTION: External Email!!
> As the presence of OpRegion is used to detect IGD device now, and
> guest driver usually depends on OpRegion to work. Enable OpRegion
> on IGD devices by default for out-of-the-box passthrough experience
> (except pre-boot display output), especially for libvirt users.
>
> Example of IGD passthrough with libvirt:
> <hostdev mode="subsystem" type="pci" managed="yes">
> <source>
> <address domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
> </source>
> <rom file="/path/to/igd/rom"/>
> <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
> </hostdev>
>
> Signed-off-by: Tomita Moeko <tomitamoeko@gmail.com>
> ---
> docs/igd-assign.txt | 4 ++--
> hw/vfio/pci.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/docs/igd-assign.txt b/docs/igd-assign.txt
> index 95beb76812..fc444503ff 100644
> --- a/docs/igd-assign.txt
> +++ b/docs/igd-assign.txt
> @@ -102,7 +102,7 @@ digital formats work well.
>
> Options
> =======
> -* x-igd-opregion=[on|*off*]
> +* x-igd-opregion=[*on*|off]
> Copy host IGD OpRegion and expose it to guest with fw_cfg
>
> * x-igd-lpc=[on|*off*]
> @@ -124,7 +124,7 @@ Examples
>
> * Adding IGD with OpRegion and LPC ID hack, but without VGA ranges
> (For UEFI guests)
> - -device vfio-pci,host=00:02.0,id=hostdev0,addr=2.0,x-igd-legacy-mode=off,x-
> igd-opregion=on,x-igd-lpc=on,romfile=efi_oprom.rom
> + -device vfio-pci,host=00:02.0,id=hostdev0,addr=2.0,x-igd-legacy-mode=off,x-
> igd-lpc=on,romfile=efi_oprom.rom
>
>
> Guest firmware
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index 05a7a62204..38ff231625 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -3361,7 +3361,7 @@ static const Property vfio_pci_dev_properties[] = {
> DEFINE_PROP_BIT("x-req", VFIOPCIDevice, features,
> VFIO_FEATURE_ENABLE_REQ_BIT, true),
> DEFINE_PROP_BIT("x-igd-opregion", VFIOPCIDevice, features,
> - VFIO_FEATURE_ENABLE_IGD_OPREGION_BIT, false),
> + VFIO_FEATURE_ENABLE_IGD_OPREGION_BIT, true),
> DEFINE_PROP_BIT("x-igd-lpc", VFIOPCIDevice, features,
> VFIO_FEATURE_ENABLE_IGD_LPC_BIT, false),
> DEFINE_PROP_ON_OFF_AUTO("x-igd-legacy-mode", VFIOPCIDevice,
Reviewed-by: Corvin Köhne <c.koehne@beckhoff.com>
--
Kind regards,
Corvin