Go to the source code of this file.
Classes | |
struct | oro__xchg_dummy |
struct | oro_atomic_t |
Defines | |
#define | oro__xg(x) ((struct oro__xchg_dummy *)(x)) |
#define | ORO_ATOMIC_CLEANUP(v) |
#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_cmpxchg(ptr, o, n) |
#define | ORO_LOCK "lock ; " |
#define | ORO_LOCK_PREFIX "lock ; " |
Functions | |
static unsigned long | __oro_cmpxchg (volatile void *ptr, unsigned long old, unsigned long _new, int size) |
static __inline__ void | oro_atomic_add (oro_atomic_t *v, int i) |
static __inline__ int | oro_atomic_add_negative (int i, oro_atomic_t *v) |
static __inline__ void | oro_atomic_dec (oro_atomic_t *v) |
static __inline__ int | oro_atomic_dec_and_test (oro_atomic_t *v) |
static __inline__ void | oro_atomic_inc (oro_atomic_t *v) |
static __inline__ int | oro_atomic_inc_and_test (oro_atomic_t *v) |
static __inline__ void | oro_atomic_sub (oro_atomic_t *v, int i) |
static __inline__ int | oro_atomic_sub_and_test (oro_atomic_t *v, int i) |
#define oro__xg | ( | x | ) | ((struct oro__xchg_dummy *)(x)) |
Definition at line 146 of file oro_x86_64/oro_arch.h.
#define ORO_ATOMIC_CLEANUP | ( | v | ) |
Definition at line 54 of file oro_x86_64/oro_arch.h.
#define oro_atomic_read | ( | v | ) | ((v)->counter) |
Definition at line 56 of file oro_x86_64/oro_arch.h.
#define oro_atomic_set | ( | v, | |
i | |||
) | (((v)->counter) = (i)) |
Definition at line 58 of file oro_x86_64/oro_arch.h.
#define ORO_ATOMIC_SETUP oro_atomic_set |
Definition at line 53 of file oro_x86_64/oro_arch.h.
#define oro_cmpxchg | ( | ptr, | |
o, | |||
n | |||
) |
((__typeof__(*(ptr)))__oro_cmpxchg((ptr),(unsigned long)(o),\ (unsigned long)(n),sizeof(*(ptr))))
Definition at line 182 of file oro_x86_64/oro_arch.h.
#define ORO_LOCK "lock ; " |
Definition at line 43 of file oro_x86_64/oro_arch.h.
#define ORO_LOCK_PREFIX "lock ; " |
Definition at line 137 of file oro_x86_64/oro_arch.h.
static unsigned long __oro_cmpxchg | ( | volatile void * | ptr, |
unsigned long | old, | ||
unsigned long | _new, | ||
int | size | ||
) | [inline, static] |
Definition at line 148 of file oro_x86_64/oro_arch.h.
static __inline__ void oro_atomic_add | ( | oro_atomic_t * | v, |
int | i | ||
) | [static] |
Definition at line 60 of file oro_x86_64/oro_arch.h.
static __inline__ int oro_atomic_add_negative | ( | int | i, |
oro_atomic_t * | v | ||
) | [static] |
Definition at line 125 of file oro_x86_64/oro_arch.h.
static __inline__ void oro_atomic_dec | ( | oro_atomic_t * | v | ) | [static] |
Definition at line 95 of file oro_x86_64/oro_arch.h.
static __inline__ int oro_atomic_dec_and_test | ( | oro_atomic_t * | v | ) | [static] |
Definition at line 103 of file oro_x86_64/oro_arch.h.
static __inline__ void oro_atomic_inc | ( | oro_atomic_t * | v | ) | [static] |
Definition at line 87 of file oro_x86_64/oro_arch.h.
static __inline__ int oro_atomic_inc_and_test | ( | oro_atomic_t * | v | ) | [static] |
Definition at line 114 of file oro_x86_64/oro_arch.h.
static __inline__ void oro_atomic_sub | ( | oro_atomic_t * | v, |
int | i | ||
) | [static] |
Definition at line 68 of file oro_x86_64/oro_arch.h.
static __inline__ int oro_atomic_sub_and_test | ( | oro_atomic_t * | v, |
int | i | ||
) | [static] |
Definition at line 76 of file oro_x86_64/oro_arch.h.