Re: Vga passthrough to KVM Guest issues

Joerg Roedel
2013-11-01T15:09:17Z

Hey Max,

On Mon, Oct 28, 2013 at 10:17:19AM -0600, Alex Williamson wrote:
> On Wed, 2013-10-16 at 21:08 +0200, Max Schettler wrote:
> > Hi guys,
> >
> > Im trying to set up vga passthrough. I use the latest mainline kernel
> > (3.12rc5) and patched qemu (1.6.50). When i try to start a VM using this
> > command:
> >
> > qemu-system-x86_64 -enable-kvm -M q35 -m 1024 -cpu qemu64
> > -bios /usr/share/qemu/bios.bin -vga none
> > -device
> > ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1
> > -device vfio-pci,host=06:00.0,bus=root.1,multifunction=on,x-vga=on
> > -device vfio-pci,host=06:00.1,bus=root.1
> >
> > The screen attached to the passthroughed GPU turns on but does not show
> > any output.
> > Also I get some warnings from amd_iommu and my kernel messages are full
> > of AMD-Vi messages:
> > "AMD-Vi: Completion-Wait loop timed out" and
> > "AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=06:00.0
> > address=0x0000000438544b90"
> >
> > If i dont stop the qemu process this eventually forces me to reboot
> > since the host gets unusable.
> >
> > I uploaded the whole dmesg output, if its of any help here:
> > http://pastebin.com/ki13dqEd
> >
> > My hardware is an AMD FX-8350 with an Gigabyte 970A-UD3 and a Gigabyte
> > 7870OC.
> >
> > Any help is much appreciated, thanks in advance!

That's interesting, what GPU is it that you are trying to pass through
to the guest? It seems to be an ATS capable device. Either there is a
problem in the AMD IOMMU driver with handling ATS or there is a problem
with the hardware and ATS should not be enabled there. Either way, the
fix/workaround has to be in the AMD IOMMU driver.

Joerg