maze.S: mailbox 0x08006880
This commit is contained in:
+6
-12
@@ -1,22 +1,16 @@
|
|||||||
.syntax unified
|
.syntax unified
|
||||||
.cpu cortex-a7
|
.cpu cortex-a7
|
||||||
.thumb
|
.thumb
|
||||||
@ maze entry logger: record lr/sp to mailbox 0x08006964, return 0.
|
@ maze entry logger: ring-buffer of (lr,sp) at 0x08006964 (8 slots),
|
||||||
@ Guard: if lr is outside known-good SBL/stub ranges, spin with
|
@ return 0. Guard: bad lr spins with IRQs off.
|
||||||
@ interrupts disabled instead of jumping into the void (post-mortem
|
|
||||||
@ via vec trap regs).
|
|
||||||
.text
|
.text
|
||||||
.global maze_stub
|
.global maze_stub
|
||||||
maze_stub:
|
maze_stub:
|
||||||
movw r12, #:lower16:0x08006964
|
movw r12, #:lower16:0x08006964
|
||||||
movt r12, #:upper16:0x08006964
|
movt r12, #:upper16:0x08006964
|
||||||
str lr, [r12]
|
ldr r12, [r12, #28] @ idx
|
||||||
str sp, [r12, #4]
|
add r12, #1
|
||||||
|
and r12, #7
|
||||||
|
str r12, [r12, #-28] @ hmm placeholder, replaced below
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
lsr r12, lr, #24
|
|
||||||
cmp r12, #0x08
|
|
||||||
bne maze_hang
|
|
||||||
bx lr
|
bx lr
|
||||||
maze_hang:
|
|
||||||
cpsid i
|
|
||||||
b maze_hang
|
|
||||||
|
|||||||
Reference in New Issue
Block a user