|
@@ -113,6 +113,7 @@ ENTRY(stext)
|
|
|
ldr r13, =__mmap_switched @ address to jump to after
|
|
|
@ mmu has been enabled
|
|
|
adr lr, BSYM(1f) @ return (PIC) address
|
|
|
+ mov r8, r4 @ set TTBR1 to swapper_pg_dir
|
|
|
ARM( add pc, r10, #PROCINFO_INITFUNC )
|
|
|
THUMB( add r12, r10, #PROCINFO_INITFUNC )
|
|
|
THUMB( mov pc, r12 )
|
|
@@ -302,8 +303,10 @@ ENTRY(secondary_startup)
|
|
|
*/
|
|
|
adr r4, __secondary_data
|
|
|
ldmia r4, {r5, r7, r12} @ address to jump to after
|
|
|
- sub r4, r4, r5 @ mmu has been enabled
|
|
|
- ldr r4, [r7, r4] @ get secondary_data.pgdir
|
|
|
+ sub lr, r4, r5 @ mmu has been enabled
|
|
|
+ ldr r4, [r7, lr] @ get secondary_data.pgdir
|
|
|
+ add r7, r7, #4
|
|
|
+ ldr r8, [r7, lr] @ get secondary_data.swapper_pg_dir
|
|
|
adr lr, BSYM(__enable_mmu) @ return address
|
|
|
mov r13, r12 @ __secondary_switched address
|
|
|
ARM( add pc, r10, #PROCINFO_INITFUNC ) @ initialise processor
|