qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target-tilegx: Finish decoding the first TB blo


From: Chen Gang S
Subject: Re: [Qemu-devel] [PATCH] target-tilegx: Finish decoding the first TB block.
Date: Sun, 22 Feb 2015 12:42:32 +0800
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 2/22/15 09:08, Chen Gang S wrote:
> On 2/22/15 08:25, Chris Metcalf wrote:

[...]

>> 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.
> 

Oh, Richard's code is still OK, but always be sure that y2 and x1 must
be the last pipe execution of the bundle:

 - Execute y0/y1/x0 which will save temporary changing: they are only
   have effect with registers, have no effect with others (e.g. memory
   value). Temporary variable can also be for SPR, so y1 is also OK.

 - Execute y2/x1, if they fail, just generate exception, then as the
   result, we can say "the whole bundle is not executed".

 - After finish y2/x1, we write back register temporary variables, then
   write back branch temporary variables.


Thanks.
-- 
Chen Gang

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]