pci: Create and register a new PCI Express TypeInfo
authorAlex Williamson <alex.williamson@redhat.com>
Thu, 14 Mar 2013 22:00:59 +0000 (16:00 -0600)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 26 Mar 2013 19:02:18 +0000 (21:02 +0200)
This will allow us to differentiate Express and Legacy buses.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/pci/pci.c
hw/pci/pci_bus.h

index 81028cb08314ea90c49a1e301fdbd38bf978285e..74f449d38ee6142df05ba96bb9d2a51ddc11ead3 100644 (file)
@@ -75,6 +75,11 @@ static const TypeInfo pci_bus_info = {
     .class_init = pci_bus_class_init,
 };
 
+static const TypeInfo pcie_bus_info = {
+    .name = TYPE_PCIE_BUS,
+    .parent = TYPE_PCI_BUS,
+};
+
 static PCIBus *pci_find_bus_nr(PCIBus *bus, int bus_num);
 static void pci_update_mappings(PCIDevice *d);
 static void pci_set_irq(void *opaque, int irq_num, int level);
@@ -2236,6 +2241,7 @@ static const TypeInfo pci_device_type_info = {
 static void pci_register_types(void)
 {
     type_register_static(&pci_bus_info);
+    type_register_static(&pcie_bus_info);
     type_register_static(&pci_device_type_info);
 }
 
index aef559ae1f1845f1be64ed45319fe82340fc640c..6d3155f14b04fd86fd9272f27aae0849b4e7eade 100644 (file)
@@ -10,6 +10,7 @@
 
 #define TYPE_PCI_BUS "PCI"
 #define PCI_BUS(obj) OBJECT_CHECK(PCIBus, (obj), TYPE_PCI_BUS)
+#define TYPE_PCIE_BUS "PCIE"
 
 struct PCIBus {
     BusState qbus;