svn commit: r278648 - in stable/10/sys/arm: arm include

Ian Lepore ian at FreeBSD.org
Fri Feb 13 00:17:23 UTC 2015


Author: ian
Date: Fri Feb 13 00:17:22 2015
New Revision: 278648
URL: https://svnweb.freebsd.org/changeset/base/278648

Log:
  MFC r276519:
  
    Define a WFI macro that expands to the right form of wait-for-interrupt
    depending on the architecture.

Modified:
  stable/10/sys/arm/arm/locore-v6.S
  stable/10/sys/arm/include/asm.h
  stable/10/sys/arm/include/sysreg.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/arm/arm/locore-v6.S
==============================================================================
--- stable/10/sys/arm/arm/locore-v6.S	Fri Feb 13 00:16:05 2015	(r278647)
+++ stable/10/sys/arm/arm/locore-v6.S	Fri Feb 13 00:17:22 2015	(r278648)
@@ -461,7 +461,7 @@ ENTRY_NP(cpu_halt)
 	teq	r4, #0
 	movne	pc, r4
 1:	
-	wfi
+	WFI
 	b	1b
 
 	/*

Modified: stable/10/sys/arm/include/asm.h
==============================================================================
--- stable/10/sys/arm/include/asm.h	Fri Feb 13 00:16:05 2015	(r278647)
+++ stable/10/sys/arm/include/asm.h	Fri Feb 13 00:17:22 2015	(r278648)
@@ -227,14 +227,17 @@
 #define ISB	isb
 #define DSB	dsb
 #define DMB	dmb
+#define WFI	wfi
 #elif __ARM_ARCH == 6
 #define ISB	mcr CP15_CP15ISB
 #define DSB	mcr CP15_CP15DSB
 #define DMB	mcr CP15_CP15DMB
+#define WFI	mcr CP15_CP15WFI
 #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.*/
+/* No form of WFI available on v4, define nothing to get an error on use. */
 #endif
 
 #endif /* !_MACHINE_ASM_H_ */

Modified: stable/10/sys/arm/include/sysreg.h
==============================================================================
--- stable/10/sys/arm/include/sysreg.h	Fri Feb 13 00:16:05 2015	(r278647)
+++ stable/10/sys/arm/include/sysreg.h	Fri Feb 13 00:17:22 2015	(r278648)
@@ -166,6 +166,7 @@
 /* Only ARMv6: */
 #define	CP15_CP15DSB		p15, 0, r0, c7, c10, 4 /* DSB */
 #define	CP15_CP15DMB		p15, 0, r0, c7, c10, 5 /* DMB */
+#define	CP15_CP15WFI		p15, 0, r0, c7, c0,  4 /* WFI */
 #endif
 
 #if __ARM_ARCH >= 7


More information about the svn-src-stable-10 mailing list