> -----Original Message----- > From: Gerd Hoffmann [mailto:kra...@redhat.com] > Sent: Monday, May 19, 2014 2:45 PM > To: Chen, Tiejun > Cc: anthony.per...@citrix.com; stefano.stabell...@eu.citrix.com; > m...@redhat.com; kelly.zyta...@amd.com; peter.mayd...@linaro.org; > xen-de...@lists.xensource.com; weidong....@intel.com; Kay, Allen M; > qemu-devel@nongnu.org; jean.guya...@eu.citrix.com; > anth...@codemonkey.ws; Zhang, Yang Z > Subject: Re: [Qemu-devel] [v2][PATCH 4/8] xen, gfx passthrough: reserve > 00:02.0 for INTEL IGD > > Hi, > > > + /* > > + * Some video bioses and gfx drivers will assume the bdf of IGD is > 00:02.0. > > + * So user need to set it to 00:02.0 in Xen configure file explicitly, > > + * otherwise IGD will fail to work. > > + */ > > + pci_reserve_pci_devfn(b, PCI_DEVFN(2, 0)); > > That is asking for trouble. Slot 2 is used by the qemu vga cards by default, > and > for quite a while (before memory api was merged) it even was impossible to > change it. libvirt still places the vga card at slot > 2 for that reason -> boom. I wouldn't be surprised if you find that > assumption > in other management libs / apps too. > > Why do you need that patch in the first place? It should be possible to > configure qemu to not occupy slot 2 if you need it that way. Just pass '-vga > none' to qemu. Which you probably want anyway if you pass-through a vga to > the guest. And explicitly configure a slot (via addr=
I think '-vga none' just guarantees the qemu vga cards doesn't occupy 00:02.0, but this doesn't mean others use this specific slot since in qemu internal, we always pass -1 to assign a slot automatically to register a PCI device. So in some cases, we can't get this slot as we expect since that is already assigned previously before we need this. > property) for all your pci devices. Doing it only for the IGD works too if > you list > the device before any other pci device on the qemu command line. So in my test scenario, we can see this information: PCI: slot 2 function 0 not available for xen-pci-passthrough, in use by xen-platform Thanks Tiejun