From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59214) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTuSH-0004wj-CE for qemu-devel@nongnu.org; Thu, 01 Nov 2012 09:05:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TTuSE-0006J3-NV for qemu-devel@nongnu.org; Thu, 01 Nov 2012 09:05:05 -0400 Received: from mail-ie0-f173.google.com ([209.85.223.173]:62691) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTuSE-00064D-HB for qemu-devel@nongnu.org; Thu, 01 Nov 2012 09:05:02 -0400 Received: by mail-ie0-f173.google.com with SMTP id 17so3616429iea.4 for ; Thu, 01 Nov 2012 06:05:02 -0700 (PDT) Sender: fluxion From: Michael Roth Date: Thu, 1 Nov 2012 08:04:11 -0500 Message-Id: <1351775071-7644-10-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1351775071-7644-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1351775071-7644-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 09/29] pci: add qom property for PCIBus instances List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, peter.maydell@linaro.org, aliguori@us.ibm.com, quintela@redhat.com, blauwirbel@gmail.com, pbonzini@redhat.com Signed-off-by: Michael Roth --- 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