summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_missing/host_missing/accel_missing/2968
blob: 1b49d64bbc064d147342c51c7953cd7115e870ba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Regression: x-igd-opregion=off ignored in VFIO IGD quirk handling
Description of problem:
A regression in QEMU’s VFIO IGD initialization causes the `x-igd-opregion=off` parameter to be ignored, resulting in an error when passing through an Intel iGPU SR-IOV Virtual Function (VF) at PCI address `00:02.1`: `qemu-system-x86_64: -device vfio-pci,host=0000:00:02.1,...: Device does not supports IGD OpRegion feature: No such device`
Automatic detection of IGD-OpRegion assumes any Intel iGPU (including GVT-g) will have it but SR-IOV VFs do not.
Steps to reproduce:
1. Configure an Intel iGPU with SR-IOV enabled, creating a VF at `00:02.1`.
2. Bind the VF to the `vfio-pci` driver:
```
    echo 0000:00:02.1 > /sys/bus/pci/drivers/i915/unbind
    either:
      echo "8086 4680" > /sys/bus/pci/drivers/vfio-pci/new_id
    or:
      echo 0000:00:02.1 > /sys/bus/pci/drivers/vfio-pci/bind
```
3. Run QEMU with the command line above, including `-device vfio-pci,host=0000:00:02.1,...,x-igd-opregion=off`.
Additional information:
- **Hardware details**:
  - `00:02.1 VGA compatible controller [0300]: Intel Corporation AlderLake-S GT1 [8086:4680] (rev 0c)`
  - Host motherboard: MSI PRO Z690-A DDR4
  - CPU: Intel Core i5 12600K
- **Regression cause**: The issue was introduced by commit 7be29f2f1a3f5b037d27eedbd5df9f441e8c8c16, which changed `vfio_pci_igd_config_quirk` to detect OpRegion automatically, ignoring `vdev->igd_opregion=false`.
- **Proposed fix**: I have a patch that adds checks for `vdev->igd_opregion` in `vfio_pci_igd_config_quirk` and `vfio_pci_kvmgt_config_quirk`, skipping OpRegion handling when `x-igd-opregion=off`. The patch has been tested, confirming the VM starts without errors. I will submit it to qemu-devel@nongnu.org with a reference to this issue.