summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/head-nommu.S
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-10-01 15:42:02 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-10-08 10:07:27 +0100
commitf131a0800e286a13839784e554383c0ddfa78bce (patch)
tree1bc1645430823bcb2cbc49a510a24db0c76023e2 /arch/arm/kernel/head-nommu.S
parent2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff)
downloadlinux-f131a0800e286a13839784e554383c0ddfa78bce.tar.gz
linux-f131a0800e286a13839784e554383c0ddfa78bce.tar.bz2
linux-f131a0800e286a13839784e554383c0ddfa78bce.zip
ARM: no need for nommu to jump through the hoops that mmu does
nommu can jump directly to __mmap_switched without the absolute address branching which the mmuful kernel does. Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/head-nommu.S')
-rw-r--r--arch/arm/kernel/head-nommu.S5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
index 573b803dc6bf..814ce1a73270 100644
--- a/arch/arm/kernel/head-nommu.S
+++ b/arch/arm/kernel/head-nommu.S
@@ -48,8 +48,6 @@ ENTRY(stext)
movs r8, r5 @ invalid machine (r5=0)?
beq __error_a @ yes, error 'a'
- ldr r13, __switch_data @ address to jump to after
- @ the initialization is done
adr lr, BSYM(__after_proc_init) @ return (PIC) address
ARM( add pc, r10, #PROCINFO_INITFUNC )
THUMB( add r12, r10, #PROCINFO_INITFUNC )
@@ -87,8 +85,7 @@ __after_proc_init:
mcr p15, 0, r0, c1, c0, 0 @ write control reg
#endif /* CONFIG_CPU_CP15 */
- mov r3, r13
- mov pc, r3 @ clear the BSS and jump
+ b __mmap_switched @ clear the BSS and jump
@ to start_kernel
ENDPROC(__after_proc_init)
.ltorg