summaryrefslogtreecommitdiff
path: root/kern/latomic.h
diff options
context:
space:
mode:
Diffstat (limited to 'kern/latomic.h')
-rw-r--r--kern/latomic.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/kern/latomic.h b/kern/latomic.h
index 683720af..8e93028e 100644
--- a/kern/latomic.h
+++ b/kern/latomic.h
@@ -31,6 +31,11 @@
* as memory-mapped device registers, while other operations only require
* interrupt safety.
*
+ * Also note that interrupts are considered to strictly match the definition
+ * of signals as described in the specification of program execution in
+ * the C language. This defines the forms of communication allowed with
+ * interrupts handlers.
+ *
* This header provides a generic implementation. Architectures can
* individually override any of the operations provided by this module.
*/
@@ -140,10 +145,6 @@ MACRO_BEGIN \
latomic_select(ptr, xor)(ptr, val, memorder); \
MACRO_END
-#define latomic_fence(memorder) \
-MACRO_BEGIN \
- assert(memorder != LATOMIC_RELAXED); \
- barrier(); \
-MACRO_END
+#define latomic_fence(memorder) __atomic_signal_fence(memorder)
#endif /* KERN_LATOMIC_H */