summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/cpustdatomic.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/include/rtems/score/cpustdatomic.h')
-rw-r--r--cpukit/score/include/rtems/score/cpustdatomic.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/cpukit/score/include/rtems/score/cpustdatomic.h b/cpukit/score/include/rtems/score/cpustdatomic.h
index 546745ea86..0cbefec028 100644
--- a/cpukit/score/include/rtems/score/cpustdatomic.h
+++ b/cpukit/score/include/rtems/score/cpustdatomic.h
@@ -72,7 +72,8 @@ typedef enum {
* @brief atomic data initializer for static initialization.
*/
#define CPU_ATOMIC_INITIALIZER_ULONG(value) ATOMIC_VAR_INIT(value)
-#define CPU_ATOMIC_INITIALIZER_PTR(value) ATOMIC_VAR_INIT(value)
+#define CPU_ATOMIC_INITIALIZER_PTR(pointer) \
+ ATOMIC_VAR_INIT((uintptr_t) pointer)
#define CPU_ATOMIC_INITIALIZER_FLAG ATOMIC_FLAG_INIT
@@ -92,10 +93,10 @@ static inline void _CPU_atomic_Init_ulong(
static inline void _CPU_atomic_Init_ptr(
volatile Atomic_Pointer *object,
- uintptr_t value
+ void *pointer
)
{
- atomic_init(object, value);
+ atomic_init(object, pointer);
}
/**
@@ -114,7 +115,7 @@ static inline unsigned long _CPU_atomic_Load_ulong(
return atomic_load_explicit( object, order );
}
-static inline uintptr_t _CPU_atomic_Load_ptr(
+static inline void *_CPU_atomic_Load_ptr(
volatile Atomic_Pointer *object,
Atomic_Order order
)
@@ -142,11 +143,11 @@ static inline void _CPU_atomic_Store_ulong(
static inline void _CPU_atomic_Store_ptr(
volatile Atomic_Pointer *object,
- uintptr_t value,
+ void *pointer,
Atomic_Order order
)
{
- atomic_store_explicit( object, value, order );
+ atomic_store_explicit( object, pointer, order );
}
/**
@@ -275,13 +276,13 @@ static inline unsigned long _CPU_atomic_Exchange_ulong(
return atomic_exchange_explicit( object, value, order );
}
-static inline uintptr_t _CPU_atomic_Exchange_ptr(
+static inline void *_CPU_atomic_Exchange_ptr(
volatile Atomic_Pointer *object,
- uintptr_t value,
+ void *pointer,
Atomic_Order order
)
{
- return atomic_exchange_explicit( object, value, order );
+ return atomic_exchange_explicit( object, pointer, pointer );
}
/**
@@ -312,14 +313,14 @@ static inline bool _CPU_atomic_Compare_exchange_ulong(
static inline bool _CPU_atomic_Compare_exchange_ptr(
volatile Atomic_Pointer *object,
- uintptr_t *old_value,
- uintptr_t new_value,
+ void **old_pointer,
+ void *new_pointer,
Atomic_Order order_succ,
Atomic_Order order_fail
)
{
- return atomic_compare_exchange_strong_explicit( object, old_value,
- new_value, order_succ, order_fail );
+ return atomic_compare_exchange_strong_explicit( object, old_pointer,
+ new_pointer, order_succ, order_fail );
}
static inline void _CPU_atomic_Flag_clear(