L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
atomic.h File Reference

atomic operations header and generic implementations More...

#include <l4/sys/l4int.h>
#include <l4/sys/compiler.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.

Functions

int l4util_cmpxchg32 (volatile l4_uint32_t *dest, l4_uint32_t cmp_val, l4_uint32_t new_val)
 Atomic compare and exchange (32 bit version)
 
int l4util_cmpxchg16 (volatile l4_uint16_t *dest, l4_uint16_t cmp_val, l4_uint16_t new_val)
 Atomic compare and exchange (16 bit version)
 
int l4util_cmpxchg8 (volatile l4_uint8_t *dest, l4_uint8_t cmp_val, l4_uint8_t new_val)
 Atomic compare and exchange (8 bit version)
 
int l4util_cmpxchg (volatile l4_umword_t *dest, l4_umword_t cmp_val, l4_umword_t new_val)
 Atomic compare and exchange (machine wide fields)
 
l4_uint32_t l4util_xchg32 (volatile l4_uint32_t *dest, l4_uint32_t val)
 Atomic exchange (32 bit version)
 
l4_uint16_t l4util_xchg16 (volatile l4_uint16_t *dest, l4_uint16_t val)
 Atomic exchange (16 bit version)
 
l4_uint8_t l4util_xchg8 (volatile l4_uint8_t *dest, l4_uint8_t val)
 Atomic exchange (8 bit version)
 
l4_umword_t l4util_xchg (volatile l4_umword_t *dest, l4_umword_t val)
 Atomic exchange (machine wide fields)
 
void l4util_atomic_add (volatile long *dest, long val)
 Atomic add.
 
void l4util_atomic_inc (volatile long *dest)
 Atomic increment.
 
Atomic add/sub/and/or (8,16,32 bit version) without result
void l4util_add8 (volatile l4_uint8_t *dest, l4_uint8_t val)
 
void l4util_add16 (volatile l4_uint16_t *dest, l4_uint16_t val)
 
void l4util_add32 (volatile l4_uint32_t *dest, l4_uint32_t val)
 
void l4util_sub8 (volatile l4_uint8_t *dest, l4_uint8_t val)
 
void l4util_sub16 (volatile l4_uint16_t *dest, l4_uint16_t val)
 
void l4util_sub32 (volatile l4_uint32_t *dest, l4_uint32_t val)
 
void l4util_and8 (volatile l4_uint8_t *dest, l4_uint8_t val)
 
void l4util_and16 (volatile l4_uint16_t *dest, l4_uint16_t val)
 
void l4util_and32 (volatile l4_uint32_t *dest, l4_uint32_t val)
 
void l4util_or8 (volatile l4_uint8_t *dest, l4_uint8_t val)
 
void l4util_or16 (volatile l4_uint16_t *dest, l4_uint16_t val)
 
void l4util_or32 (volatile l4_uint32_t *dest, l4_uint32_t val)
 
Atomic add/sub/and/or operations (8,16,32 bit) with result
l4_uint8_t l4util_add8_res (volatile l4_uint8_t *dest, l4_uint8_t val)
 
l4_uint16_t l4util_add16_res (volatile l4_uint16_t *dest, l4_uint16_t val)
 
l4_uint32_t l4util_add32_res (volatile l4_uint32_t *dest, l4_uint32_t val)
 
l4_uint8_t l4util_sub8_res (volatile l4_uint8_t *dest, l4_uint8_t val)
 
l4_uint16_t l4util_sub16_res (volatile l4_uint16_t *dest, l4_uint16_t val)
 
l4_uint32_t l4util_sub32_res (volatile l4_uint32_t *dest, l4_uint32_t val)
 
l4_uint8_t l4util_and8_res (volatile l4_uint8_t *dest, l4_uint8_t val)
 
l4_uint16_t l4util_and16_res (volatile l4_uint16_t *dest, l4_uint16_t val)
 
l4_uint32_t l4util_and32_res (volatile l4_uint32_t *dest, l4_uint32_t val)
 
l4_uint8_t l4util_or8_res (volatile l4_uint8_t *dest, l4_uint8_t val)
 
l4_uint16_t l4util_or16_res (volatile l4_uint16_t *dest, l4_uint16_t val)
 
l4_uint32_t l4util_or32_res (volatile l4_uint32_t *dest, l4_uint32_t val)
 
Atomic inc/dec (8,16,32 bit) without result
void l4util_inc8 (volatile l4_uint8_t *dest)
 
void l4util_inc16 (volatile l4_uint16_t *dest)
 
void l4util_inc32 (volatile l4_uint32_t *dest)
 
void l4util_dec8 (volatile l4_uint8_t *dest)
 
void l4util_dec16 (volatile l4_uint16_t *dest)
 
void l4util_dec32 (volatile l4_uint32_t *dest)
 
Atomic inc/dec (8,16,32 bit) with result
l4_uint8_t l4util_inc8_res (volatile l4_uint8_t *dest)
 
l4_uint16_t l4util_inc16_res (volatile l4_uint16_t *dest)
 
l4_uint32_t l4util_inc32_res (volatile l4_uint32_t *dest)
 
l4_uint8_t l4util_dec8_res (volatile l4_uint8_t *dest)
 
l4_uint16_t l4util_dec16_res (volatile l4_uint16_t *dest)
 
l4_uint32_t l4util_dec32_res (volatile l4_uint32_t *dest)
 

Detailed Description

atomic operations header and generic implementations

Date
10/20/2000
Author
Lars Reuther reuth.nosp@m.er@o.nosp@m.s.inf.nosp@m..tu-.nosp@m.dresd.nosp@m.en.d.nosp@m.e, Jork Loeser jork@.nosp@m.os.i.nosp@m.nf.tu.nosp@m.-dre.nosp@m.sden..nosp@m.de

Definition in file atomic.h.