Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Dec 2014 19:08:40 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r276212 - head/sys/arm/include
Message-ID:  <201412251908.sBPJ8ej0079939@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412251908.sBPJ8ej0079939>