Go to the source code of this file.
|
#define | __ASM_CONST(x) x##UL |
|
#define | __stringify_in_c(...) #__VA_ARGS__ |
|
#define | ASM_CONST(x) __ASM_CONST(x) |
|
#define | ISYNC_ON_SMP |
|
#define | LWSYNC sync |
|
#define | LWSYNC_ON_SMP |
|
#define | oro_atomic_add_negative(a, v) (oro_atomic_add_return((a), (v)) < 0) |
|
#define | oro_atomic_add_unless(v, a, u) |
|
#define | ORO_ATOMIC_CLEANUP(v) |
|
#define | oro_atomic_dec_and_test(v) (oro_atomic_dec_return((v)) == 0) |
|
#define | oro_atomic_inc_and_test(v) (oro_atomic_inc_return(v) == 0) |
|
#define | oro_atomic_inc_not_zero(v) oro_atomic_add_unless((v), 1, 0) |
|
#define | ORO_ATOMIC_INIT(i) { (i) } |
|
#define | oro_atomic_oro_cmpxchg(v, o, n) ((int)oro_cmpxchg(&((v)->counter), (o), (n))) |
|
#define | oro_atomic_read(v) ((v)->counter) |
|
#define | oro_atomic_set(v, i) (((v)->counter) = (i)) |
|
#define | ORO_ATOMIC_SETUP oro_atomic_set |
|
#define | oro_atomic_sub_and_test(a, v) (oro_atomic_sub_return((a), (v)) == 0) |
|
#define | oro_atomic_xchg(v, new) (xchg(&((v)->counter), new)) |
|
#define | PPC405_ERR77(ra, rb) |
|
#define | PPC405_ERR77_SYNC |
|
#define | PPC_CNTLZL stringify_in_c(cntlzw) |
|
#define | PPC_LCMPI stringify_in_c(cmpwi) |
|
#define | PPC_LL stringify_in_c(lwz) |
|
#define | PPC_LLARX stringify_in_c(lwarx) |
|
#define | PPC_LONG stringify_in_c(.long) |
|
#define | PPC_STL stringify_in_c(stw) |
|
#define | PPC_STLCX stringify_in_c(stwcx.) |
|
#define | PPC_TLNEI stringify_in_c(twnei) |
|
#define | smp_mb__after_oro_atomic_dec() smp_mb() |
|
#define | smp_mb__after_oro_atomic_inc() smp_mb() |
|
#define | smp_mb__before_oro_atomic_dec() smp_mb() |
|
#define | smp_mb__before_oro_atomic_inc() smp_mb() |
|
#define | stringify_in_c(...) __stringify_in_c(__VA_ARGS__) " " |
|
#define __ASM_CONST |
( |
|
x | ) |
x##UL |
#define __stringify_in_c |
( |
|
... | ) |
#__VA_ARGS__ |
#define oro_atomic_add_unless |
( |
|
v, |
|
|
|
a, |
|
|
|
u |
|
) |
| |
Value:({ \
int c, old; \
for (;;) { \
if (unlikely(c == (u))) \
break; \
if (likely(old == c)) \
break; \
c = old; \
} \
c != (u); \
})
#define oro_atomic_read(v)
#define oro_atomic_oro_cmpxchg(v, o, n)
oro_atomic_add_unless - add unless the number is a given value : pointer of type oro_atomic_t : the amount to add to v... : ...unless v is equal to u.
Atomically adds to , so long as it was not . Returns non-zero if was not , and zero otherwise.
Definition at line 286 of file oro_atomic.h.
#define ORO_ATOMIC_CLEANUP |
( |
|
v | ) |
|
#define ORO_ATOMIC_INIT |
( |
|
i | ) |
{ (i) } |
#define oro_atomic_oro_cmpxchg |
( |
|
v, |
|
|
|
o, |
|
|
|
n |
|
) |
| ((int)oro_cmpxchg(&((v)->counter), (o), (n))) |
#define oro_atomic_read |
( |
|
v | ) |
((v)->counter) |
#define oro_atomic_set |
( |
|
v, |
|
|
|
i |
|
) |
| (((v)->counter) = (i)) |
#define oro_atomic_xchg |
( |
|
v, |
|
|
|
new |
|
) |
| (xchg(&((v)->counter), new)) |
#define PPC405_ERR77 |
( |
|
ra, |
|
|
|
rb |
|
) |
| |
#define PPC405_ERR77_SYNC |
#define smp_mb__after_oro_atomic_dec |
( |
| ) |
smp_mb() |
#define smp_mb__after_oro_atomic_inc |
( |
| ) |
smp_mb() |
#define smp_mb__before_oro_atomic_dec |
( |
| ) |
smp_mb() |
#define smp_mb__before_oro_atomic_inc |
( |
| ) |
smp_mb() |
static void eieio |
( |
void |
| ) |
|
|
inlinestatic |
static void isync |
( |
void |
| ) |
|
|
inlinestatic |