PandA-2024.02
Macros | Functions
atomic.h File Reference
#include <stdint.h>
Include dependency graph for atomic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define __k_cas   ((int (*)(int, int, volatile int *))0xffff0fc0)
 

Functions

static int a_ctz_l (unsigned long x)
 
static int a_ctz_64 (uint64_t x)
 
static int a_cas (volatile int *p, int t, int s)
 
static void * a_cas_p (volatile void *p, void *t, void *s)
 
static long a_cas_l (volatile void *p, long t, long s)
 
static int a_swap (volatile int *x, int v)
 
static int a_fetch_add (volatile int *x, int v)
 
static void a_inc (volatile int *x)
 
static void a_dec (volatile int *x)
 
static void a_store (volatile int *p, int x)
 
static void a_spin ()
 
static void a_crash ()
 
static void a_and (volatile int *p, int v)
 
static void a_or (volatile int *p, int v)
 
static void a_or_l (volatile void *p, long v)
 
static void a_and_64 (volatile uint64_t *p, uint64_t v)
 
static void a_or_64 (volatile uint64_t *p, uint64_t v)
 

Macro Definition Documentation

◆ __k_cas

#define __k_cas   ((int (*)(int, int, volatile int *))0xffff0fc0)

Definition at line 54 of file atomic.h.

Referenced by a_and(), a_cas(), a_ctz_64(), a_fetch_add(), a_or(), a_store(), and a_swap().

Function Documentation

◆ a_and()

static void a_and ( volatile int *  p,
int  v 
)
inlinestatic

Definition at line 118 of file atomic.h.

References __k_cas.

Referenced by a_and_64().

Here is the caller graph for this function:

◆ a_and_64()

static void a_and_64 ( volatile uint64_t *  p,
uint64_t  v 
)
inlinestatic

Definition at line 137 of file atomic.h.

References a_and().

Here is the call graph for this function:

◆ a_cas()

static int a_cas ( volatile int *  p,
int  t,
int  s 
)
inlinestatic

Definition at line 57 of file atomic.h.

References __k_cas.

Referenced by a_cas_l(), and a_cas_p().

Here is the caller graph for this function:

◆ a_cas_l()

static long a_cas_l ( volatile void *  p,
long  t,
long  s 
)
inlinestatic

Definition at line 73 of file atomic.h.

References a_cas().

Here is the call graph for this function:

◆ a_cas_p()

static void* a_cas_p ( volatile void *  p,
void *  t,
void *  s 
)
inlinestatic

Definition at line 68 of file atomic.h.

References a_cas().

Here is the call graph for this function:

◆ a_crash()

static void a_crash ( )
inlinestatic

Definition at line 113 of file atomic.h.

◆ a_ctz_64()

static int a_ctz_64 ( uint64_t  x)
inlinestatic

Definition at line 15 of file atomic.h.

References __k_cas, a_ctz_l(), and x.

Here is the call graph for this function:

◆ a_ctz_l()

static int a_ctz_l ( unsigned long  x)
inlinestatic

Definition at line 6 of file atomic.h.

References x.

Referenced by a_ctz_64().

Here is the caller graph for this function:

◆ a_dec()

static void a_dec ( volatile int *  x)
inlinestatic

Definition at line 99 of file atomic.h.

References a_fetch_add().

Here is the call graph for this function:

◆ a_fetch_add()

static int a_fetch_add ( volatile int *  x,
int  v 
)
inlinestatic

Definition at line 86 of file atomic.h.

References __k_cas, and x.

Referenced by a_dec(), and a_inc().

Here is the caller graph for this function:

◆ a_inc()

static void a_inc ( volatile int *  x)
inlinestatic

Definition at line 94 of file atomic.h.

References a_fetch_add().

Here is the call graph for this function:

◆ a_or()

static void a_or ( volatile int *  p,
int  v 
)
inlinestatic

Definition at line 125 of file atomic.h.

References __k_cas.

Referenced by a_or_64(), and a_or_l().

Here is the caller graph for this function:

◆ a_or_64()

static void a_or_64 ( volatile uint64_t *  p,
uint64_t  v 
)
inlinestatic

Definition at line 144 of file atomic.h.

References a_or().

Here is the call graph for this function:

◆ a_or_l()

static void a_or_l ( volatile void *  p,
long  v 
)
inlinestatic

Definition at line 132 of file atomic.h.

References a_or().

Here is the call graph for this function:

◆ a_spin()

static void a_spin ( )
inlinestatic

Definition at line 109 of file atomic.h.

◆ a_store()

static void a_store ( volatile int *  p,
int  x 
)
inlinestatic

Definition at line 104 of file atomic.h.

References __k_cas.

◆ a_swap()

static int a_swap ( volatile int *  x,
int  v 
)
inlinestatic

Definition at line 78 of file atomic.h.

References __k_cas, and x.


Generated on Mon Feb 12 2024 13:03:09 for PandA-2024.02 by doxygen 1.8.13