@@ -134,6 +134,7 @@
})
/* Provide shorter names for GCC atomic builtins, return old value */
+#define atomic_test_and_set(ptr) __atomic_test_and_set(ptr, __ATOMIC_SEQ_CST)
#define atomic_fetch_inc(ptr) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST)
#define atomic_fetch_dec(ptr) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST)
#define atomic_fetch_add(ptr, n) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST)
@@ -328,6 +329,7 @@
#endif
/* Provide shorter names for GCC atomic builtins. */
+#define atomic_test_and_set(ptr) atomic_xchg(ptr, true)
#define atomic_fetch_inc(ptr) __sync_fetch_and_add(ptr, 1)
#define atomic_fetch_dec(ptr) __sync_fetch_and_add(ptr, -1)
#define atomic_fetch_add __sync_fetch_and_add
This new helper expands to __atomic_test_and_set where available; otherwise it expands to atomic_xchg. Signed-off-by: Emilio G. Cota <cota@braap.org> --- include/qemu/atomic.h | 2 ++ 1 file changed, 2 insertions(+)