r13 is non-volatile?

Segher Boessenkool segher at kernel.crashing.org
Fri Sep 9 03:01:18 EST 2005

> Was looking at merging some code between ppc32 & ppc64 and noticed 
> that in ppc32 we consider r13 to be part of the non-volatile register 
> set.  Is this really correct?

I believe so, yes.

> r13 is suppose to be sdata pointer in ppc32

sdata pointer is non-volatile by definition...

> and system thread id in ppc64.

The 64-bit kernel uses GPR13 as the PACA pointer, so it handles
it specially -- it treats the userland values of the register
as non-volatile, though.

> So I'm wondering should we really be considering it NV on ppc32?

Yeah.  I'm sure there is some way to make the macro's identical
between 32- and 64-bit, though.


More information about the Linuxppc-dev mailing list