[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] xen-pci-passthrough PCI Express support? (Re: [Qemu-dev
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-block] xen-pci-passthrough PCI Express support? (Re: [Qemu-devel] [Xen-devel] [PATCH v2 4/5] pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices) |
Date: |
Tue, 3 Oct 2017 10:12:11 -0700 (PDT) |
User-agent: |
Alpine 2.10 (DEB 1266 2009-07-14) |
On Mon, 2 Oct 2017, Eduardo Habkost wrote:
> On Thu, Sep 28, 2017 at 10:12:34AM -0300, Eduardo Habkost wrote:
> > On Thu, Sep 28, 2017 at 02:33:57AM -0600, Jan Beulich wrote:
> > > >>> On 27.09.17 at 21:56, <address@hidden> wrote:
> > > > --- a/hw/xen/xen_pt.c
> > > > +++ b/hw/xen/xen_pt.c
> > > > @@ -964,6 +964,10 @@ static const TypeInfo xen_pci_passthrough_info = {
> > > > .instance_size = sizeof(XenPCIPassthroughState),
> > > > .instance_finalize = xen_pci_passthrough_finalize,
> > > > .class_init = xen_pci_passthrough_class_init,
> > > > + .interfaces = (InterfaceInfo[]) {
> > > > + { INTERFACE_CONVENTIONAL_PCI_DEVICE },
> > > > + { },
> > > > + },
> > > > };
> > >
> > > Passed through devices can be both PCI and PCIe, so following
> > > the description of the patch I don't think these can be statically
> > > given either property. Granted quite a bit of PCIe specific
> > > functionality may be missing in the Xen code ...
> >
> > This is just static data about what the device type supports, not
> > about what a given device instance really is. Deciding if the
> > device is PCIe or Conventional at runtime is out of the scope of
> > this series.
> >
> > That said, if passed through PCI Express devices are really
> > supported, it looks like this should be marked as hybrid.
>
> Can anybody confirm if PCI Express devices are really supported
> by xen-pci-passthrough?
>
> I suggest we add only INTERFACE_CONVENTIONAL_PCI_DEVICE to the
> class info until we confirm that.
>
> (In other words, apply this patch as-is, and add
> INTERFACE_PCIE_DEVICE later as a follow-up patch if appropriate.)
Yes, xen-pci-passthrough can expose PCI Express devices to the guest. I
don't think the old xen-pci-passthrough code does anything special to
mark it as such internally in QEMU, but it can deal with the PCI Express
Capabilities and expose/emulate them for the guest's benefit.