> -----Original Message----- > From: Konrad Rzeszutek Wilk [mailto:konrad.w...@oracle.com] > Sent: Friday, May 16, 2014 10:09 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: [Xen-devel] [v2][PATCH 4/8] xen, gfx passthrough: reserve 00:02.0 > for INTEL IGD > > On Fri, May 16, 2014 at 06:53:40PM +0800, Tiejun Chen wrote: > > Some VBIOSs and drivers assume the IGD BDF (bus:device:function) is > > always 00:02.0, so we need to reserves 00:02.0 for assigned IGD in > > reserve
Fixed. > > > guest. > > > > Signed-off-by: Tiejun Chen <tiejun.c...@intel.com> > > Signed-off-by: Yang Zhang <yang.z.zh...@intel.com> > > --- > > v2: > > > > * Use a common way patch #2 introduce to reserve PCI devfn. > > > > hw/pci-host/piix.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c index > > ffdc853..b6f49bd 100644 > > --- a/hw/pci-host/piix.c > > +++ b/hw/pci-host/piix.c > > @@ -329,6 +329,14 @@ PCIBus *i440fx_init(PCII440FXState > **pi440fx_state, > > s = PCI_HOST_BRIDGE(dev); > > b = pci_bus_new(dev, NULL, pci_address_space, > > address_space_io, 0, TYPE_PCI_BUS); > > + > > + /* > > + * 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)); > > + > > And we do this without checking whether PCI passthrough is done. Should it be > gated on that? Or is the reason you do it unconditionally because you want to > be able to hot-plug an GFX in? > To be honest currently we can't support hot-plug an GFX :( But I believe this would come soon. And additionally, as you know XEN and KVM have different way to implement pci-passthrough, so looks its not easy to distinguish these scenarios here. And I think now it may be acceptable just to reserve one specific devfn, right? Or could you have a good way, I can try to improve this point. Thanks Tiejun