Re: RSE and incomplete register frame

From: Matthew Chapman <matthewc_at_cse.unsw.edu.au>
Date: 2006-08-03 15:41:36
Hi Christian,

It took me a while to get my head around this.  I'm not convinced that
the documentation is incorrect, although they are maybe looking at it
from a slightly different perspective.

Keep in mind Figure 6-3... the current partition is above the dirty
partition is above the clean partition.  RSE operation should preserve
this relationship (as I see it).

Also, note that the registers in the current partition, even though not
technically part of the dirty partition, are necessarily dirty... they
may be targeted at any time by writebacks.

> while developing an instruction set simulator

I'd be interested in learning more about this simulator :)

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

Hope this helps, feel free to argue with me if you disagree.

Matt

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Aug 03 15:42:21 2006

This archive was generated by hypermail 2.1.8 : 2006-08-03 15:42:33 EST