From: Aurelien Jarno <aurelien@aurel32.net>
To: "Loïc Minier" <lool@dooz.org>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Ignore writes of perf reg (cp15 with crm == 12)
Date: Fri, 30 Jul 2010 23:30:04 +0200 [thread overview]
Message-ID: <20100730213004.GH20459@volta.aurel32.net> (raw)
In-Reply-To: <20100728142305.GF13511@bee.dooz.org>
On Wed, Jul 28, 2010 at 04:23:05PM +0200, Loïc Minier wrote:
> I found out Matt Waddel has written a better looking patch, but I
> didn't test it; reviews welcome -- attached
>
> --
> Loïc Minier
Return-Path: <loic.minier+caf_=lool=dooz.org@linaro.org>
X-Spam-Checker-Version: SpamAssassin 3.1.4 (2006-07-26) on pig.zood.org
X-Spam-Level:
X-Spam-Status: No, score=-98.5 required=3.0 tests=BAYES_40,
RATWARE_GECKO_BUILD,USER_IN_WHITELIST autolearn=disabled version=3.1.4
X-Original-To: lool@dooz.org
Delivered-To: lool@pig.zood.org
Received: from mail-qy0-f172.google.com (mail-qy0-f172.google.com [209.85.216.172])
by pig.zood.org (Postfix) with ESMTP id B070E4C0C6
for <lool@dooz.org>; Tue, 27 Jul 2010 19:22:31 +0200 (CEST)
Received: by qyk1 with SMTP id 1so2929439qyk.3
for <lool@dooz.org>; Tue, 27 Jul 2010 10:22:30 -0700 (PDT)
Received: by 10.224.60.211 with SMTP id q19mr7862913qah.85.1280251350380;
Tue, 27 Jul 2010 10:22:30 -0700 (PDT)
X-Forwarded-To: lool@dooz.org
X-Forwarded-For: loic.minier@linaro.org lool@dooz.org
Delivered-To: loic.minier@linaro.org
Received: by 10.231.142.228 with SMTP id r36cs265184ibu;
Tue, 27 Jul 2010 10:22:29 -0700 (PDT)
Received: by 10.216.87.209 with SMTP id y59mr9230573wee.91.1280251348423;
Tue, 27 Jul 2010 10:22:28 -0700 (PDT)
Received: from adelie.canonical.com (adelie.canonical.com [91.189.90.139])
by mx.google.com with ESMTP id v17si6997588weq.181.2010.07.27.10.22.27;
Tue, 27 Jul 2010 10:22:28 -0700 (PDT)
Received-SPF: pass (google.com: best guess record for domain of matt.waddel@canonical.com designates 91.189.90.139 as permitted sender) client-ip=91.189.90.139;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of matt.waddel@canonical.com designates 91.189.90.139 as permitted sender) smtp.mail=matt.waddel@canonical.com
Received: from hutte.canonical.com ([91.189.90.181])
by adelie.canonical.com with esmtp (Exim 4.69 #1 (Debian))
id 1OdnrH-0004PW-Kf
for <loic.minier@linaro.org>; Tue, 27 Jul 2010 18:22:27 +0100
Received: from 75-162-181-248.slkc.qwest.net ([75.162.181.248] helo=[192.168.1.102])
by hutte.canonical.com with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32)
(Exim 4.69)
(envelope-from <matt.waddel@canonical.com>)
id 1OdnrH-00067z-BO
for loic.minier@linaro.org; Tue, 27 Jul 2010 18:22:27 +0100
Message-ID: <4C4F15C4.2070502@canonical.com>
Date: Tue, 27 Jul 2010 11:22:12 -0600
From: Matt Waddel <matt.waddel@canonical.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.11) Gecko/20100711 Lightning/1.0b1 Thunderbird/3.0.6 ThunderBrowse/3.3.1
MIME-Version: 1.0
To: =?ISO-8859-1?Q?Lo=EFc_Minier?= <loic.minier@linaro.org>
Subject: qemu cp15 register patch
X-Enigmail-Version: 1.0.1
Content-Type: multipart/mixed;
boundary="------------020300010903030602010303"
>
>
The patch needs a Signed-off-by.
> diff --git a/target-arm/cpu.h b/target-arm/cpu.h
> index 7440163..b5d8a6c 100644
> --- a/target-arm/cpu.h
> +++ b/target-arm/cpu.h
> @@ -130,6 +130,7 @@ typedef struct CPUARMState {
> uint32_t c6_data;
> uint32_t c9_insn; /* Cache lockdown registers. */
> uint32_t c9_data;
> + uint32_t c9_pmcr_data; /* Performance Monitor Control Register */
The name looks a bit strange, c9_pmcr seems to be better.
> uint32_t c12_vbar; /* secure/nonsecure vector base address register. */
> uint32_t c12_mvbar; /* monitor vector base address register. */
> uint32_t c13_fcse; /* FCSE PID. */
> diff --git a/target-arm/helper.c b/target-arm/helper.c
> index 1f5f307..2136c07 100644
> --- a/target-arm/helper.c
> +++ b/target-arm/helper.c
> @@ -1558,6 +1558,15 @@ void HELPER(set_cp15)(CPUState *env, uint32_t insn, uint32_t val)
> case 1: /* TCM memory region registers. */
> /* Not implemented. */
> goto bad_reg;
> + case 12:
> + switch (op2) {
> + case 0:
> + env->cp15.c9_pmcr_data = val;
Maybe writing a small comment that it is not fully implemented will help
for later.
> + break;
> + default:
> + goto bad_reg;
> + }
> + break;
> default:
> goto bad_reg;
> }
> @@ -1897,6 +1906,13 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn)
> goto bad_reg;
> /* L2 Lockdown and Auxiliary control. */
> return 0;
> + case 12:
> + switch (op2) {
> + case 0:
> + return env->cp15.c9_pmcr_data;
> + default:
> + goto bad_reg;
> + }
> default:
> goto bad_reg;
> }
> diff --git a/target-arm/machine.c b/target-arm/machine.c
> index 8595549..026776d 100644
> --- a/target-arm/machine.c
> +++ b/target-arm/machine.c
> @@ -46,6 +46,7 @@ void cpu_save(QEMUFile *f, void *opaque)
> qemu_put_be32(f, env->cp15.c6_data);
> qemu_put_be32(f, env->cp15.c9_insn);
> qemu_put_be32(f, env->cp15.c9_data);
> + qemu_put_be32(f, env->cp15.c9_pmcr_data);
> qemu_put_be32(f, env->cp15.c13_fcse);
> qemu_put_be32(f, env->cp15.c13_context);
> qemu_put_be32(f, env->cp15.c13_tls1);
> @@ -156,6 +157,7 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id)
> env->cp15.c6_data = qemu_get_be32(f);
> env->cp15.c9_insn = qemu_get_be32(f);
> env->cp15.c9_data = qemu_get_be32(f);
> + env->cp15.c9_pmcr_data = qemu_get_be32(f);
> env->cp15.c13_fcse = qemu_get_be32(f);
> env->cp15.c13_context = qemu_get_be32(f);
> env->cp15.c13_tls1 = qemu_get_be32(f);
>
Adding fields here imply a change of CPU_SAVE_VERSION.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
prev parent reply other threads:[~2010-07-30 21:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-25 19:27 [Qemu-devel] [PATCH] Ignore writes of perf reg (cp15 with crm == 12) Loïc Minier
2010-07-28 11:29 ` [Qemu-devel] " Arnd Bergmann
2010-07-28 14:23 ` [Qemu-devel] " Loïc Minier
2010-07-30 21:30 ` Aurelien Jarno [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100730213004.GH20459@volta.aurel32.net \
--to=aurelien@aurel32.net \
--cc=lool@dooz.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.