Kexec initial registers
Jimi Xenidis
jimix at watson.ibm.com
Sun Jul 16 12:10:04 EST 2006
On Jul 14, 2006, at 5:08 PM, Benjamin Herrenschmidt wrote:
> On Fri, 2006-07-14 at 12:02 -0400, Jimi Xenidis wrote:
>> This is what I have so far:
>>
>> r3: address of device tree blob
>> r4: address that kernel was loaded
>> r5: not OF (=0)
>
> Correct and that's all that should be needed
>
>> r13: local_paca address (0?)
>
> You shouldn't have to care about r13 at all, it should be set by the
> kernel before it's used. If not, please let us know as that means
> there
> is a bug :)
Not! 99.99% :)
When loading a kernel under Xen using kexec we set r1-r5 and set all
other GPRS to all 5's (cuz we can) with CONFIG_PPC_EARLY_DEBUG=y and
all hell breaks loose in the first printk()/DBG() from early_setup()
for:
kernel/printk.c:506
506 spin_lock_irqsave(&logbuf_lock, flags);
where is access local_paca.
I think everyone else (ot just the sane ones) just sets all GPRS to 0
-JX
More information about the Linuxppc-dev
mailing list