public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Christian Hildner <christian.hildner@hob.de>
To: linux-ia64@vger.kernel.org
Subject: Re: RSE and incomplete register frame
Date: Thu, 03 Aug 2006 09:09:15 +0000	[thread overview]
Message-ID: <44D1BD3B.2040000@hob.de> (raw)
In-Reply-To: <44D05F9F.3070804@hob.de>

Matthew Chapman schrieb:

>Hi Christian,
>
>It took me a while to get my head around this.  
>
>>while developing an instruction set simulator
>>    
>>
>I'd be interested in learning more about this simulator :)
>
It will become a functional IA64 simulator with some more features 
compared to HP Ski. And in opposite to HP Ski it also has the clean 
partition architected.

>>incomplete register frame (ASDM vol. 2) to be inaccurate. It says that 
>>the incomplete frame becomes complete when RSE.ndirty_words becomes 
>>non-negative by executing mandatory RSE loads. However, mandatory RSE 
>>loads are not touching BSPSTORE or the dirty partition.
>>    
>>
>Indirectly they are, because presumably the dirty partition (and BSPSTORE)
>must remain squeezed between the invalid partition and the current
>partition (albeit being zero-size, or negative-size depending on how you
>look at it - the invalid partition extends into the current partition!).
>
>>RSE loads are extending the clean partition.
>>    
>>
>IMHO there is no clean partition.  The RSE loads are targeting the current
>frame so they are immediately dirty+current.
>
>>Furthermore if you consider RSE.BOF to 
>>end up inside the clean partition after a br.ret or rfi, then BSPSTORE 
>>is located above BSP.
>>    
>>
>RSE.BOF by definition ends up in the current partition (which is
>immediately dirty), which is above the other dirty registers (if any) in
>the dirty partition, which is above the clean partition.  Hence in the
>normal case BSPSTORE is less than or equal to BSP.
>
It looks to me like the clean partition only exists in the high level 
IA64 architecture design. The clean partition is probably lacking in the 
Intel reference models as well as in current hardware designs. So the 
documentation does not care a lot about the clean partition and leaves 
it up to the phantasy of the reader what happens to it in the case of a 
br.ret or rfi.

>Hope this helps, feel free to argue with me if you disagree.
>
Your idea of treating all former clean regs as current dirty regs and so 
logically flushing the clean parition is exactly the way I solved the 
issue in our simulator.

Thanks

Christian


____________
Virus checked by G DATA AntiVirusKit



      parent reply	other threads:[~2006-08-03  9:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-02  8:17 RSE and incomplete register frame Christian Hildner
2006-08-03  5:41 ` Matthew Chapman
2006-08-03  9:09 ` Christian Hildner [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=44D1BD3B.2040000@hob.de \
    --to=christian.hildner@hob.de \
    --cc=linux-ia64@vger.kernel.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