Message ID | 1270412343-19334-2-git-send-email-sebastian@breakpoint.cc (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Kumar Gala |
Headers | show |
On Apr 4, 2010, at 3:19 PM, Sebastian Andrzej Siewior wrote: > From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > > During boot we change the mapping a few times until we have a "defined" > mapping. During this procedure a small 4KiB mapping is created and after > that one a 64MiB. Currently the offset of the 4KiB page in that we run > is zero because the complete startup up code is in first page which > starts at RPN zero. > If the code is recycled and moved to another location then its execution > will fail because the start address in 64 MiB mapping is computed > wrongly. It does not consider the offset to the page from the begin of > the memory. > This patch fixes this. Usually (system boot) r25 is zero so this does > not change anything unless the code is recycled. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > --- > arch/powerpc/kernel/head_fsl_booke.S | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) applied to next - k
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S index 7255265..9d00418 100644 --- a/arch/powerpc/kernel/head_fsl_booke.S +++ b/arch/powerpc/kernel/head_fsl_booke.S @@ -275,6 +275,7 @@ skpinv: addi r6,r6,1 /* Increment */ 1: mflr r9 rlwimi r6,r9,0,20,31 addi r6,r6,(2f - 1b) + add r6, r6, r25 mtspr SPRN_SRR0,r6 mtspr SPRN_SRR1,r7 rfi /* start execution out of TLB1[0] entry */