aboutsummaryrefslogtreecommitdiff
path: root/interrupt_vector.S
diff options
context:
space:
mode:
authorWojtek Kosior <kwojtus@protonmail.com>2019-12-10 16:46:56 +0100
committerWojtek Kosior <kwojtus@protonmail.com>2019-12-10 16:46:56 +0100
commit3f1cd2050271dbf548e053f0a67e365b277cfcb3 (patch)
treecef57f71beddb9bb97d35390deb29a09b2d7d98b /interrupt_vector.S
parentc76b34db77f06450ba1c957e87a0b1df3c6c29b4 (diff)
downloadrpi-MMU-example-3f1cd2050271dbf548e053f0a67e365b277cfcb3.tar.gz
rpi-MMU-example-3f1cd2050271dbf548e053f0a67e365b277cfcb3.zip
re-enter system mode on invalid data access from PL0 code
Diffstat (limited to 'interrupt_vector.S')
-rw-r--r--interrupt_vector.S20
1 files changed, 20 insertions, 0 deletions
diff --git a/interrupt_vector.S b/interrupt_vector.S
new file mode 100644
index 0000000..f71330b
--- /dev/null
+++ b/interrupt_vector.S
@@ -0,0 +1,20 @@
+.section ".interrupt_vectors.text"
+
+.global abort_handler
+.local generic_handler
+.global _interrupt_vectors
+_interrupt_vectors:
+ b generic_handler
+ b generic_handler
+ b generic_handler
+ b abort_handler_caller
+ b abort_handler_caller
+ b generic_handler
+ b generic_handler
+
+generic_handler:
+ b generic_handler
+abort_handler_caller:
+ mov sp, #0x8000
+ ldr r5, =abort_handler
+ bx r5