Module Name: src Committed By: matt Date: Wed Aug 29 18:45:41 UTC 2012
Modified Files: src/sys/arch/arm/include: cpu_counter.h Log Message: Use ci->ci_data.cpu_cc_freq. Use new armreg_* macros. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/include/cpu_counter.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/include/cpu_counter.h diff -u src/sys/arch/arm/include/cpu_counter.h:1.1 src/sys/arch/arm/include/cpu_counter.h:1.2 --- src/sys/arch/arm/include/cpu_counter.h:1.1 Tue Aug 14 21:12:59 2012 +++ src/sys/arch/arm/include/cpu_counter.h Wed Aug 29 18:45:40 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_counter.h,v 1.1 2012/08/14 21:12:59 matt Exp $ */ +/* $NetBSD: cpu_counter.h,v 1.2 2012/08/29 18:45:40 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -42,7 +42,7 @@ #include <sys/cpu.h> #if defined(CPU_CORTEX) || defined(CPU_ARM11) -#define cpu_hascounter() true +#define cpu_hascounter() (curcpu()->ci_data.cpu_cc_freq != 0) #else #define cpu_hascounter() false #endif @@ -61,19 +61,17 @@ cpu_counter32(void) const bool cortex_p = false; #endif - uint32_t rv; if (cortex_p) - __asm __volatile("mrc p15, 0, %0, c9, c12, 1" : "=r"(rv)); + return armreg_pmccntr_read(); else - __asm __volatile("mrc p15, 0, %0, c15, c12, 1" : "=r"(rv)); - return rv; + return armreg_pmccntrv6_read(); } #endif static __inline uint64_t cpu_frequency(struct cpu_info *ci) { - return ci->ci_ccnt_freq; + return ci->ci_data.cpu_cc_freq; } #endif /* _KERNEL */