Classes | Macros | Functions
oro_i386/oro_arch.h File Reference
#include "../../rtt-config.h"
Include dependency graph for oro_i386/oro_arch.h:

Go to the source code of this file.

Classes

struct  oro__xchg_dummy
 
struct  oro_atomic_t
 

Macros

#define oro__xg(x)   ((struct oro__xchg_dummy *)(x))
 
#define ORO_ATOMIC_CLEANUP(v)
 
#define oro_atomic_dec_return(v)   (oro_atomic_sub_return(v, 1))
 
#define oro_atomic_inc_return(v)   (oro_atomic_add_return(v, 1))
 
#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 ; "
 
#define smp_mb__after_oro_atomic_dec()   barrier()
 
#define smp_mb__after_oro_atomic_inc()   barrier()
 
#define smp_mb__before_oro_atomic_dec()   barrier()
 
#define smp_mb__before_oro_atomic_inc()   barrier()
 

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_return (oro_atomic_t *v, int i)
 
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_return (oro_atomic_t *v, int i)
 

Macro Definition Documentation

#define oro__xg (   x)    ((struct oro__xchg_dummy *)(x))

Definition at line 144 of file oro_i386/oro_arch.h.

#define ORO_ATOMIC_CLEANUP (   v)

Definition at line 53 of file oro_i386/oro_arch.h.

#define oro_atomic_dec_return (   v)    (oro_atomic_sub_return(v, 1))

Definition at line 108 of file oro_i386/oro_arch.h.

#define oro_atomic_inc_return (   v)    (oro_atomic_add_return(v, 1))

Definition at line 107 of file oro_i386/oro_arch.h.

#define oro_atomic_read (   v)    ((v)->counter)

Definition at line 55 of file oro_i386/oro_arch.h.

#define oro_atomic_set (   v,
 
)    (((v)->counter) = (i))

Definition at line 57 of file oro_i386/oro_arch.h.

#define ORO_ATOMIC_SETUP   oro_atomic_set

Definition at line 52 of file oro_i386/oro_arch.h.

#define oro_cmpxchg (   ptr,
  o,
 
)
Value:
((__typeof__(*(ptr)))__oro_cmpxchg((ptr),(unsigned long)(o),\
(unsigned long)(n),sizeof(*(ptr))))
static unsigned long __oro_cmpxchg(volatile void *ptr, unsigned long old, unsigned long _new, int size)

Definition at line 173 of file oro_i386/oro_arch.h.

#define ORO_LOCK   "lock ; "

Definition at line 45 of file oro_i386/oro_arch.h.

#define ORO_LOCK_PREFIX   "lock ; "

Definition at line 138 of file oro_i386/oro_arch.h.

#define smp_mb__after_oro_atomic_dec ( )    barrier()

Definition at line 133 of file oro_i386/oro_arch.h.

#define smp_mb__after_oro_atomic_inc ( )    barrier()

Definition at line 135 of file oro_i386/oro_arch.h.

#define smp_mb__before_oro_atomic_dec ( )    barrier()

Definition at line 132 of file oro_i386/oro_arch.h.

#define smp_mb__before_oro_atomic_inc ( )    barrier()

Definition at line 134 of file oro_i386/oro_arch.h.

Function Documentation

static unsigned long __oro_cmpxchg ( volatile void *  ptr,
unsigned long  old,
unsigned long  _new,
int  size 
)
inlinestatic

Definition at line 146 of file oro_i386/oro_arch.h.

static __inline__ void oro_atomic_add ( oro_atomic_t v,
int  i 
)
static

Definition at line 59 of file oro_i386/oro_arch.h.

static __inline__ int oro_atomic_add_return ( oro_atomic_t v,
int  i 
)
static

Definition at line 67 of file oro_i386/oro_arch.h.

static __inline__ void oro_atomic_dec ( oro_atomic_t v)
static

Definition at line 99 of file oro_i386/oro_arch.h.

static __inline__ int oro_atomic_dec_and_test ( oro_atomic_t v)
static

Definition at line 110 of file oro_i386/oro_arch.h.

static __inline__ void oro_atomic_inc ( oro_atomic_t v)
static

Definition at line 91 of file oro_i386/oro_arch.h.

static __inline__ int oro_atomic_inc_and_test ( oro_atomic_t v)
static

Definition at line 121 of file oro_i386/oro_arch.h.

static __inline__ void oro_atomic_sub ( oro_atomic_t v,
int  i 
)
static

Definition at line 78 of file oro_i386/oro_arch.h.

static __inline__ int oro_atomic_sub_return ( oro_atomic_t v,
int  i 
)
static

Definition at line 86 of file oro_i386/oro_arch.h.



rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:45