From patchwork Tue Jan 22 01:53:52 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Wood X-Patchwork-Id: 214335 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 0D1BB2C00A1 for ; Tue, 22 Jan 2013 13:00:19 +1100 (EST) Received: from localhost ([::1]:60143 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TxT4w-00057p-C7 for incoming@patchwork.ozlabs.org; Mon, 21 Jan 2013 20:55:10 -0500 Received: from eggs.gnu.org ([208.118.235.92]:43833) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TxT48-00031X-5T for qemu-devel@nongnu.org; Mon, 21 Jan 2013 20:54:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TxT42-0002U7-U0 for qemu-devel@nongnu.org; Mon, 21 Jan 2013 20:54:20 -0500 Received: from va3ehsobe002.messaging.microsoft.com ([216.32.180.12]:26404 helo=va3outboundpool.messaging.microsoft.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TxT3u-0002Qp-6a; Mon, 21 Jan 2013 20:54:06 -0500 Received: from mail67-va3-R.bigfish.com (10.7.14.243) by VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id 14.1.225.23; Tue, 22 Jan 2013 01:54:04 +0000 Received: from mail67-va3 (localhost [127.0.0.1]) by mail67-va3-R.bigfish.com (Postfix) with ESMTP id 7398A420181; Tue, 22 Jan 2013 01:54:04 +0000 (UTC) X-Forefront-Antispam-Report: CIP:70.37.183.190; KIP:(null); UIP:(null); IPV:NLI; H:mail.freescale.net; RD:none; EFVD:NLI X-SpamScore: 0 X-BigFish: VS0(zzzz1ee6h1de0h1202h1e76h1d1ah1d2ahzz8275bhz2dh2a8h668h839hd24he5bhf0ah1288h12a5h12a9h12bdh12e5h137ah139eh13b6h1441h1504h1537h162dh1631h1758h1898h18e1h1155h) Received: from mail67-va3 (localhost.localdomain [127.0.0.1]) by mail67-va3 (MessageSwitch) id 1358819641335687_9887; Tue, 22 Jan 2013 01:54:01 +0000 (UTC) Received: from VA3EHSMHS016.bigfish.com (unknown [10.7.14.251]) by mail67-va3.bigfish.com (Postfix) with ESMTP id 4CA5D20128; Tue, 22 Jan 2013 01:54:01 +0000 (UTC) Received: from mail.freescale.net (70.37.183.190) by VA3EHSMHS016.bigfish.com (10.7.99.26) with Microsoft SMTP Server (TLS) id 14.1.225.23; Tue, 22 Jan 2013 01:54:00 +0000 Received: from az84smr01.freescale.net (10.64.34.197) by 039-SN1MMR1-003.039d.mgd.msft.net (10.84.1.16) with Microsoft SMTP Server (TLS) id 14.2.318.3; Tue, 22 Jan 2013 01:53:59 +0000 Received: from snotra.am.freescale.net ([10.214.82.223]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id r0M1rti3023131; Mon, 21 Jan 2013 18:53:58 -0700 From: Scott Wood To: Alexander Graf Date: Mon, 21 Jan 2013 19:53:52 -0600 Message-ID: <1358819635-28574-3-git-send-email-scottwood@freescale.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1358819635-28574-1-git-send-email-scottwood@freescale.com> References: <1358819635-28574-1-git-send-email-scottwood@freescale.com> MIME-Version: 1.0 X-OriginatorOrg: freescale.com X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 X-Received-From: 216.32.180.12 Cc: Scott Wood , qemu-ppc@nongnu.org, qemu-devel@nongnu.org Subject: [Qemu-devel] [PATCH 2/5] openpic: fix timer address decoding 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 The timer memory range begins at 0x10f0, so that address 0x1120 shows up as 0x30, 0x1130 shows up as 0x40, etc. However, the address decoding (other than TFRR) is not adjusted for this, causing the wrong registers to be accessed. Signed-off-by: Scott Wood --- hw/openpic.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/openpic.c b/hw/openpic.c index ae5bea0..c55a7f8 100644 --- a/hw/openpic.c +++ b/hw/openpic.c @@ -792,19 +792,23 @@ static void openpic_tmr_write(void *opaque, hwaddr addr, uint64_t val, OpenPICState *opp = opaque; int idx; + addr += 0x10f0; + DPRINTF("%s: addr %#" HWADDR_PRIx " <= %08" PRIx64 "\n", __func__, addr, val); if (addr & 0xF) { return; } - idx = (addr >> 6) & 0x3; - addr = addr & 0x30; - if (addr == 0x0) { + if (addr == 0x10f0) { /* TFRR */ opp->tfrr = val; return; } + + idx = (addr >> 6) & 0x3; + addr = addr & 0x30; + switch (addr & 0x30) { case 0x00: /* TCCR */ break;