From patchwork Mon Mar 5 09:08:14 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 144630 X-Patchwork-Delegate: peter.maydell@linaro.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id D6CDFB6FA1 for ; Mon, 5 Mar 2012 20:08:56 +1100 (EST) Received: from localhost ([::1]:46116 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S4TuY-0004HD-Kb for incoming@patchwork.ozlabs.org; Mon, 05 Mar 2012 04:08:54 -0500 Received: from eggs.gnu.org ([208.118.235.92]:45018) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S4TuM-00044y-OT for qemu-devel@nongnu.org; Mon, 05 Mar 2012 04:08:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S4TuL-0002cK-09 for qemu-devel@nongnu.org; Mon, 05 Mar 2012 04:08:42 -0500 Received: from mail-pz0-f46.google.com ([209.85.210.46]:55886) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S4TuK-0002b5-Ns for qemu-devel@nongnu.org; Mon, 05 Mar 2012 04:08:40 -0500 Received: by mail-pz0-f46.google.com with SMTP id r28so6111890daj.33 for ; Mon, 05 Mar 2012 01:08:40 -0800 (PST) Received-SPF: pass (google.com: domain of paolo.bonzini@gmail.com designates 10.68.232.106 as permitted sender) client-ip=10.68.232.106; Authentication-Results: mr.google.com; spf=pass (google.com: domain of paolo.bonzini@gmail.com designates 10.68.232.106 as permitted sender) smtp.mail=paolo.bonzini@gmail.com; dkim=pass header.i=paolo.bonzini@gmail.com Received: from mr.google.com ([10.68.232.106]) by 10.68.232.106 with SMTP id tn10mr25945066pbc.66.1330938520002 (num_hops = 1); Mon, 05 Mar 2012 01:08:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=Dqb5KXk7/DbcxVFHnRHVpvEDWlVu6nt6DMNvN4ilC6g=; b=KFRwyZn46xxHGIVzr20bFBoP6Y5yclceqZ0K6AefnPnfsFqk1cXKVq2FfNAPOdx4Kt 5+F2wmI6WXlkeHx5vnK5lqGuvtoY3BA+IzqXCkGIVtlY+3J6BPfuzNT94yr9D+aOjpZG 4RGFTSyIWWV0Vs0Y5eWOCghFpihhbT3KxWV+yFgUdGlb1GMn4/bWpraLNY3knu79OzhH e4gDqMNuGxVyf+v/rUlXgJxJ17ZfcwfiBEbiGbIKU9Nm1cKPdk62R6AmXSVM+Y9GWHt6 Smvl7b/W4DvaKQC9x7MogLCwrEkHsD1KlCjrmUh7s/I7b8bvh9s73U17X48KZ9w1MpDm sqGg== Received: by 10.68.232.106 with SMTP id tn10mr22615924pbc.66.1330938519972; Mon, 05 Mar 2012 01:08:39 -0800 (PST) Received: from yakj.usersys.redhat.com (93-34-182-16.ip50.fastwebnet.it. [93.34.182.16]) by mx.google.com with ESMTPS id l8sm12838857pbi.0.2012.03.05.01.08.36 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 05 Mar 2012 01:08:38 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 5 Mar 2012 10:08:14 +0100 Message-Id: <1330938495-30573-5-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.7.7.6 In-Reply-To: <1330938495-30573-1-git-send-email-pbonzini@redhat.com> References: <1330938495-30573-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.46 Cc: peter.maydell@linaro.org Subject: [Qemu-devel] [PATCH v2 4/5] pl031: rearm alarm timer upon load X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Paolo Bonzini --- hw/pl031.c | 39 ++++++++++++++++++++++++--------------- 1 files changed, 24 insertions(+), 15 deletions(-) diff --git a/hw/pl031.c b/hw/pl031.c index 69abc4f..713f85d 100644 --- a/hw/pl031.c +++ b/hw/pl031.c @@ -47,21 +47,6 @@ typedef struct { uint32_t is; } pl031_state; -static const VMStateDescription vmstate_pl031 = { - .name = "pl031", - .version_id = 1, - .minimum_version_id = 1, - .fields = (VMStateField[]) { - VMSTATE_UINT32(tick_offset, pl031_state), - VMSTATE_UINT32(mr, pl031_state), - VMSTATE_UINT32(lr, pl031_state), - VMSTATE_UINT32(cr, pl031_state), - VMSTATE_UINT32(im, pl031_state), - VMSTATE_UINT32(is, pl031_state), - VMSTATE_END_OF_LIST() - } -}; - static const unsigned char pl031_id[] = { 0x31, 0x10, 0x14, 0x00, /* Device ID */ 0x0d, 0xf0, 0x05, 0xb1 /* Cell ID */ @@ -213,6 +198,30 @@ static int pl031_init(SysBusDevice *dev) return 0; } +static int pl031_post_load(void *opaque, int version_id) +{ + pl031_state *s = opaque; + + pl031_set_alarm(s); + return 0; +} + +static const VMStateDescription vmstate_pl031 = { + .name = "pl031", + .version_id = 1, + .minimum_version_id = 1, + .post_load = pl031_post_load, + .fields = (VMStateField[]) { + VMSTATE_UINT32(tick_offset, pl031_state), + VMSTATE_UINT32(mr, pl031_state), + VMSTATE_UINT32(lr, pl031_state), + VMSTATE_UINT32(cr, pl031_state), + VMSTATE_UINT32(im, pl031_state), + VMSTATE_UINT32(is, pl031_state), + VMSTATE_END_OF_LIST() + } +}; + static void pl031_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass);