On Wed, Aug 23, 2017 at 07:14:44PM -0300, Eduardo Habkost wrote: > Add INTERFACE_LEGACY_PCI_DEVICE to all direct subtypes of > TYPE_PCI_DEVICE, except: > > 1) The ones that already have INTERFACE_PCIE_DEVICE set: > > * base-xhci > * e1000e > * nvme > * pvscsi > * vfio-pci > * virtio-pci > * vmxnet3 > > 2) base-pci-bridge > > Not all PCI bridges are legacy PCI devices, so > INTERFACE_LEGACY_PCI_DEVICE is added only to the subtypes that > are actually legacy PCI devices: > > * dec-21154-p2p-bridge > * i82801b11-bridge > * pbm-bridge > * pci-bridge > > The direct subtypes of base-pci-bridge not touched by this patch > are: > > * xilinx-pcie-root: Already marked as PCIe-only device. > * pcie-port: all non-abstract subtypes of pcie-port are already > marked as PCIe-only devices. > > 3) megasas-base > > Not all megasas devices are legacy PCI devices, so the interface > names are added to the subclasses registered by > megasas_register_types(), according to information in the > megasas_devices[] array. > > "megasas-gen2" already implements INTERFACE_PCIE_DEVICE, so add > INTERFACE_LEGACY_PCI_DEVICE only to "megasas". > > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > --- > hw/i386/xen/xen_platform.c | 4 ++++ > hw/i386/xen/xen_pvdevice.c | 4 ++++ > hw/xen/xen_pt.c | 4 ++++ > 62 files changed, 288 insertions(+) > > diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c > index 9ba7474..2113bd0 100644 > --- a/hw/i386/xen/xen_platform.c > +++ b/hw/i386/xen/xen_platform.c > @@ -517,6 +517,10 @@ static const TypeInfo xen_platform_info = { > .parent = TYPE_PCI_DEVICE, > .instance_size = sizeof(PCIXenPlatformState), > .class_init = xen_platform_class_init, > + .interfaces = (InterfaceInfo[]) { > + { INTERFACE_LEGACY_PCI_DEVICE }, > + { }, > + }, > }; > > static void xen_platform_register_types(void) > diff --git a/hw/i386/xen/xen_pvdevice.c b/hw/i386/xen/xen_pvdevice.c > index c093b34..e2ae81b 100644 > --- a/hw/i386/xen/xen_pvdevice.c > +++ b/hw/i386/xen/xen_pvdevice.c > @@ -127,6 +127,10 @@ static const TypeInfo xen_pv_type_info = { > .parent = TYPE_PCI_DEVICE, > .instance_size = sizeof(XenPVDevice), > .class_init = xen_pv_class_init, > + .interfaces = (InterfaceInfo[]) { > + { INTERFACE_LEGACY_PCI_DEVICE }, > + { }, > + }, > }; > > static void xen_pv_register_types(void) > diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c > index 375efa6..66664fc 100644 > --- 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_LEGACY_PCI_DEVICE }, > + { }, > + }, > }; > > static void xen_pci_passthrough_register_types(void)
Acked-by: Anthony PERARD <anthony.per...@citrix.com> -- Anthony PERARD