Author: ian
Date: Thu Dec 25 19:08:39 2014
New Revision: 276212
URL: https://svnweb.freebsd.org/changeset/base/276212

Log:
  Add macros for asm barrier instructions with arch-specific implementations.

Modified:
  head/sys/arm/include/asm.h

Modified: head/sys/arm/include/asm.h
==============================================================================
--- head/sys/arm/include/asm.h  Thu Dec 25 18:22:22 2014        (r276211)
+++ head/sys/arm/include/asm.h  Thu Dec 25 19:08:39 2014        (r276212)
@@ -39,6 +39,7 @@
 #ifndef _MACHINE_ASM_H_
 #define _MACHINE_ASM_H_
 #include <sys/cdefs.h>
+#include <machine/sysreg.h>
 
 #define        _C_LABEL(x)     x
 #define        _ASM_LABEL(x)   x
@@ -221,4 +222,18 @@
 # define RETc(c) mov##c        pc, lr
 #endif
 
+#if __ARM_ARCH >= 7
+#define ISB    isb
+#define DSB    dsb
+#define DMB    dmb
+#elif __ARM_ARCH == 6
+#define ISB    mcr CP15_CP15ISB
+#define DSB    mcr CP15_CP15DSB
+#define DMB    mcr CP15_CP15DMB
+#else
+#define ISB    mcr CP15_CP15ISB
+#define DSB    mcr CP15_CP15DSB        /* DSB and DMB are the */
+#define DMB    mcr CP15_CP15DSB        /* same prior to v6.*/
+#endif
+
 #endif /* !_MACHINE_ASM_H_ */
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to