mirror of https://gitee.com/openkylin/qemu.git
atomic: update documentation
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
05e015f73c
commit
db81b99537
|
@ -63,11 +63,22 @@ operations:
|
||||||
typeof(*ptr) atomic_fetch_sub(ptr, val)
|
typeof(*ptr) atomic_fetch_sub(ptr, val)
|
||||||
typeof(*ptr) atomic_fetch_and(ptr, val)
|
typeof(*ptr) atomic_fetch_and(ptr, val)
|
||||||
typeof(*ptr) atomic_fetch_or(ptr, val)
|
typeof(*ptr) atomic_fetch_or(ptr, val)
|
||||||
|
typeof(*ptr) atomic_fetch_xor(ptr, val)
|
||||||
typeof(*ptr) atomic_xchg(ptr, val)
|
typeof(*ptr) atomic_xchg(ptr, val)
|
||||||
typeof(*ptr) atomic_cmpxchg(ptr, old, new)
|
typeof(*ptr) atomic_cmpxchg(ptr, old, new)
|
||||||
|
|
||||||
all of which return the old value of *ptr. These operations are
|
all of which return the old value of *ptr. These operations are
|
||||||
polymorphic; they operate on any type that is as wide as an int.
|
polymorphic; they operate on any type that is as wide as a pointer.
|
||||||
|
|
||||||
|
Similar operations return the new value of *ptr:
|
||||||
|
|
||||||
|
typeof(*ptr) atomic_inc_fetch(ptr)
|
||||||
|
typeof(*ptr) atomic_dec_fetch(ptr)
|
||||||
|
typeof(*ptr) atomic_add_fetch(ptr, val)
|
||||||
|
typeof(*ptr) atomic_sub_fetch(ptr, val)
|
||||||
|
typeof(*ptr) atomic_and_fetch(ptr, val)
|
||||||
|
typeof(*ptr) atomic_or_fetch(ptr, val)
|
||||||
|
typeof(*ptr) atomic_xor_fetch(ptr, val)
|
||||||
|
|
||||||
Sequentially consistent loads and stores can be done using:
|
Sequentially consistent loads and stores can be done using:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue