On Fri, 6 Dec 2024 20:27:38 +0800 Tomita Moeko <tomitamo...@gmail.com> wrote:
> This patchset extends the support of legacy mode igd passthrough to > all Intel Gen 11 and 12 devices (including Ice Lake, Jasper Lake, > Rocket Lake, Alder Lake and Raptor Lake), and emulates GGC register > in MMIO BAR0 for better compatibiltiy (It is tested Windows and GOP > driver will read this MMIO register). > > It also replaces magic numbers with macros to improve readability, > and aligns behavior (BDSM registor mirroring and GGMS calculation for > gen7) with i915 driver to avoid possible issues. > > The x-igd-gms option removed in 971ca22f041b ("vfio/igd: don't set > stolen memory size to zero") is also added back so that data stolen > memory size can be specified for guest. It is tested that GMS may > related to framebuffer size, a small GMS value may cause display issues > like blackscreen. It can be changed by DVMT Pre-allocated option in > host BIOS, but not all BIOS comes with this option. Having it in QEMU > helps resolves such issues. > > This patchset was verified on Intel i9-12900K CPU(UHD 770, 8086:4680) > with custom OVMF firmware [1] and IntelGopDriver extracted from host > bios. IGD device works well in both Windows and Linux guests, and > scored 726 in 3DMark Time Spy Graphics on Windows guest. > > [1] https://github.com/tomitamoeko/edk2/commits/igd-pt-adl/ > > Btw, IO BAR4 seems never be used by guest, and it the IO BAR itself > is not working on Gen11+ devices in my experiments. There is no hints > about that in old commit message and mailing list. It would be greatly > appreciated if someone shares the background. > > Changelog: > v4: > * Move "vfio/igd: fix GTT stolen memory size calculation for gen 8+" to > the first. > Link: > https://lore.kernel.org/qemu-devel/20241205105535.30498-1-tomitamo...@gmail.com/ Series: Reviewed-by: Alex Williamson <alex.william...@redhat.com>