mbox series

[00/10] vfio/igd: Remove legacy mode

Message ID 20250224182927.31519-1-tomitamoeko@gmail.com (mailing list archive)
Headers show
Series vfio/igd: Remove legacy mode | expand

Message

Tomita Moeko Feb. 24, 2025, 6:29 p.m. UTC
This patchset removes some legacy checks and converts the legacy mode
implicitly enabled by BDF 00:02.0 into x-igd-* options, including:
* Removing PCI ROM BAR and VGA IO/MMIO range check before applying quirk
* Using unified x-igd-opregion option for OpRegion access.
* Introducing new x-igd-lpc option for the LPC bridge / Host bridge ID
  quirk. Currently this is only supported on i440fx.
* Extending quirk support when IGD is not assigned to BDF 00:02.0

The first 2 patches of this patchset was taken from a previous one,
details can be found at:
https://lore.kernel.org/all/20250124191245.12464-1-tomitamoeko@gmail.com/

This patchest was mainly tested on Alder Lake UHD770, with Debian 12
(kernel 6.1), Windows 11 (driver 32.0.101.6458) and Intel GOP driver
17.0.1081.

If the design is good to go, I will update the documentation also.

A open question is whether the old legacy mode behavior should be kept
or not. Checking if all the condition of legacy mode were met and
toggling correspoding options is more complicated then I expected :(
Any ideas would be appreciated.


Tomita Moeko (10):
  vfio/igd: Remove GTT write quirk in IO BAR 4
  vfio/igd: Do not include GTT stolen size in etc/igd-bdsm-size
  vfio/igd: Remove rombar check for legacy mode
  vfio/igd: Remove implicit VGA access enabled by legacy mode
  vfio/pci: Make vfio_populate_vga static
  vfio/igd: Consolidate OpRegion initialization into a single function
  vfio/igd: Move LPC bridge initialization to a separate function
  vfio/pci: Add placeholder for device-specific config space quirks
  vfio/igd: Refactor vfio_probe_igd_bar4_quirk into pci config quirk
  vfio/igd: Replace legacy mode with options

 hw/vfio/igd.c        | 476 ++++++++++++++-----------------------------
 hw/vfio/pci-quirks.c |  51 +----
 hw/vfio/pci.c        |  33 +--
 hw/vfio/pci.h        |  12 +-
 4 files changed, 166 insertions(+), 406 deletions(-)