Reviewed-by: Tomita Moeko <[email protected]> Thank you for your contribution!
On 2026-08-25 17:04, Yuan Wang wrote: > Currently, igd_gen() does not include the PCI device IDs for Meteor > Lake and Arrow Lake platforms, causing it to return -1 for these GPUs. > > As a result, QEMU calculates the stolen memory size as 0 and exposes a > zero-sized 'etc/igd-bdsm-size' entry via fw_cfg. When OVMF boots, > IgdAssignmentDxe fails validation on the zero BDSM size and aborts > without programming the ASLS register. Consequently, the guest Intel > GOP driver fails to locate and read the OpRegion (ASLS remains 0x0). > > Add the device ID prefixes (0x7D00 and 0xB600) to igd_gen() as Gen 12 > so that stolen memory is correctly determined, allowing OVMF to properly > initialize the OpRegion and BDSM for the Intel GOP driver. > > Signed-off-by: Yuan Wang <[email protected]> > --- > v2: > - Resending because the v1 patch was sent with an incorrect future > system timestamp due to an unsynchronized local clock. No code > changes. > --- > hw/vfio/igd.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/hw/vfio/igd.c b/hw/vfio/igd.c > index 413a49aae9..a0b6b34d81 100644 > --- a/hw/vfio/igd.c > +++ b/hw/vfio/igd.c > @@ -96,6 +96,8 @@ static int igd_gen(VFIOPCIDevice *vdev) > case 0x4C00: /* Rocket Lake */ > case 0x4600: /* Alder Lake */ > case 0xA700: /* Raptor Lake */ > + case 0x7D00: /* Meteor Lake / Arrow Lake */ > + case 0xB600: /* Arrow Lake */ > return 12; > } >
