On Thu, Sep 28, 2017 at 12:39:23PM +0300, Marcel Apfelbaum wrote: > On 27/09/2017 22:56, Eduardo Habkost wrote: > > Changes v1 -> v2: > > * Use "Conventional PCI" instead of "legacy PCI" > > * Suggested-by: Alex Williamson <alex.william...@redhat.com> > > * Mark base-xhci as hybrid too > > * Reported-by: Marcel Apfelbaum <mar...@redhat.com> > > * Mark pcie-pci-bridge as PCI Express only > > * New Conventional PCI devices: sungem, sunhme > > > > v1 was a reimplementation of one portion of an old RFC: > > Subject: [RFC v2 00/20] qmp: Report bus information on > > 'query-machines' > > > > This series marks each PCI device type as Conventional PCI, PCI > > Express, or "hybrid". It uses two new QOM interface names to do > > that: INTERFACE_CONVENTIONAL_PCI_DEVICE > > ("conventional-pci-device") and INTERFACE_PCIE_DEVICE > > ("pci-express-device"). Conventional PCI devices will implement > > only the former; PCIe-only devices will implement only the > > latter; hybrid devices will implement both interfaces. > > > > With this, management software will then be able to use > > qom-list-types to find out which PCI devices are > > conventional/express/hybrid. > > > > In the future, the new interface names can be used in the > > bus/slot querying commands, to indicate which types of devices > > are accepted on each slot. > > > > The last patch in the series adds an assertion to the PCI device > > class code, to ensure we won't forget to add the corresponding > > interface names to new PCI device classes. > > > > Hi Eduardo, > > Now we need to get rid of the "is_express" field, > otherwise we have the same information on two places.
Agreed, it's on my TODO-list. is_express is completely inconsistent on hybrid devices (some of them have is_express=0, some of them have is_express=1). -- Eduardo