summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2010-10-04 16:22:34 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-10-08 10:07:32 +0100
commita4ae41341fd39af6e25ec9861a6a4dc0c5c58b16 (patch)
tree1f36e414f8b3d29ddbe6d0407b0c141cb8d8b74d
parent5085f3ff458521045f7e43da62b8c30ea7df2e82 (diff)
ARM: cleanup boot cpu calling __mmap_switched
This allows us to relocate __mmap_switched and associated data away from the head section. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/kernel/head-common.S3
-rw-r--r--arch/arm/kernel/head.S3
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S
index 6ad24d2cb14..9f473ef2a64 100644
--- a/arch/arm/kernel/head-common.S
+++ b/arch/arm/kernel/head-common.S
@@ -18,7 +18,6 @@
.align 2
.type __switch_data, %object
__switch_data:
- .long __mmap_switched
.long __data_loc @ r4
.long _data @ r5
.long __bss_start @ r6
@@ -39,7 +38,7 @@ __switch_data:
* r9 = processor ID
*/
__mmap_switched:
- adr r3, __switch_data + 4
+ adr r3, __switch_data
ldmia r3!, {r4, r5, r6, r7}
cmp r4, r5 @ Copy data segment if needed
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index eb62bf94721..aa6ab9d8646 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -95,13 +95,14 @@ ENTRY(stext)
* above. On return, the CPU will be ready for the MMU to be
* turned on, and r0 will hold the CPU control register value.
*/
- ldr r13, __switch_data @ address to jump to after
+ ldr r13, =__mmap_switched @ address to jump to after
@ mmu has been enabled
adr lr, BSYM(__enable_mmu) @ return (PIC) address
ARM( add pc, r10, #PROCINFO_INITFUNC )
THUMB( add r12, r10, #PROCINFO_INITFUNC )
THUMB( mov pc, r12 )
ENDPROC(stext)
+ .ltorg
#if defined(CONFIG_SMP)
ENTRY(secondary_startup)