Minor cleanups, comment changes. No need to load 3 values when setting up
the stack for secondary cores, the other two values are only used for zeroing bss on the primary core. No need to store the size of the stack at the top of the stack (seems to be a leftover instruction from some cut-n-paste).
This commit is contained in:
parent
f590185223
commit
d6f695fd31
@ -367,9 +367,9 @@ VA_TO_PA_POINTER(Lpagetable, boot_pt1)
|
||||
|
||||
|
||||
.Lstart:
|
||||
.word _edata
|
||||
.word _ebss
|
||||
.word svcstk
|
||||
.word _edata /* Note that these three items are */
|
||||
.word _ebss /* loaded with a single ldmia and */
|
||||
.word svcstk /* must remain in order together. */
|
||||
|
||||
.Lmainreturned:
|
||||
.asciz "main() returned"
|
||||
@ -425,20 +425,19 @@ ASENTRY_NP(mpentry)
|
||||
|
||||
bl init_mmu
|
||||
|
||||
adr r1, .Lstart
|
||||
ldmia r1, {r1, r2, sp} /* Set initial stack and */
|
||||
mrc p15, 0, r0, c0, c0, 5
|
||||
and r0, r0, #15
|
||||
adr r1, .Lstart+8 /* Get initstack pointer from */
|
||||
ldr sp, [r1] /* startup data. */
|
||||
mrc CP15_MPIDR(r0) /* Get processor id number. */
|
||||
and r0, r0, #0x0f
|
||||
mov r1, #INIT_ARM_STACK_SIZE
|
||||
mul r2, r1, r0
|
||||
add sp, sp, r2
|
||||
str r1, [sp]
|
||||
mul r2, r1, r0 /* Point sp to initstack */
|
||||
add sp, sp, r2 /* area for this processor. */
|
||||
|
||||
/* Switch to virtual addresses. */
|
||||
ldr pc, =1f
|
||||
1:
|
||||
mov fp, #0 /* trace back starts here */
|
||||
bl _C_LABEL(init_secondary) /* Off we go */
|
||||
bl _C_LABEL(init_secondary)/* Off we go, cpu id in r0. */
|
||||
|
||||
adr r0, .Lmpreturned
|
||||
b _C_LABEL(panic)
|
||||
|
Loading…
Reference in New Issue
Block a user