aboutsummaryrefslogtreecommitdiff
path: root/src/boot.S
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-01-23 01:21:58 -0700
committerChristian Cunningham <cc@localhost>2022-01-23 01:21:58 -0700
commit7cd13a5d04fbcf3178038a770c5edde423b4a542 (patch)
treeeb7a1b9f7a44317a7b1b09f442e5fdafb2af03c3 /src/boot.S
parent2e9921c5c3a28ec5d6733c1794d7f92bd24b1104 (diff)
Handler returns to correct instruction
Diffstat (limited to 'src/boot.S')
-rw-r--r--src/boot.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/boot.S b/src/boot.S
index e97ddcb..d8ebba4 100644
--- a/src/boot.S
+++ b/src/boot.S
@@ -168,7 +168,8 @@ io_halt_prefetch:
pop {lr}
mov r0, lr
bl uart_hexn
- ldmfd sp!, {r0-r12,pc}^
+ ldmfd sp!, {r0-r12,lr}
+ subs pc, lr, #4
io_halt_data:
stmfd sp!, {r0-r12,lr}
ldr r0, =data_msg
@@ -178,7 +179,8 @@ io_halt_data:
ldr r0, [r1, #-4]
sub r0, #8
bl uart_hexn
- ldmfd sp!, {r0-r12,pc}^
+ ldmfd sp!, {r0-r12,lr}
+ subs pc, lr, #4 // Should be 8 once I can actually handle the abort
fiq:
stmfd sp!, {r0-r12,lr}
//ldr r0, =fiq_msg