Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
atomic_xtensa.h File Reference

Go to the source code of this file.

Functions

static ALWAYS_INLINE atomic_val_t atomic_get (const atomic_t *target)
 
static ALWAYS_INLINE atomic_val_t xtensa_cas (atomic_t *addr, atomic_val_t oldval, atomic_val_t newval)
 
static ALWAYS_INLINE bool atomic_cas (atomic_t *target, atomic_val_t oldval, atomic_val_t newval)
 
static ALWAYS_INLINE bool atomic_ptr_cas (atomic_ptr_t *target, void *oldval, void *newval)
 
static ALWAYS_INLINE atomic_val_t atomic_set (atomic_t *target, atomic_val_t value)
 
static ALWAYS_INLINE atomic_val_t atomic_add (atomic_t *target, atomic_val_t value)
 
static ALWAYS_INLINE atomic_val_t atomic_sub (atomic_t *target, atomic_val_t value)
 
static ALWAYS_INLINE atomic_val_t atomic_inc (atomic_t *target)
 
static ALWAYS_INLINE atomic_val_t atomic_dec (atomic_t *target)
 
static ALWAYS_INLINE atomic_val_t atomic_or (atomic_t *target, atomic_val_t value)
 
static ALWAYS_INLINE atomic_val_t atomic_xor (atomic_t *target, atomic_val_t value)
 
static ALWAYS_INLINE atomic_val_t atomic_and (atomic_t *target, atomic_val_t value)
 
static ALWAYS_INLINE atomic_val_t atomic_nand (atomic_t *target, atomic_val_t value)
 
static ALWAYS_INLINE voidatomic_ptr_get (const atomic_ptr_t *target)
 
static ALWAYS_INLINE voidatomic_ptr_set (atomic_ptr_t *target, void *value)
 
static ALWAYS_INLINE atomic_val_t atomic_clear (atomic_t *target)
 
static ALWAYS_INLINE voidatomic_ptr_clear (atomic_ptr_t *target)
 

Function Documentation

◆ atomic_add()

static ALWAYS_INLINE atomic_val_t atomic_add ( atomic_t target,
atomic_val_t  value 
)
static

◆ atomic_and()

static ALWAYS_INLINE atomic_val_t atomic_and ( atomic_t target,
atomic_val_t  value 
)
static

◆ atomic_cas()

static ALWAYS_INLINE bool atomic_cas ( atomic_t target,
atomic_val_t  oldval,
atomic_val_t  newval 
)
static

◆ atomic_clear()

static ALWAYS_INLINE atomic_val_t atomic_clear ( atomic_t target)
static

◆ atomic_dec()

static ALWAYS_INLINE atomic_val_t atomic_dec ( atomic_t target)
static

◆ atomic_get()

static ALWAYS_INLINE atomic_val_t atomic_get ( const atomic_t target)
static

Copyright (c) 2021 Intel Corporation SPDX-License-Identifier: Apache-2.0

◆ atomic_inc()

static ALWAYS_INLINE atomic_val_t atomic_inc ( atomic_t target)
static

◆ atomic_nand()

static ALWAYS_INLINE atomic_val_t atomic_nand ( atomic_t target,
atomic_val_t  value 
)
static

◆ atomic_or()

static ALWAYS_INLINE atomic_val_t atomic_or ( atomic_t target,
atomic_val_t  value 
)
static

◆ atomic_ptr_cas()

static ALWAYS_INLINE bool atomic_ptr_cas ( atomic_ptr_t target,
void oldval,
void newval 
)
static

◆ atomic_ptr_clear()

static ALWAYS_INLINE void * atomic_ptr_clear ( atomic_ptr_t target)
static

◆ atomic_ptr_get()

static ALWAYS_INLINE void * atomic_ptr_get ( const atomic_ptr_t target)
static

◆ atomic_ptr_set()

static ALWAYS_INLINE void * atomic_ptr_set ( atomic_ptr_t target,
void value 
)
static

◆ atomic_set()

static ALWAYS_INLINE atomic_val_t atomic_set ( atomic_t target,
atomic_val_t  value 
)
static

◆ atomic_sub()

static ALWAYS_INLINE atomic_val_t atomic_sub ( atomic_t target,
atomic_val_t  value 
)
static

◆ atomic_xor()

static ALWAYS_INLINE atomic_val_t atomic_xor ( atomic_t target,
atomic_val_t  value 
)
static

◆ xtensa_cas()

static ALWAYS_INLINE atomic_val_t xtensa_cas ( atomic_t addr,
atomic_val_t  oldval,
atomic_val_t  newval 
)
static