diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-10-01 10:42:02 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-10-08 05:07:27 -0400 |
commit | f131a0800e286a13839784e554383c0ddfa78bce (patch) | |
tree | 1bc1645430823bcb2cbc49a510a24db0c76023e2 | |
parent | 2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff) |
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>
-rw-r--r-- | arch/arm/kernel/head-nommu.S | 5 |
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) | |||
48 | movs r8, r5 @ invalid machine (r5=0)? | 48 | movs r8, r5 @ invalid machine (r5=0)? |
49 | beq __error_a @ yes, error 'a' | 49 | beq __error_a @ yes, error 'a' |
50 | 50 | ||
51 | ldr r13, __switch_data @ address to jump to after | ||
52 | @ the initialization is done | ||
53 | adr lr, BSYM(__after_proc_init) @ return (PIC) address | 51 | adr lr, BSYM(__after_proc_init) @ return (PIC) address |
54 | ARM( add pc, r10, #PROCINFO_INITFUNC ) | 52 | ARM( add pc, r10, #PROCINFO_INITFUNC ) |
55 | THUMB( add r12, r10, #PROCINFO_INITFUNC ) | 53 | THUMB( add r12, r10, #PROCINFO_INITFUNC ) |
@@ -87,8 +85,7 @@ __after_proc_init: | |||
87 | mcr p15, 0, r0, c1, c0, 0 @ write control reg | 85 | mcr p15, 0, r0, c1, c0, 0 @ write control reg |
88 | #endif /* CONFIG_CPU_CP15 */ | 86 | #endif /* CONFIG_CPU_CP15 */ |
89 | 87 | ||
90 | mov r3, r13 | 88 | b __mmap_switched @ clear the BSS and jump |
91 | mov pc, r3 @ clear the BSS and jump | ||
92 | @ to start_kernel | 89 | @ to start_kernel |
93 | ENDPROC(__after_proc_init) | 90 | ENDPROC(__after_proc_init) |
94 | .ltorg | 91 | .ltorg |