Squash commits for public release
This commit is contained in:
30
boot/arm32/entry.s
Normal file
30
boot/arm32/entry.s
Normal file
@@ -0,0 +1,30 @@
|
||||
.extern _start
|
||||
.extern _start_secondary_cpu
|
||||
|
||||
.section ".xos_boot_text"
|
||||
xos_loader:
|
||||
ldr sp, =STACK_PHYZ_TOP
|
||||
|
||||
mrc p15, #0, r0, c0, c0, #5 // Read CPU ID register.
|
||||
and r0, r0, #3
|
||||
cmp r0, #0
|
||||
bne secondary_cpu_loader
|
||||
|
||||
ldr r0, =_start
|
||||
mov pc, r0
|
||||
|
||||
secondary_cpu_loader:
|
||||
ldr sp, =STACK_SECONDARY_PHYZ_TOP
|
||||
mov r9, #512
|
||||
mrc p15, #0, r8, c0, c0, #5 // Read CPU ID register.
|
||||
and r8, r8, #3
|
||||
1:
|
||||
sub r8, r8, #1
|
||||
cmp r8, #0
|
||||
beq secondary_cpu_loader_exit
|
||||
add r9, r9, #512
|
||||
b 1b
|
||||
secondary_cpu_loader_exit:
|
||||
subs sp, r9
|
||||
ldr r0, =_start_secondary_cpu
|
||||
mov pc, r0
|
||||
Reference in New Issue
Block a user