qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 09/29] pci: add qom property for PCIBus instances


From: Michael Roth
Subject: [Qemu-devel] [PATCH 09/29] pci: add qom property for PCIBus instances
Date: Thu, 1 Nov 2012 08:04:11 -0500

Signed-off-by: Michael Roth <address@hidden>
---
 hw/pci.c |   21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/hw/pci.c b/hw/pci.c
index 271ca2f..e0b3f4f 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -34,6 +34,7 @@
 #include "msi.h"
 #include "msix.h"
 #include "exec-memory.h"
+#include "qidl.h"
 
 QIDL_ENABLE()
 
@@ -268,6 +269,22 @@ int pci_find_domain(const PCIBus *bus)
     return -1;
 }
 
+static void pcibus_get_state(Object *obj, Visitor *v, void *opaque,
+                             const char *name, Error **errp)
+{
+    PCIBus *pci_bus = PCI_BUS(obj);
+
+    QIDL_VISIT_TYPE(PCIBus, v, &pci_bus, name, errp);
+}
+
+static void pcibus_set_state(Object *obj, Visitor *v, void *opaque,
+                             const char *name, Error **errp)
+{
+    PCIBus *pci_bus = PCI_BUS(obj);
+
+    QIDL_VISIT_TYPE(PCIBus, v, &pci_bus, name, errp);
+}
+
 void pci_bus_new_inplace(PCIBus *bus, DeviceState *parent,
                          const char *name,
                          MemoryRegion *address_space_mem,
@@ -285,6 +302,10 @@ void pci_bus_new_inplace(PCIBus *bus, DeviceState *parent,
     pci_host_bus_register(0, bus); /* for now only pci domain 0 is supported */
 
     vmstate_register(NULL, -1, &vmstate_pcibus, bus);
+
+    object_property_add(OBJECT(bus), "state", "PCIBus",
+                        pcibus_get_state, pcibus_set_state, NULL, NULL, NULL);
+    QIDL_SCHEMA_ADD_LINK(PCIBus, OBJECT(bus), "state_schema", NULL);
 }
 
 PCIBus *pci_bus_new(DeviceState *parent, const char *name,
-- 
1.7.9.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]