summaryrefslogtreecommitdiffstats
path: root/bsps/arm/shared/start/start.S
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-12-21 10:08:30 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-12-23 09:24:47 +0100
commit23d9223ad3b67156b99d828457d0ebd74687cf71 (patch)
tree30337bb821ddfb05ff75884510085d4357760042 /bsps/arm/shared/start/start.S
parentbsps/arm: Clear SCTLR[M, I, A, C] in start.S (diff)
downloadrtems-23d9223ad3b67156b99d828457d0ebd74687cf71.tar.bz2
bsps/arm: Invalidate TLB in start.S
Update #4202.
Diffstat (limited to 'bsps/arm/shared/start/start.S')
-rw-r--r--bsps/arm/shared/start/start.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S
index 0a3d4288cd..50bf1d4841 100644
--- a/bsps/arm/shared/start/start.S
+++ b/bsps/arm/shared/start/start.S
@@ -432,7 +432,16 @@ _start:
*/
mov r0, #0
mcr p15, 0, r0, c7, c5, 0
+
+#if __ARM_ARCH_PROFILE == 'A'
+ /*
+ * Invalidate the TLB using ITLBIALL (Instruction TLB Invalidate All).
+ */
+ mov r0, #0
+ mcr p15, 0, r0, c8, c7, 0
+ isb
#endif
+#endif /* (__ARM_ARCH >= 7 && __ARM_ARCH_PROFILE == 'A') || __ARM_ARCH >= 8 */
/*
* Invoke the start hook 0.