* [Qemu-devel] [PATCH] atomic: update documentation
@ 2017-09-21 16:27 Paolo Bonzini
2017-09-22 10:00 ` Alex Bennée
0 siblings, 1 reply; 2+ messages in thread
From: Paolo Bonzini @ 2017-09-21 16:27 UTC (permalink / raw)
To: qemu-devel; +Cc: alex.bennee
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
docs/devel/atomics.txt | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/docs/devel/atomics.txt b/docs/devel/atomics.txt
index 3ef5d85b1b..048e5f23cb 100644
--- a/docs/devel/atomics.txt
+++ b/docs/devel/atomics.txt
@@ -63,11 +63,22 @@ operations:
typeof(*ptr) atomic_fetch_sub(ptr, val)
typeof(*ptr) atomic_fetch_and(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_cmpxchg(ptr, old, new)
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:
--
2.13.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] atomic: update documentation
2017-09-21 16:27 [Qemu-devel] [PATCH] atomic: update documentation Paolo Bonzini
@ 2017-09-22 10:00 ` Alex Bennée
0 siblings, 0 replies; 2+ messages in thread
From: Alex Bennée @ 2017-09-22 10:00 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel
Paolo Bonzini <pbonzini@redhat.com> writes:
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> docs/devel/atomics.txt | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/docs/devel/atomics.txt b/docs/devel/atomics.txt
> index 3ef5d85b1b..048e5f23cb 100644
> --- a/docs/devel/atomics.txt
> +++ b/docs/devel/atomics.txt
> @@ -63,11 +63,22 @@ operations:
> typeof(*ptr) atomic_fetch_sub(ptr, val)
> typeof(*ptr) atomic_fetch_and(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_cmpxchg(ptr, old, new)
>
> 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:
--
Alex Bennée
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-22 10:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-21 16:27 [Qemu-devel] [PATCH] atomic: update documentation Paolo Bonzini
2017-09-22 10:00 ` Alex Bennée
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).