From 3bac8a4c405da93be0d222800b559e2f09650c6c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 3 Sep 2013 11:04:33 +0200 Subject: score: Use void * for some atomic pointer ops --- cpukit/score/include/rtems/score/atomic.h | 24 +++++++++++----------- cpukit/score/include/rtems/score/cpustdatomic.h | 27 +++++++++++++------------ 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/cpukit/score/include/rtems/score/atomic.h b/cpukit/score/include/rtems/score/atomic.h index 459b55a455..cdb75f8f81 100644 --- a/cpukit/score/include/rtems/score/atomic.h +++ b/cpukit/score/include/rtems/score/atomic.h @@ -46,7 +46,7 @@ extern "C" { * @brief Initializes an atomic type value into a atomic object. * * @param object an atomic type pointer of object. - * @param value a value to be stored into object. + * @param pointer a pointer to be stored into object. */ static inline void _Atomic_Init_ulong( volatile Atomic_Ulong *object, @@ -58,10 +58,10 @@ static inline void _Atomic_Init_ulong( static inline void _Atomic_Init_ptr( volatile Atomic_Pointer *object, - uintptr_t value + void *pointer ) { - _CPU_atomic_Init_ptr(object, value); + _CPU_atomic_Init_ptr(object, pointer); } /** @@ -80,7 +80,7 @@ static inline unsigned long _Atomic_Load_ulong( return _CPU_atomic_Load_ulong( object, order ); } -static inline uintptr_t _Atomic_Load_ptr( +static inline void *_Atomic_Load_ptr( volatile Atomic_Pointer *object, Atomic_Order order ) @@ -108,11 +108,11 @@ static inline void _Atomic_Store_ulong( static inline void _Atomic_Store_ptr( volatile Atomic_Pointer *object, - uintptr_t value, + void *pointer, Atomic_Order order ) { - _CPU_atomic_Store_ptr( object, value, order ); + _CPU_atomic_Store_ptr( object, pointer, order ); } /** @@ -241,13 +241,13 @@ static inline unsigned long _Atomic_Exchange_ulong( return _CPU_atomic_Exchange_ulong( object, value, order ); } -static inline uintptr_t _Atomic_Exchange_ptr( +static inline void *_Atomic_Exchange_ptr( volatile Atomic_Pointer *object, - uintptr_t value, + void *pointer, Atomic_Order order ) { - return _CPU_atomic_Exchange_ptr( object, value, order ); + return _CPU_atomic_Exchange_ptr( object, pointer, order ); } /** @@ -278,13 +278,13 @@ static inline bool _Atomic_Compare_exchange_ulong( static inline bool _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 _CPU_atomic_Compare_exchange_ptr( object, old_value, new_value, + return _CPU_atomic_Compare_exchange_ptr( object, old_pointer, new_pointer, order_succ, order_fail ); } 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( -- cgit v1.2.3