summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/score/include/rtems/score/atomic.h2
-rw-r--r--cpukit/score/include/rtems/score/cpustdatomic.h6
-rw-r--r--cpukit/score/include/rtems/score/smplock.h2
3 files changed, 9 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/atomic.h b/cpukit/score/include/rtems/score/atomic.h
index cb09c95156..0cf3e990c0 100644
--- a/cpukit/score/include/rtems/score/atomic.h
+++ b/cpukit/score/include/rtems/score/atomic.h
@@ -50,6 +50,8 @@ typedef CPU_atomic_Order Atomic_Order;
#define ATOMIC_ORDER_RELEASE CPU_ATOMIC_ORDER_RELEASE
+#define ATOMIC_ORDER_ACQ_REL CPU_ATOMIC_ORDER_ACQ_REL
+
#define ATOMIC_ORDER_SEQ_CST CPU_ATOMIC_ORDER_SEQ_CST
#define ATOMIC_INITIALIZER_UINT( value ) CPU_ATOMIC_INITIALIZER_UINT( value )
diff --git a/cpukit/score/include/rtems/score/cpustdatomic.h b/cpukit/score/include/rtems/score/cpustdatomic.h
index 3f7c14f320..d27c75f381 100644
--- a/cpukit/score/include/rtems/score/cpustdatomic.h
+++ b/cpukit/score/include/rtems/score/cpustdatomic.h
@@ -56,6 +56,8 @@ typedef std::memory_order CPU_atomic_Order;
#define CPU_ATOMIC_ORDER_RELEASE std::memory_order_release
+#define CPU_ATOMIC_ORDER_ACQ_REL std::memory_order_acq_rel
+
#define CPU_ATOMIC_ORDER_SEQ_CST std::memory_order_seq_cst
#define CPU_ATOMIC_INITIALIZER_UINT( value ) ATOMIC_VAR_INIT( value )
@@ -85,6 +87,8 @@ typedef memory_order CPU_atomic_Order;
#define CPU_ATOMIC_ORDER_RELEASE memory_order_release
+#define CPU_ATOMIC_ORDER_ACQ_REL memory_order_acq_rel
+
#define CPU_ATOMIC_ORDER_SEQ_CST memory_order_seq_cst
#define CPU_ATOMIC_INITIALIZER_UINT( value ) ATOMIC_VAR_INIT( value )
@@ -114,6 +118,8 @@ typedef int CPU_atomic_Order;
#define CPU_ATOMIC_ORDER_RELEASE 3
+#define CPU_ATOMIC_ORDER_ACQ_REL 4
+
#define CPU_ATOMIC_ORDER_SEQ_CST 5
#define CPU_ATOMIC_INITIALIZER_UINT( value ) ( value )
diff --git a/cpukit/score/include/rtems/score/smplock.h b/cpukit/score/include/rtems/score/smplock.h
index cc54c694df..364a722828 100644
--- a/cpukit/score/include/rtems/score/smplock.h
+++ b/cpukit/score/include/rtems/score/smplock.h
@@ -280,7 +280,7 @@ static inline void _SMP_ticket_lock_Acquire(
#endif
my_ticket =
- _Atomic_Fetch_add_uint( &lock->next_ticket, 1U, ATOMIC_ORDER_RELAXED );
+ _Atomic_Fetch_add_uint( &lock->next_ticket, 1U, ATOMIC_ORDER_ACQ_REL );
#if defined( RTEMS_PROFILING )
now_serving =