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 */

Reply via email to