mbox series

[v3,0/7] vfio/igd: add passthrough support for IGDs of gen 11 and later

Message ID 20240828134328.94528-1-c.koehne@beckhoff.com (mailing list archive)
Headers show
Series vfio/igd: add passthrough support for IGDs of gen 11 and later | expand

Message

Corvin Köhne Aug. 28, 2024, 1:43 p.m. UTC
Hi,

Qemu has experimental support for GPU passthrough of Intels integrated graphic
devices. Unfortunately, Intel has changed some bits for their gen 11 devices
and later. To support these devices, we have to account for those changes. This
patch series adds the missing bits on the Qemu side.

I've tested the patch series on an ElkhartLake and TigerLake device. On the
guest side, I've tested an EFI environment (GOP driver), a Linux guest and a
Windows VM. The driver of all guests are able to use the GPU and produce an
output on the connected display.

Corvin Köhne (7):
  vfio/igd: return an invalid generation for unknown devices
  vfio/igd: support legacy mode for all known generations
  vfio/igd: use new BDSM register location and size for gen 11 and later
  vfio/igd: add new bar0 quirk to emulate BDSM mirror
  vfio/igd: add ID's for ElkhartLake and TigerLake
  vfio/igd: don't set stolen memory size to zero
  vfio/igd: correctly calculate stolen memory size for gen 9 and later

 hw/vfio/igd.c        | 185 +++++++++++++++++++++++++++++++++++++------
 hw/vfio/pci-quirks.c |   1 +
 hw/vfio/pci.h        |   1 +
 3 files changed, 161 insertions(+), 26 deletions(-)

Comments

Alex Williamson Aug. 29, 2024, 4:14 p.m. UTC | #1
On Wed, 28 Aug 2024 15:43:21 +0200
"Corvin Köhne" <corvin.koehne@gmail.com> wrote:

> Hi,
> 
> Qemu has experimental support for GPU passthrough of Intels integrated graphic
> devices. Unfortunately, Intel has changed some bits for their gen 11 devices
> and later. To support these devices, we have to account for those changes. This
> patch series adds the missing bits on the Qemu side.
> 
> I've tested the patch series on an ElkhartLake and TigerLake device. On the
> guest side, I've tested an EFI environment (GOP driver), a Linux guest and a
> Windows VM. The driver of all guests are able to use the GPU and produce an
> output on the connected display.
> 
> Corvin Köhne (7):
>   vfio/igd: return an invalid generation for unknown devices
>   vfio/igd: support legacy mode for all known generations
>   vfio/igd: use new BDSM register location and size for gen 11 and later
>   vfio/igd: add new bar0 quirk to emulate BDSM mirror
>   vfio/igd: add ID's for ElkhartLake and TigerLake
>   vfio/igd: don't set stolen memory size to zero
>   vfio/igd: correctly calculate stolen memory size for gen 9 and later
> 
>  hw/vfio/igd.c        | 185 +++++++++++++++++++++++++++++++++++++------
>  hw/vfio/pci-quirks.c |   1 +
>  hw/vfio/pci.h        |   1 +
>  3 files changed, 161 insertions(+), 26 deletions(-)
> 

LGTM, for series

Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Cédric Le Goater Sept. 2, 2024, 5:59 a.m. UTC | #2
On 8/28/24 15:43, Corvin Köhne wrote:
> Hi,
> 
> Qemu has experimental support for GPU passthrough of Intels integrated graphic
> devices. Unfortunately, Intel has changed some bits for their gen 11 devices
> and later. To support these devices, we have to account for those changes. This
> patch series adds the missing bits on the Qemu side.
> 
> I've tested the patch series on an ElkhartLake and TigerLake device. On the
> guest side, I've tested an EFI environment (GOP driver), a Linux guest and a
> Windows VM. The driver of all guests are able to use the GPU and produce an
> output on the connected display.
> 
> Corvin Köhne (7):
>    vfio/igd: return an invalid generation for unknown devices
>    vfio/igd: support legacy mode for all known generations
>    vfio/igd: use new BDSM register location and size for gen 11 and later
>    vfio/igd: add new bar0 quirk to emulate BDSM mirror
>    vfio/igd: add ID's for ElkhartLake and TigerLake
>    vfio/igd: don't set stolen memory size to zero
>    vfio/igd: correctly calculate stolen memory size for gen 9 and later
> 
>   hw/vfio/igd.c        | 185 +++++++++++++++++++++++++++++++++++++------
>   hw/vfio/pci-quirks.c |   1 +
>   hw/vfio/pci.h        |   1 +
>   3 files changed, 161 insertions(+), 26 deletions(-)
> 


Applied to vfio-next.

Thanks,

C.