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