From patchwork Fri Feb 11 20:57:33 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 82834 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 6B85CB716A for ; Sat, 12 Feb 2011 08:05:43 +1100 (EST) Received: from localhost ([127.0.0.1]:37434 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Po0BQ-0002WS-Bw for incoming@patchwork.ozlabs.org; Fri, 11 Feb 2011 16:05:40 -0500 Received: from [140.186.70.92] (port=41517 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Po040-0007Xc-6V for qemu-devel@nongnu.org; Fri, 11 Feb 2011 15:58:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Po03z-00037D-6W for qemu-devel@nongnu.org; Fri, 11 Feb 2011 15:58:00 -0500 Received: from mail-fx0-f45.google.com ([209.85.161.45]:47910) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Po03y-00036r-LP for qemu-devel@nongnu.org; Fri, 11 Feb 2011 15:57:59 -0500 Received: by fxm12 with SMTP id 12so3249832fxm.4 for ; Fri, 11 Feb 2011 12:57:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:subject:date:message-id:x-mailer; bh=CIKApQeAJ+IZs7kPFgeQlSVUgvQjEzvX9BZgymWd8HQ=; b=cNARahImSYO3UwD5WQ4OvFsTPlBQjAd6H1z+UhWJ+tuAQLrOaZwj4W5dqmXjD5dP6g 6o4TbhdFW6QQ88XosY92ULeF31yU+AoX4MVqD68NjdisHvi7z0l2snfegGp/xyegMP7n pXny7r99NNsENQK5fo1oAjLEnhQo0qlBpdnP8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:message-id:x-mailer; b=agkAOjFr8b8NaaoscjGJiWLhTR+vmH4GEwX5HGSL7yLevU35/bAAv+lpS+ZPcqLDgX T7NH2suT4VVs4Ag/UwjT5sTtxE0h1Pwbvf0sZLpaOXm9QyKR/7KasKpjnevLjFkBXNB2 fonCcqKAVpdYex24jX6AZUDAb3+1QbENrz/CA= Received: by 10.223.86.71 with SMTP id r7mr1043882fal.137.1297457877591; Fri, 11 Feb 2011 12:57:57 -0800 (PST) Received: from doriath.ww600.siemens.net (ppp89-110-8-230.pppoe.avangarddsl.ru [89.110.8.230]) by mx.google.com with ESMTPS id c11sm618019fav.2.2011.02.11.12.57.55 (version=SSLv3 cipher=OTHER); Fri, 11 Feb 2011 12:57:56 -0800 (PST) From: Dmitry Eremin-Solenikov To: qemu-devel@nongnu.org Date: Fri, 11 Feb 2011 23:57:33 +0300 Message-Id: <1297457859-15685-1-git-send-email-dbaryshkov@gmail.com> X-Mailer: git-send-email 1.7.2.3 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.161.45 Subject: [Qemu-devel] [PATCH 1/7] Add scoop post_load callback that sets IRQs to loaded levels X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Dmitry Eremin-Solenikov --- hw/zaurus.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/hw/zaurus.c b/hw/zaurus.c index fca11a5..fb5e228 100644 --- a/hw/zaurus.c +++ b/hw/zaurus.c @@ -181,17 +181,34 @@ static int scoop_init(SysBusDevice *dev) return 0; } +static int scoop_post_load(void *opaque, int version_id) +{ + ScoopInfo *s = (ScoopInfo *) opaque; + int i; + uint32_t level; + + level = s->gpio_level & s->gpio_dir; + + for (i = 0; i < 16; i++) { + qemu_set_irq(s->handler[i], (level >> i) & 1); + } + + s->prev_level = level; + + return 0; +} + static bool is_version_0 (void *opaque, int version_id) { return version_id == 0; } - static const VMStateDescription vmstate_scoop_regs = { .name = "scoop", .version_id = 1, .minimum_version_id = 0, .minimum_version_id_old = 0, + .post_load = scoop_post_load, .fields = (VMStateField []) { VMSTATE_UINT16(status, ScoopInfo), VMSTATE_UINT16(power, ScoopInfo),