[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

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

> 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-devel mailing list



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