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