aboutsummaryrefslogtreecommitdiff
path: root/src/exceptions/prefetch.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/exceptions/prefetch.S')
-rw-r--r--src/exceptions/prefetch.S20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/exceptions/prefetch.S b/src/exceptions/prefetch.S
new file mode 100644
index 0000000..1aeba10
--- /dev/null
+++ b/src/exceptions/prefetch.S
@@ -0,0 +1,20 @@
+.section ".text.exceptions"
+.globl prefetch
+prefetch:
+ cpsid aif
+ stmfd sp!, {r0-r12,lr}
+ mov r4, lr
+ mov r0, #0
+ mov r1, #16
+ ldr r2, =prefetch_msg
+ bl draw_string
+ // Output return address
+ mov r0, #17
+ mov r1, #16
+ mov r2, r4
+ bl draw_hex32
+ ldmfd sp!, {r0-r12,lr}
+ subs pc, lr, #4
+
+.section .data
+prefetch_msg: .asciz "Prefetch Handler"