[PATCH 4/8] bootwrapper: help for 64 bit cpus

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Apr 12 18:49:49 EST 2007


On Thu, 2007-04-12 at 09:43 +0200, Segher Boessenkool wrote:
> > +	/* We are in 64-bit mode.  This program must run in 32 bit
> > +	 * mode.  Assume we are actually running somewhere in the
> > +	 * low 32 bits of the address space, so we can just turn
> > +	 * off MSR[SF] which is bit 0.
> > +	 */
> > +	.machine push
> > +	.machine "ppc64"
> > +	rldicl	r0,r0,0,1
> > +	sync
> > +	mtmsrd	r0
> > +	isync
> > +	.machine pop
> 
> I'm not sure this actually works on all CPUs --
> aren't you supposed to use rfid for this?

Not for 32/64 bits switches afaik... as long as your PC is known to
fit in 32 bits, you don't generate an implicit branch.

Ben.





More information about the Linuxppc-dev mailing list