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>
This commit is contained in:
Russell King 2010-10-04 16:22:34 +01:00
parent 5085f3ff45
commit a4ae41341f
2 changed files with 3 additions and 3 deletions

View File

@ -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

View File

@ -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)