ARM/atomic.c File Reference

#include <SysThread.h>
#include <asm/atomic.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <assert.h>

Defines

#define __kernel_cmpxchg   (*(__kernel_cmpxchg_t *)0xffff0fc0)

Typedefs

typedef int( __kernel_cmpxchg_t )(int oldval, int newval, volatile int *ptr)

Functions

int32_t SysAtomicAdd32 (volatile int32_t *location, int32_t addvalue)
uint32_t SysAtomicAnd32 (volatile uint32_t *location, uint32_t andvalue)
uint32_t SysAtomicCompareAndSwap32 (volatile uint32_t *location, uint32_t oldvalue, uint32_t newvalue)
int32_t SysAtomicDec32 (volatile int32_t *location)
int32_t SysAtomicInc32 (volatile int32_t *location)
uint32_t SysAtomicOr32 (volatile uint32_t *location, uint32_t orvalue)
int32_t SysAtomicSub32 (volatile int32_t *location, int32_t subvalue)


Define Documentation

#define __kernel_cmpxchg   (*(__kernel_cmpxchg_t *)0xffff0fc0)
 


Typedef Documentation

typedef int( __kernel_cmpxchg_t)(int oldval, int newval, volatile int *ptr)
 


Function Documentation

int32_t SysAtomicAdd32 volatile int32_t *  location,
int32_t  addvalue
 

uint32_t SysAtomicAnd32 volatile uint32_t *  location,
uint32_t  andvalue
 

uint32_t SysAtomicCompareAndSwap32 volatile uint32_t *  location,
uint32_t  oldvalue,
uint32_t  newvalue
 

int32_t SysAtomicDec32 volatile int32_t *  location  ) 
 

int32_t SysAtomicInc32 volatile int32_t *  location  ) 
 

uint32_t SysAtomicOr32 volatile uint32_t *  location,
uint32_t  orvalue
 

int32_t SysAtomicSub32 volatile int32_t *  location,
int32_t  subvalue