aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2022-01-12 15:44:36 +0000
committerAndrew Turner <andrew@FreeBSD.org>2022-02-23 14:45:28 +0000
commitec1ecf78ae8accf93e3d3ac585ea4b24711d716d (patch)
tree386034b25f0b21a389c8f2e47ca410bed4b585f3 /sys
parentf34560385c730c8b1db4f46a9c711a60511864bf (diff)
downloadsrc-ec1ecf78ae8accf93e3d3ac585ea4b24711d716d.tar.gz
src-ec1ecf78ae8accf93e3d3ac585ea4b24711d716d.zip
Add the char and short atomic operations on arm64
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys')
-rw-r--r--sys/arm64/include/atomic.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/sys/arm64/include/atomic.h b/sys/arm64/include/atomic.h
index fe15b14181b4..415322f2a010 100644
--- a/sys/arm64/include/atomic.h
+++ b/sys/arm64/include/atomic.h
@@ -495,6 +495,64 @@ _ATOMIC_STORE_REL_IMPL(16, w, h)
_ATOMIC_STORE_REL_IMPL(32, w, )
_ATOMIC_STORE_REL_IMPL(64, , )
+#define atomic_add_char atomic_add_8
+#define atomic_fcmpset_char atomic_fcmpset_8
+#define atomic_clear_char atomic_clear_8
+#define atomic_cmpset_char atomic_cmpset_8
+#define atomic_fetchadd_char atomic_fetchadd_8
+#define atomic_readandclear_char atomic_readandclear_8
+#define atomic_set_char atomic_set_8
+#define atomic_swap_char atomic_swap_8
+#define atomic_subtract_char atomic_subtract_8
+#define atomic_testandclear_char atomic_testandclear_8
+#define atomic_testandset_char atomic_testandset_8
+
+#define atomic_add_acq_char atomic_add_acq_8
+#define atomic_fcmpset_acq_char atomic_fcmpset_acq_8
+#define atomic_clear_acq_char atomic_clear_acq_8
+#define atomic_cmpset_acq_char atomic_cmpset_acq_8
+#define atomic_load_acq_char atomic_load_acq_8
+#define atomic_set_acq_char atomic_set_acq_8
+#define atomic_subtract_acq_char atomic_subtract_acq_8
+#define atomic_testandset_acq_char atomic_testandset_acq_8
+
+#define atomic_add_rel_char atomic_add_rel_8
+#define atomic_fcmpset_rel_char atomic_fcmpset_rel_8
+#define atomic_clear_rel_char atomic_clear_rel_8
+#define atomic_cmpset_rel_char atomic_cmpset_rel_8
+#define atomic_set_rel_char atomic_set_rel_8
+#define atomic_subtract_rel_char atomic_subtract_rel_8
+#define atomic_store_rel_char atomic_store_rel_8
+
+#define atomic_add_short atomic_add_16
+#define atomic_fcmpset_short atomic_fcmpset_16
+#define atomic_clear_short atomic_clear_16
+#define atomic_cmpset_short atomic_cmpset_16
+#define atomic_fetchadd_short atomic_fetchadd_16
+#define atomic_readandclear_short atomic_readandclear_16
+#define atomic_set_short atomic_set_16
+#define atomic_swap_short atomic_swap_16
+#define atomic_subtract_short atomic_subtract_16
+#define atomic_testandclear_short atomic_testandclear_16
+#define atomic_testandset_short atomic_testandset_16
+
+#define atomic_add_acq_short atomic_add_acq_16
+#define atomic_fcmpset_acq_short atomic_fcmpset_acq_16
+#define atomic_clear_acq_short atomic_clear_acq_16
+#define atomic_cmpset_acq_short atomic_cmpset_acq_16
+#define atomic_load_acq_short atomic_load_acq_16
+#define atomic_set_acq_short atomic_set_acq_16
+#define atomic_subtract_acq_short atomic_subtract_acq_16
+#define atomic_testandset_acq_short atomic_testandset_acq_16
+
+#define atomic_add_rel_short atomic_add_rel_16
+#define atomic_fcmpset_rel_short atomic_fcmpset_rel_16
+#define atomic_clear_rel_short atomic_clear_rel_16
+#define atomic_cmpset_rel_short atomic_cmpset_rel_16
+#define atomic_set_rel_short atomic_set_rel_16
+#define atomic_subtract_rel_short atomic_subtract_rel_16
+#define atomic_store_rel_short atomic_store_rel_16
+
#define atomic_add_int atomic_add_32
#define atomic_fcmpset_int atomic_fcmpset_32
#define atomic_clear_int atomic_clear_32