Main Page   File List  

atomic.h File Reference

atomic operations header and generic implementations More...

Go to the source code of this file.

Functions

int l4util_cmpxchg64 (volatile l4_uint64_t *dest, l4_uint64_t cmp_val, l4_uint64_t new_val)
 Atomic compare and exchange (64 bit version).
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 compare and exchange with result
l4_uint8_t l4util_cmpxchg8_res (volatile l4_uint8_t *dest, l4_uint8_t cmp_val, l4_uint8_t new_val)
l4_uint16_t l4util_cmpxchg16_res (volatile l4_uint16_t *dest, l4_uint16_t cmp_val, l4_uint16_t new_val)
l4_uint32_t l4util_cmpxchg32_res (volatile l4_uint32_t *dest, l4_uint32_t cmp_val, l4_uint32_t new_val)
l4_umword_t l4util_cmpxchg_res (volatile l4_umword_t *dest, l4_umword_t cmp_val, l4_umword_t new_val)
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 <reuther@os.inf.tu-dresden.de>, Jork Loeser <jork@os.inf.tu-dresden.de>

Definition in file atomic.h.


L4 Utilities, part of DROPS  © 2000-2003