From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48434) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sbi8s-0001tt-KP for qemu-devel@nongnu.org; Mon, 04 Jun 2012 21:01:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sbi8m-0002uK-OL for qemu-devel@nongnu.org; Mon, 04 Jun 2012 21:01:02 -0400 Received: from mail-pz0-f45.google.com ([209.85.210.45]:39431) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sbi8m-0002oW-G8 for qemu-devel@nongnu.org; Mon, 04 Jun 2012 21:00:56 -0400 Received: by mail-pz0-f45.google.com with SMTP id v2so7118161dad.4 for ; Mon, 04 Jun 2012 18:00:55 -0700 (PDT) Sender: fluxion From: Michael Roth Date: Mon, 4 Jun 2012 20:00:13 -0500 Message-Id: <1338858018-17189-13-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1338858018-17189-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1338858018-17189-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 12/17] rtc: add a QOM property for accessing device state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, quintela@redhat.com, owasserm@redhat.com, yamahata@valinux.co.jp, pbonzini@redhat.com, akong@redhat.com, afaerber@suse.de This will eventually be used to serialize device state for the purposes of migration/savevm, and is also useful for introspection/testing. Signed-off-by: Michael Roth --- hw/mc146818rtc.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c index 7490d28..2dfc233 100644 --- a/hw/mc146818rtc.c +++ b/hw/mc146818rtc.c @@ -26,6 +26,7 @@ #include "sysemu.h" #include "mc146818rtc.h" #include "mc146818rtc_state.h" +#include "qapi-generated/mc146818rtc-qapi-visit.h" #ifdef TARGET_I386 #include "apic.h" @@ -590,6 +591,14 @@ static void rtc_get_date(Object *obj, Visitor *v, void *opaque, visit_end_struct(v, errp); } +static void rtc_get_state(Object *obj, Visitor *v, void *opaque, + const char *name, Error **errp) +{ + ISADevice *isa = ISA_DEVICE(obj); + RTCState *s = DO_UPCAST(RTCState, dev, isa); + visit_type_RTCState(v, &s, name, errp); +} + static int rtc_initfn(ISADevice *dev) { RTCState *s = DO_UPCAST(RTCState, dev, dev); @@ -638,6 +647,9 @@ static int rtc_initfn(ISADevice *dev) object_property_add(OBJECT(s), "date", "struct tm", rtc_get_date, NULL, NULL, s, NULL); + object_property_add(OBJECT(s), "state", "RTCState", + rtc_get_state, NULL, NULL, s, NULL); + return 0; } -- 1.7.4.1