]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
uk/arch: Add `ukarch_fetch_sub`
authorRazvan Virtan <virtanrazvan@gmail.com>
Sat, 22 Apr 2023 19:29:30 +0000 (22:29 +0300)
committerUnikraft <monkey@unikraft.io>
Wed, 3 May 2023 18:29:56 +0000 (18:29 +0000)
Add wrapper for the `__atomic_fetch_sub` GNU builtin.

Signed-off-by: Razvan Virtan <razvanvirtan@gmail.com>
Reviewed-by: Eduard Vintilă <eduard.vintila47@gmail.com>
Reviewed-by: Marc Rittinghaus <marc.rittinghaus@unikraft.io>
Approved-by: Michalis Pappas <michalis@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #864

include/uk/arch/atomic.h

index 6fae17628a411090ef515611c06ad076e4966531..a639f7c3ee036811ebed5fb48c6d551d5167b434 100644 (file)
@@ -39,25 +39,27 @@ extern "C" {
 #include <uk/asm/atomic.h>
 
 /**
- * Perform a atomic load operation.
+ * Perform an atomic load operation.
  */
 #define ukarch_load_n(src) \
        __atomic_load_n(src, __ATOMIC_SEQ_CST)
 
 /**
- * Perform a atomic store operation.
+ * Perform an atomic store operation.
  */
 #define ukarch_store_n(src, value) \
        __atomic_store_n(src, value, __ATOMIC_SEQ_CST)
 
 /**
- * Perform a atomic fetch and add operation.
+ * Perform an atomic fetch and add/sub operation.
  */
 #define ukarch_fetch_add(src, value) \
        __atomic_fetch_add(src, value, __ATOMIC_SEQ_CST)
+#define ukarch_fetch_sub(src, value) \
+       __atomic_fetch_sub(src, value, __ATOMIC_SEQ_CST)
 
 /**
- * Perform a atomic increment/decrement operation and return the
+ * Perform an atomic increment/decrement operation and return the
  * previous value.
  */
 #define ukarch_inc(src) \