summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2013-03-14 16:00:59 -0600
committerMichael S. Tsirkin <mst@redhat.com>2013-03-26 21:02:18 +0200
commit3a861c466cee46fed042d76100fa0fd9644f3091 (patch)
treedc15362a51dff5464407d2537bb8f4e935563b67
parent49cd9ac6a1929467e2df5783a5183fc7708ec3ff (diff)
downloadfocaccia-qemu-3a861c466cee46fed042d76100fa0fd9644f3091.tar.gz
focaccia-qemu-3a861c466cee46fed042d76100fa0fd9644f3091.zip
pci: Create and register a new PCI Express TypeInfo
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>
-rw-r--r--hw/pci/pci.c6
-rw-r--r--hw/pci/pci_bus.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 81028cb083..74f449d38e 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -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);
 }
 
diff --git a/hw/pci/pci_bus.h b/hw/pci/pci_bus.h
index aef559ae1f..6d3155f14b 100644
--- a/hw/pci/pci_bus.h
+++ b/hw/pci/pci_bus.h
@@ -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;