summaryrefslogtreecommitdiffstats
path: root/sys/arm/include/atomic.h
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-05-11 00:43:06 +0000
committerian <ian@FreeBSD.org>2014-05-11 00:43:06 +0000
commitbbf551afa0d4b339aa8968ee49aaa1bc2a520403 (patch)
tree45bcf42c38e17b54d71507f0204d8c6645845665 /sys/arm/include/atomic.h
parent1f446d8434a38afc2c90eca121d1e8b6b9690f9b (diff)
downloadFreeBSD-src-bbf551afa0d4b339aa8968ee49aaa1bc2a520403.zip
FreeBSD-src-bbf551afa0d4b339aa8968ee49aaa1bc2a520403.tar.gz
Make the hardware memory and instruction barrier functions work on armv4
and armv5 as well.
Diffstat (limited to 'sys/arm/include/atomic.h')
-rw-r--r--sys/arm/include/atomic.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arm/include/atomic.h b/sys/arm/include/atomic.h
index d168498..02be1bd 100644
--- a/sys/arm/include/atomic.h
+++ b/sys/arm/include/atomic.h
@@ -58,9 +58,9 @@
#define dsb() __asm __volatile("mcr p15, 0, %0, c7, c10, 4" : : "r" (0) : "memory")
#define dmb() __asm __volatile("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory")
#else
-#define isb()
-#define dsb()
-#define dmb()
+#define isb() __asm __volatile("mcr p15, 0, %0, c7, c5, 4" : : "r" (0) : "memory")
+#define dsb() __asm __volatile("mcr p15, 0, %0, c7, c10, 4" : : "r" (0) : "memory")
+#define dmb() dsb()
#endif
#define mb() dmb()
OpenPOWER on IntegriCloud