[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Qemu-devel] [v2][PATCH 4/8] xen, gfx passthrough: reserve 00:02.0 for INTEL IGD



On Mon, May 19, 2014 at 09:25:19AM +0000, Chen, Tiejun wrote:
> > -----Original Message-----
> > From: Gerd Hoffmann [mailto:kraxel@xxxxxxxxxx]
> > Sent: Monday, May 19, 2014 2:45 PM
> > To: Chen, Tiejun
> > Cc: anthony.perard@xxxxxxxxxx; stefano.stabellini@xxxxxxxxxxxxx;
> > mst@xxxxxxxxxx; Kelly.Zytaruk@xxxxxxx; peter.maydell@xxxxxxxxxx;
> > xen-devel@xxxxxxxxxxxxxxxxxxx; weidong.han@xxxxxxxxx; Kay, Allen M;
> > qemu-devel@xxxxxxxxxx; jean.guyader@xxxxxxxxxxxxx;
> > anthony@xxxxxxxxxxxxx; 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. 

So stop doing this.
Address -1 is a short-cut intended for humans.
In particular we have no way to guarantee that migration works unless
you specify addresses explicitly.

> > 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

I think the best fix is to give priority to devices that supply a
specific slot.

I'll look into this.

-- 
MST

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.