diff options
author | Wojtek Kosior <kwojtus@protonmail.com> | 2019-12-28 23:25:05 +0100 |
---|---|---|
committer | Wojtek Kosior <kwojtus@protonmail.com> | 2019-12-28 23:25:05 +0100 |
commit | a910d10349593fce9f5f28f0de4f27ba85cd7df2 (patch) | |
tree | 3c682f3e6dafd1ec54a88e177447b766de56db7c /interrupt_vector.S | |
parent | 68478311d11406e9452ae7fc2cf6e7405fb9c4d6 (diff) | |
download | rpi-MMU-example-a910d10349593fce9f5f28f0de4f27ba85cd7df2.tar.gz rpi-MMU-example-a910d10349593fce9f5f28f0de4f27ba85cd7df2.zip |
enter and exit supervisor call (+ fixed jumping to PL0 for the first time - setting sp was broken there)
Diffstat (limited to 'interrupt_vector.S')
-rw-r--r-- | interrupt_vector.S | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/interrupt_vector.S b/interrupt_vector.S index 6037b7c..88b32bf 100644 --- a/interrupt_vector.S +++ b/interrupt_vector.S @@ -21,7 +21,9 @@ undef_handler_caller: svc_handler_caller: ldr sp, =_stack_top ldr r5, =supervisor_call_handler - bx r5 + push {lr} + blx r5 + ldm sp!, {pc} ^ abort_handler_caller: ldr sp, =_stack_top |