[PATCH 1/7] PowerPC64: Not to insert EA=0 entry at
kou.ishizaki at toshiba.co.jp
Fri Sep 28 18:04:01 EST 2007
> > It should have been set in setup_64.c, in setup_paca() (which is
> > twice) in that statement:
> > local_paca = &paca[cpu];
> > As local_paca is defined as being a variable held in register r13.
> > something bad's happening with the compiler ?
> Can you check early_setup disassembly, see if r13 is assigned (it
> be in two spots) and if it's clobbered by the compiler somewhere ?
> Also, you may want to try adding --ffixed-r13 to the CFLAGS in the
> makefile and let us know if it makes a difference... r13 is marked
> reserved by the ABI but segher seems to imply that gcc may decide to
> it anyway (ouch !)
I reviewed early_setup() disassembly sets r13 correctly. Now I found
the kernel works well without our hack, so I think I can decline the
Commit edd0622bd2e8f755c960827e15aa6908c3c5aa94 seems to break the
kernel and commit 175587cca7447daf5a13e4a53d32360ed8cba804 backs out
the symptom. Calling slb_flush_and_rebolt() at slb_initialize()
function breaks the SLB table since it is called before setting up
Thank you for your hint.
More information about the Linuxppc-dev