Subject: Re: [PATCH]: powerpc documentation: Clarify why twi appears in the i/o macros.

From: [email-masked] (Linas Vepstas)
Date: Fri, 8 Dec 2006 19:21:26 -0600

On Sat, Dec 09, 2006 at 11:19:23AM +1100, Paul Mackerras wrote:
> Segher Boessenkool writes:
> 
> > If you argue it is *not* a branch, where in the architecture
> > documentation can we find any language that gives us the
> > guarantee we depend on here?
> 
> isync is context synchronizing.  In the definition of context
> synchronization, it says "2.  The operation is not initiated, or in
> the case of isync, does not complete, until all instructions already
> in execution have completed to a point at which they have reported all
> exceptions they will cause".  The twi conditionally causes an
> exception depending on the data from the previous load, therefore it
> cannot complete to a point at which is has reported all exceptions it
> will cause until it sees the data from the load.  Therefore the isync
> cannot complete (and allow following instructions to start) until the
> data from the load has returned.

I'd be happy if this text, verbatim or suitably massaged, were 
included in the header file. 

--linas