23 lines
706 B
ArmAsm
23 lines
706 B
ArmAsm
.syntax unified
|
|
.cpu cortex-a7
|
|
.thumb
|
|
@ Minimal PBL stub (position-independent): BLX to SBL1 entry (seg1),
|
|
@ then canonical regs + jump to sbl_main. Mirrors PBL call-then-jump.
|
|
.text
|
|
.global pbl_stub
|
|
pbl_stub:
|
|
push {r4-r7, lr}
|
|
movw r12, #0x6b81
|
|
movt r12, #0x800
|
|
blx r12 @ SBL1 entry (odd: stay Thumb)
|
|
movw r0, #0x0000
|
|
movt r0, #0x0022 @ r0 = pbl_shared 0x00220000
|
|
mov r5, r0
|
|
movw sl, #0x0000
|
|
movt sl, #0x0806 @ sl = table base 0x08060000
|
|
movw fp, #0x1000
|
|
movt fp, #0x0806 @ fp = 0x08061000
|
|
movw lr, #0xf63f
|
|
movt lr, #0x0802 @ lr = sbl_main odd (noreturn marker)
|
|
bx lr
|