qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Mike Frysinger <vapier@gentoo.org>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	toolchain-devel@blackfin.uclinux.org,
	Alexander Graf <agraf@suse.de>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/4] new Blackfin QEMU port
Date: Tue, 1 Feb 2011 18:45:57 +0000	[thread overview]
Message-ID: <AANLkTiny4xTPNNvbmqw_szedw53ecvsrMGV_rSf3i+Xk@mail.gmail.com> (raw)
In-Reply-To: <AANLkTi=AG-u0Kkvp__k1VPxqZgBfe7KKLp2SBwUzo88A@mail.gmail.com>

On 1 February 2011 18:16, Mike Frysinger <vapier@gentoo.org> wrote:
> On Tue, Feb 1, 2011 at 12:30, Peter Maydell wrote:
>> That's OK too, that would fall into my category (3).
>
> so the TB invalidation checking can be taken care of implicitly if i
> handled things in cpu_get_tb_cpu_state() ?  that would be nice.

It doesn't invalidate the TB, it just means that qemu can have
two different TBs for the same address and distinguish between
them. So in cpu_get_tb_cpu_state() you encode the relevant bits
of env into the flags, and then in translate.c, instead of looking
at env members, you unpack tb->flags (usually into a disas context
struct) and look at the results of your unpacking.

> but i guess i'm not seeing how i would handle this scenario ... i want
> to attach to each TB the state of the two 32bit lbregs when that TB
> was created.  then in this state func, make sure the current lbregs
> have the same values.  but if i need to encode this information into
> "flags", i dont think i have enough space.

That's right -- you only have a total of 64 bits (you can use flags
and also cs_base since you're not a PC with a weird addressing
setup), so you have to be stingy about what you put in there.
Also if you're likely to repeatedly execute the same bit of code
with different values of lbregs you probably don't want to put them
in tb_flags anyway, because you'd end up repeatedly translating
the code and holding lots of nearly-identical TBs for it.

-- PMM

  reply	other threads:[~2011-02-01 18:46 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-24 10:23 [Qemu-devel] [PATCH 0/4] new Blackfin QEMU port Mike Frysinger
2011-01-24 10:26 ` [Qemu-devel] [PATCH 3/4] Blackfin: add linux-user support Mike Frysinger
2011-01-24 10:29 ` [Qemu-devel] [PATCH 2/4] Blackfin: initial port Mike Frysinger
2011-01-31 14:00 ` [Qemu-devel] [PATCH 0/4] new Blackfin QEMU port Edgar E. Iglesias
2011-02-01  4:19   ` Mike Frysinger
2011-02-01  9:38     ` Alexander Graf
2011-02-01 10:31       ` Peter Maydell
2011-02-01 11:46         ` Alexander Graf
2011-02-01 11:53           ` Peter Maydell
2011-02-01 17:20         ` Mike Frysinger
2011-02-01 17:30           ` Peter Maydell
2011-02-01 18:16             ` Mike Frysinger
2011-02-01 18:45               ` Peter Maydell [this message]
2011-02-02  0:19                 ` Mike Frysinger

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=AANLkTiny4xTPNNvbmqw_szedw53ecvsrMGV_rSf3i+Xk@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=agraf@suse.de \
    --cc=edgar.iglesias@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=toolchain-devel@blackfin.uclinux.org \
    --cc=vapier@gentoo.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).