qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 18/29] piix3: add qom property for PIIX3 state


From: Michael Roth
Subject: [Qemu-devel] [PATCH 18/29] piix3: add qom property for PIIX3 state
Date: Thu, 1 Nov 2012 08:04:20 -0500

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

diff --git a/hw/piix_pci.c b/hw/piix_pci.c
index 0242399..a867e3f 100644
--- a/hw/piix_pci.c
+++ b/hw/piix_pci.c
@@ -544,12 +544,37 @@ static const VMStateDescription vmstate_piix3 = {
     }
 };
 
+static void piix3_get_state(Object *obj, Visitor *v, void *opaque,
+                            const char *name, Error **errp)
+{
+    PCIDevice *pci = PCI_DEVICE(obj);
+    PIIX3State *s = DO_UPCAST(PIIX3State, dev, pci);
+
+    piix3_pre_save(s);
+    QIDL_VISIT_TYPE(PIIX3State, v, &s, name, errp);
+}
+
+static void piix3_set_state(Object *obj, Visitor *v, void *opaque,
+                            const char *name, Error **errp)
+{
+    PCIDevice *pci = PCI_DEVICE(obj);
+    PIIX3State *s = DO_UPCAST(PIIX3State, dev, pci);
+
+    QIDL_VISIT_TYPE(PIIX3State, v, &s, name, errp);
+    piix3_post_load(s, -1);
+}
+
 static int piix3_initfn(PCIDevice *dev)
 {
     PIIX3State *d = DO_UPCAST(PIIX3State, dev, dev);
 
     isa_bus_new(&d->dev.qdev, pci_address_space_io(dev));
     qemu_register_reset(piix3_reset, d);
+
+    object_property_add(OBJECT(d), "state", "PIIX3State",
+                        piix3_get_state, piix3_set_state, NULL, NULL, NULL);
+    QIDL_SCHEMA_ADD_LINK(PIIX3State, OBJECT(d), "state_schema", NULL);
+
     return 0;
 }
 
-- 
1.7.9.5




reply via email to

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