diff options
author | Christian Cunningham <cc@localhost> | 2022-01-23 01:21:58 -0700 |
---|---|---|
committer | Christian Cunningham <cc@localhost> | 2022-01-23 01:21:58 -0700 |
commit | 7cd13a5d04fbcf3178038a770c5edde423b4a542 (patch) | |
tree | eb7a1b9f7a44317a7b1b09f442e5fdafb2af03c3 | |
parent | 2e9921c5c3a28ec5d6733c1794d7f92bd24b1104 (diff) |
Handler returns to correct instruction
-rw-r--r-- | src/boot.S | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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 |