summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-06-05 16:38:29 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-06-06 08:02:10 +0200
commitdc44de7686771aaaf3343ffbfed021e8c38cacc3 (patch)
treec7831409dcc4bbd3c70e271018b3f79d6d65dfbf
parentc19342a7674326b28ab5f44fc5c1a4a839866bfc (diff)
bsps/arm: Fix TLB invalidation for ARMv7-A
-rw-r--r--c/src/lib/libcpu/arm/shared/include/arm-cp15.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/arm/shared/include/arm-cp15.h b/c/src/lib/libcpu/arm/shared/include/arm-cp15.h
index c81b16a964..76b05822cd 100644
--- a/c/src/lib/libcpu/arm/shared/include/arm-cp15.h
+++ b/c/src/lib/libcpu/arm/shared/include/arm-cp15.h
@@ -491,6 +491,13 @@ arm_cp15_tlb_invalidate(void)
: ARM_SWITCH_OUTPUT
: [sbz] "r" (sbz)
);
+
+ /*
+ * ARM Architecture Reference Manual, ARMv7-A and ARMv7-R edition, Issue C,
+ * B3.10.1 General TLB maintenance requirements.
+ */
+ _ARM_Data_synchronization_barrier();
+ _ARM_Instruction_synchronization_barrier();
}
ARM_CP15_TEXT_SECTION static inline void