X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=urcu%2Fuatomic_arch_ppc.h;h=a32c789b94ea885619c9af4e18a13741809217d6;hb=2041a99a1abff800c4d48fd2e9d0761609bb63a4;hp=68b5faaf7c0510f41455bb4ac1b08edbccda8102;hpb=7d413817f09b2d17b1a79ea012590609ffab5eb6;p=urcu.git diff --git a/urcu/uatomic_arch_ppc.h b/urcu/uatomic_arch_ppc.h index 68b5faa..a32c789 100644 --- a/urcu/uatomic_arch_ppc.h +++ b/urcu/uatomic_arch_ppc.h @@ -21,6 +21,7 @@ */ #include +#include #ifndef __SIZEOF_LONG__ #ifdef __powerpc64__ @@ -36,12 +37,8 @@ #define ILLEGAL_INSTR ".long 0xd00d00" -#define uatomic_set(addr, v) \ -do { \ - ACCESS_ONCE(*(addr)) = (v); \ -} while (0) - -#define uatomic_read(addr) ACCESS_ONCE(*(addr)) +#define uatomic_set(addr, v) STORE_SHARED(*(addr), (v)) +#define uatomic_read(addr) LOAD_SHARED(*(addr)) /* * Using a isync as second barrier for exchange to provide acquire semantic. @@ -228,7 +225,6 @@ unsigned long _uatomic_add_return(void *addr, unsigned long val, #define uatomic_inc(addr) uatomic_add((addr), 1) #define uatomic_dec(addr) uatomic_add((addr), -1) -#define URCU_CAS_AVAIL() 1 #define compat_uatomic_cmpxchg(ptr, old, _new) uatomic_cmpxchg(ptr, old, _new) #endif /* _URCU_ARCH_UATOMIC_PPC_H */