Re: [PATCH 1/7] PowerPC64: Not to insert EA=0 entry at
From: Ishizaki Kou <hidden>
Date: 2007-09-28 08:04:21
Ben-san,
quoted
It should have been set in setup_64.c, in setup_paca() (which is
called
quoted
twice) in that statement: local_paca = &paca[cpu]; As local_paca is defined as being a variable held in register r13.
Maybe
quoted
something bad's happening with the compiler ?
Can you check early_setup disassembly, see if r13 is assigned (it
should
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
ues
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 patch [1/7]. 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 PACA. Thank you for your hint. Best regards, Kou Ishizaki