All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen Gang S <gang.chen@sunrus.com.cn>
To: Chris Metcalf <cmetcalf@ezchip.com>,
	Richard Henderson <rth@twiddle.net>,
	Peter Maydell <peter.maydell@linaro.org>,
	Riku Voipio <riku.voipio@iki.fi>,
	"walt@tilera.com" <walt@tilera.com>
Cc: qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] target-tilegx: Finish decoding the first TB block.
Date: Sun, 22 Feb 2015 09:08:44 +0800	[thread overview]
Message-ID: <54E92C1C.9060208@sunrus.com.cn> (raw)
In-Reply-To: <54E921FF.6000208@ezchip.com>

On 2/22/15 08:25, Chris Metcalf wrote:
> On 2/21/2015 7:25 PM, Chen Gang S wrote:
>> On 2/22/15 00:33, Richard Henderson wrote:
>>> >On 02/21/2015 07:31 AM, Chen Gang S wrote:
>>>> >>
>>>> >>  - We can still use the original pipes order: "y0, y2, y1" and "x0, x1".
>>> >
>>> >I guess, sure, though I don't think that'll help as much as you imagine.
>>> >
>>>
>> OK, thanks. For me, your idea is OK, it is more simpler (although with
>> more tcg temporary variables).
> 
> Richard pretty much said all I wanted to say, but I just wanted to reinforce
> that the semantics of the multiple pipes is always "all together".

OK, thanks.

>                                                                    So if you have
> { move r1, r2; move r2, r1 } then that swaps r1 and r2.

So the first pipe must have temporary variable.

>                                                          Or if you have
> { ld r1, sp; jrp r1 } then you are restoring r1 but jumping to wherever its
> previous value said you needed to go.  Etc.
 
Excuse me, I am not quite sure whether ld/st can be in pipe x0, y0, or
y1.

But I guess your meaning is that y2 must have temporary variable, or it
will cause issue.

> Similarly, if any pipeline takes an exception (a TLB fault from a memory op,
> a GPV fault from an illegal mfspr, etc) then no pipeline completes its action.
> 

Oh, really !! And I guess, Richard's code can not be sure of it: memory
write operand (e.g st) is not buffered. If what I guess is correct, for
me, it is not quite easy to fix this issue.

I also guess, at present, we need think of more before continue.

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

  reply	other threads:[~2015-02-22  1:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-21  3:05 [Qemu-devel] [PATCH] target-tilegx: Finish decoding the first TB block Chen Gang S
2015-02-21  7:16 ` Chen Gang S
2015-02-21 15:31   ` Chen Gang S
2015-02-21 16:02     ` Chen Gang S
2015-02-21 16:33     ` Richard Henderson
2015-02-22  0:25       ` Chen Gang S
2015-02-22  0:25         ` Chris Metcalf
2015-02-22  1:08           ` Chen Gang S [this message]
2015-02-22  4:42             ` Chen Gang S

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=54E92C1C.9060208@sunrus.com.cn \
    --to=gang.chen@sunrus.com.cn \
    --cc=cmetcalf@ezchip.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    --cc=rth@twiddle.net \
    --cc=walt@tilera.com \
    /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.