[rtems commit] bsps/arm: Fix TLB invalidation for ARMv7-A

Sebastian Huber sebh at rtems.org
Fri Jun 6 06:34:43 UTC 2014


Module:    rtems
Branch:    master
Commit:    dc44de7686771aaaf3343ffbfed021e8c38cacc3
Changeset: http://git.rtems.org/rtems/commit/?id=dc44de7686771aaaf3343ffbfed021e8c38cacc3

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Jun  5 16:38:29 2014 +0200

bsps/arm: Fix TLB invalidation for ARMv7-A

---

 c/src/lib/libcpu/arm/shared/include/arm-cp15.h |    7 +++++++
 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 c81b16a..76b0582 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




More information about the vc mailing list