Module Name:    src
Committed By:   matt
Date:           Fri Dec 20 06:48:09 UTC 2013

Modified Files:
        src/sys/arch/arm/arm: cpufunc.c
        src/sys/arch/arm/include: locore.h

Log Message:
Add CPU_IS_ARMV6_P() macro


To generate a diff of this commit:
cvs rdiff -u -r1.131 -r1.132 src/sys/arch/arm/arm/cpufunc.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/include/locore.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/arm/cpufunc.c
diff -u src/sys/arch/arm/arm/cpufunc.c:1.131 src/sys/arch/arm/arm/cpufunc.c:1.132
--- src/sys/arch/arm/arm/cpufunc.c:1.131	Wed Dec 18 12:52:47 2013
+++ src/sys/arch/arm/arm/cpufunc.c	Fri Dec 20 06:48:09 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpufunc.c,v 1.131 2013/12/18 12:52:47 skrll Exp $	*/
+/*	$NetBSD: cpufunc.c,v 1.132 2013/12/20 06:48:09 matt Exp $	*/
 
 /*
  * arm7tdmi support code Copyright (c) 2001 John Fremlin
@@ -49,7 +49,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.131 2013/12/18 12:52:47 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.132 2013/12/20 06:48:09 matt Exp $");
 
 #include "opt_compat_netbsd.h"
 #include "opt_cpuoptions.h"
@@ -96,6 +96,11 @@ struct arm_pmc_funcs *arm_pmc;
 bool cpu_armv7_p;
 #endif
 
+#if defined(CPU_ARMV6) && (defined(CPU_ARMV7) || defined(CPU_PRE_ARMV6))
+bool cpu_armv6_p;
+#endif
+
+
 /* PRIMARY CACHE VARIABLES */
 #if (ARM_MMU_V6 + ARM_MMU_V7) != 0
 u_int	arm_cache_prefer_mask;
@@ -1839,6 +1844,9 @@ set_cpufuncs(void)
 #if defined(CPU_ARM11MPCORE)
 	if (cputype == CPU_ID_ARM11MPCORE) {
 		cpufuncs = arm11mpcore_cpufuncs;
+#if defined(CPU_ARMV7) || defined(CPU_PRE_ARMV6)
+		cpu_armv6_p = true;
+#endif
 		get_cachetype_cp15();
 		armv5_dcache_sets_inc = 1U << arm_dcache_log2_linesize;
 		armv5_dcache_sets_max = (1U << (arm_dcache_log2_linesize +
@@ -1873,6 +1881,9 @@ set_cpufuncs(void)
 			cpufuncs = arm1176_cpufuncs;
 		}
 #endif
+#if defined(CPU_ARMV7) || defined(CPU_PRE_ARMV6)
+		cpu_armv6_p = true;
+#endif
 		cpu_do_powersave = 1;			/* Enable powersave */
 		get_cachetype_cp15();
 #ifdef ARM11_CACHE_WRITE_THROUGH

Index: src/sys/arch/arm/include/locore.h
diff -u src/sys/arch/arm/include/locore.h:1.5 src/sys/arch/arm/include/locore.h:1.6
--- src/sys/arch/arm/include/locore.h:1.5	Sat Sep  7 23:10:02 2013
+++ src/sys/arch/arm/include/locore.h	Fri Dec 20 06:48:09 2013
@@ -160,6 +160,15 @@ extern bool cpu_armv7_p;
 #else
 #define	CPU_IS_ARMV7_P()		true
 #endif
+#if !defined(CPU_ARMV6)
+#define	CPU_IS_ARMV6_P()		false
+#elif defined(CPU_ARMV7) || defined(CPU_PRE_ARMV6)
+extern bool cpu_armv6_p;
+#define	CPU_IS_ARMV6_P()		(cpu_armv6_p)
+#else
+#define	CPU_IS_ARMV6_P()		true
+#endif
+
 
 /*
  * Random cruft

Reply via email to