Thread (9 messages) 9 messages, 3 authors, 2007-09-28

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help