[rtems commit] arm: Clear reservations

Sebastian Huber sebh at rtems.org
Tue Dec 3 11:52:17 UTC 2013


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Dec  3 11:56:55 2013 +0100

arm: Clear reservations

Recent GCC versions use atomic operations based on load/store exclusive
in the C++ library.

---

 cpukit/score/cpu/arm/cpu_asm.S         |    2 +-
 cpukit/score/cpu/arm/rtems/score/arm.h |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/cpukit/score/cpu/arm/cpu_asm.S b/cpukit/score/cpu/arm/cpu_asm.S
index 0a91836..7fb4062 100644
--- a/cpukit/score/cpu/arm/cpu_asm.S
+++ b/cpukit/score/cpu/arm/cpu_asm.S
@@ -64,7 +64,7 @@ DEFINE_FUNCTION_ARM(_CPU_Context_switch)
 
 /* Start restoring context */
 _restore:
-#ifdef RTEMS_SMP
+#ifdef ARM_MULTILIB_HAS_LOAD_STORE_EXCLUSIVE
 	clrex
 #endif
 
diff --git a/cpukit/score/cpu/arm/rtems/score/arm.h b/cpukit/score/cpu/arm/rtems/score/arm.h
index 0a3e724..608f753 100644
--- a/cpukit/score/cpu/arm/rtems/score/arm.h
+++ b/cpukit/score/cpu/arm/rtems/score/arm.h
@@ -41,6 +41,7 @@ extern "C" {
   || defined(__ARM_ARCH_7R__) \
   || defined(__ARM_ARCH_7M__)
   #define ARM_MULTILIB_HAS_WFI
+  #define ARM_MULTILIB_HAS_LOAD_STORE_EXCLUSIVE
 #endif
 
 #if defined(__ARM_NEON__)




More information about the vc mailing list