[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