base/include/asm-ppc/rtai_atomic.h File Reference

Go to the source code of this file.

Data Structures

struct  atomic_t

Defines

#define SMP_SYNC   ""
#define SMP_ISYNC
#define PPC405_ERR77(ra, rb)
#define atomic_dec_and_test(v)   (atomic_dec_return((v)) == 0)
#define __HAVE_ARCH_CMPXCHG   1
#define cmpxchg(ptr, o, n)

Functions

static __inline__ void atomic_inc (atomic_t *v)
static __inline__ int atomic_dec_return (atomic_t *v)
static __inline__ unsigned
long 
__cmpxchg_u32 (volatile int *p, int old, int new)
static __inline__ unsigned
long 
__cmpxchg (volatile void *ptr, unsigned long old, unsigned long new, int size)
static __inline__ unsigned
long 
atomic_cmpxchg (void *ptr, unsigned long o, unsigned long n)


Define Documentation

#define __HAVE_ARCH_CMPXCHG   1

Definition at line 95 of file rtai_atomic.h.

#define atomic_dec_and_test (  )     (atomic_dec_return((v)) == 0)

Definition at line 93 of file rtai_atomic.h.

#define cmpxchg ( ptr,
o,
 ) 

Value:

({                                   \
     __typeof__(*(ptr)) _o_ = (o);                   \
     __typeof__(*(ptr)) _n_ = (n);                   \
     (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_,       \
                    (unsigned long)_n_, sizeof(*(ptr))); \
  })

Definition at line 134 of file rtai_atomic.h.

Referenced by atomic_cmpxchg(), rt_spl_lock(), rt_spl_lock_if(), rt_spl_lock_timed(), and soft_rt_socket().

#define PPC405_ERR77 ( ra,
rb   ) 

Definition at line 57 of file rtai_atomic.h.

Referenced by __cmpxchg_u32(), atomic_dec_return(), and atomic_inc().

#define SMP_ISYNC

Definition at line 48 of file rtai_atomic.h.

Referenced by atomic_dec_return().

#define SMP_SYNC   ""

Definition at line 47 of file rtai_atomic.h.


Function Documentation

static __inline__ unsigned long __cmpxchg ( volatile void *  ptr,
unsigned long  old,
unsigned long  new,
int  size 
) [static]

Definition at line 121 of file rtai_atomic.h.

References __cmpxchg_u32().

Here is the call graph for this function:

static __inline__ unsigned long __cmpxchg_u32 ( volatile int *  p,
int  old,
int  new 
) [static]

Definition at line 98 of file rtai_atomic.h.

References __asm__(), and PPC405_ERR77.

Referenced by __cmpxchg().

Here is the call graph for this function:

static __inline__ unsigned long atomic_cmpxchg ( void *  ptr,
unsigned long  o,
unsigned long  n 
) [static]

Definition at line 142 of file rtai_atomic.h.

References cmpxchg.

static __inline__ int atomic_dec_return ( atomic_t v  )  [static]

Definition at line 75 of file rtai_atomic.h.

References __asm__(), atomic_t::counter, PPC405_ERR77, and SMP_ISYNC.

Here is the call graph for this function:

static __inline__ void atomic_inc ( atomic_t v  )  [static]

Definition at line 60 of file rtai_atomic.h.

References __asm__(), atomic_t::counter, and PPC405_ERR77.

Here is the call graph for this function:


Generated on Tue Feb 2 17:46:40 2010 for RTAI API by  doxygen 1.4.7