qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Aurelien Jarno <aurelien@aurel32.net>
Cc: Paul Brook <paul@codesourcery.com>,
	qemu-devel@nongnu.org, patches@linaro.org
Subject: Re: [Qemu-devel] [PATCH] target-arm: Minimal implementation of performance counters
Date: Mon, 16 May 2011 10:59:47 +0100	[thread overview]
Message-ID: <BANLkTikDS+ePn1rMNBFkYGRgaOSyD9+2BA@mail.gmail.com> (raw)
In-Reply-To: <20110514213247.GB13600@volta.aurel32.net>

On 14 May 2011 22:32, Aurelien Jarno <aurelien@aurel32.net> wrote:
> On Fri, May 06, 2011 at 03:32:27PM +0100, Peter Maydell wrote:
>> I just spoke with Paul on IRC about this. In summary:
>>  * for a helper to cause an exception then it has (a) to make sure CPU
>> state (pc, condflags) is sync'd before the call to the helper and (b)
>> the helper has to be in a file with access to global env, because it
>> needs to call cpu_loop_exit()
>
> I don't think (a) is true. It is possible to use the same way as for
> load/store operations, that is call cpu_restore_state() before calling
> cpu_loop_exit().

Yes, I think you're right here, I'm not sure why I didn't think that
would work. (b) still applies, though.

> If you don't really like having env as a fixed host registers (recent
> patch series from Blue Swirl seems to want to get rid of this), it is
> possible to pass env as an argument of the helper to do that.

I think really my position on this patch is that it adds
functionality that means you can't actually boot recent Linux
kernels with hw breakpoint support enabled, and I'd rather not
have it get tangled up with either the ongoing "remove AREG0"
discussions or a more general overhaul of how cp15 registers
are handled. It just handles this handful of new registers in
the same way we currently handle all the other cp14/cp15 regs.

> What ever solution is used, we need env for the load/store functions,
> and theses functions already provide a framework to restore the CPU
> state. I think it's a good idea to use this framework instead of having
> a second framework using TCG code for that.

Do you mean you'd like to see us using cpu_restore_state() instead
of explicit state-syncing TCG code for the cases where the exception
is "expected" like SVC instructions? (ie what most targets have
a gen_exception() function for.)

-- PMM

  parent reply	other threads:[~2011-05-16  9:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-21 16:01 [Qemu-devel] [PATCH] target-arm: Minimal implementation of performance counters Peter Maydell
2011-04-22  7:23 ` Brad Hards
2011-04-22  9:48   ` Peter Maydell
2011-04-22 10:32     ` Brad Hards
2011-04-25 21:09 ` Aurelien Jarno
2011-04-25 21:59   ` Peter Maydell
2011-04-25 22:31     ` Aurelien Jarno
2011-04-25 22:35       ` Peter Maydell
2011-04-26 10:23         ` Aurelien Jarno
2011-05-06 14:32           ` Peter Maydell
2011-05-14 21:32             ` Aurelien Jarno
2011-05-14 22:01               ` Blue Swirl
2011-05-14 22:10                 ` Aurelien Jarno
2011-05-16  9:59               ` Peter Maydell [this message]
2011-05-16 17:29                 ` Aurelien Jarno
2011-05-16 17:51                   ` Peter Maydell
2011-06-15 17:39                     ` Peter Maydell
2011-05-16 16:10               ` Paul Brook
2011-05-16 16:37                 ` Peter Maydell
2011-05-16 17:29                   ` Aurelien Jarno
2011-05-16 17:47                     ` Peter Maydell
2011-05-16 18:06                       ` Aurelien Jarno

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=BANLkTikDS+ePn1rMNBFkYGRgaOSyD9+2BA@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=patches@linaro.org \
    --cc=paul@codesourcery.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).