On Fri, 7 Mar 2025 02:01:20 +0800 Tomita Moeko <tomitamo...@gmail.com> wrote:
> This patchset intends to decouple existing quirks from legacy mode. > Currently all quirks depends on legacy mode (except x-igd-opregion), > which includes following conditions: > * Machine type is i440fx > * IGD device is at guest BDF 00:02.0 > * VBIOS in ROM BAR or file > * VGA IO/MMIO ranges are claimed by IGD > * OpRegion > * Same LPC bridge and Host bridge VID/DID/SVID/SSID as host > > If one of the condition is not met, the quirks will not be applied. > However, for recent generations, espcially Gen 11+ devices that removed > VBIOS support, not all the conditions are required. For example, on EFI- > based systems, VBIOS ROM is unnecessary, and VGA ranges are not used. > > To have better support on newer UEFI-based VMs, this patchset makes the > quirks independent of legacy mode. The BDSM and GGC register quirks are > applied to all supported IGD devices, new x-igd-lpc option for the LPC > bridge / Host bridge ID quirk is introduced for possible Q35 support. > It also prepares for supporting IGD passthrough when it is not primary > display later (kernel change will be merged in 6.15). > > To maintain backward compatbility with exising configuration, legacy > mode will automatically be enabled when: > * Machine type is i440fx > * IGD device is at guest BDF 00:02.0 > If the legacy mode behavior is unwanted, option x-igd-legacy-mode=off > is provided for users to disable it. Setting x-igd-legacy-mode=on checks > if the condition above are met, and set up all the required quirks. > > The default value is x-igd-legacy-mode=auto. When the above conditions > are all met, it acts as before and continues on any error. Otherwise it > is equivalent to x-igd-legacy-mode=off. > > When x-igd-legacy-mode is set to on or off, QEMU will fail immediately > on error. > > 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-tomitamo...@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. > > Due to I caught COVID these days, I am unable to deliver the proposed > documentation update before QEMU 10.0 soft-freeze next week. Please help > decide whether to make this patch series in 10.0 or next release. > > Changelog: > v3: > * Use OnOffAuto for x-igd-legacy-mode option, default is auto, to keep > current behavior. > * Added a new patch to solve the possible KVMGT/GVT-g fail. > Link: > https://lore.kernel.org/all/20250303175220.74917-1-tomitamo...@gmail.com/ See comment on 07/ but otherwise works for me with GVT-d and GVT-g on my i7-7700: Reviewed-by: Alex Williamson <alex.william...@redhat.com> Tested-by: Alex Williamson <alex.william...@redhat.com>