Module Name: src
Committed By: ryo
Date: Sat Dec 3 20:24:21 UTC 2022
Modified Files:
src/sys/arch/arm/include: armreg.h
src/sys/dev/tprof: tprof_armv7.c
Log Message:
move ARMv7 PMC register definitions to armreg.h from tprof_armv7.c
To generate a diff of this commit:
cvs rdiff -u -r1.135 -r1.136 src/sys/arch/arm/include/armreg.h
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/tprof/tprof_armv7.c
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/armreg.h
diff -u src/sys/arch/arm/include/armreg.h:1.135 src/sys/arch/arm/include/armreg.h:1.136
--- src/sys/arch/arm/include/armreg.h:1.135 Fri May 20 19:34:22 2022
+++ src/sys/arch/arm/include/armreg.h Sat Dec 3 20:24:21 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: armreg.h,v 1.135 2022/05/20 19:34:22 andvar Exp $ */
+/* $NetBSD: armreg.h,v 1.136 2022/12/03 20:24:21 ryo Exp $ */
/*
* Copyright (c) 1998, 2001 Ben Harris
@@ -485,6 +485,26 @@
#define ARM11_PMCEVT_RETURN_MISS 38 /* return addr. mispredicted */
#define ARM11_PMCEVT_CYCLE 255 /* Increment each cycle */
+/* ARMv7 PMCR, Performance Monitor Control Register */
+#define PMCR_N __BITS(15,11)
+#define PMCR_D __BIT(3)
+#define PMCR_E __BIT(0)
+
+/* ARMv7 INTEN{SET,CLR}, Performance Monitors Interrupt Enable Set register */
+#define PMINTEN_C __BIT(31)
+#define PMINTEN_P __BITS(30,0)
+#define PMCNTEN_C __BIT(31)
+#define PMCNTEN_P __BITS(30,0)
+
+/* ARMv7 PMOVSR, Performance Monitors Overflow Flag Status Register */
+#define PMOVS_C __BIT(31)
+#define PMOVS_P __BITS(30,0)
+
+/* ARMv7 PMXEVTYPER, Performance Monitors Event Type Select Register */
+#define PMEVTYPER_P __BIT(31)
+#define PMEVTYPER_U __BIT(30)
+#define PMEVTYPER_EVTCOUNT __BITS(7,0)
+
/* Defines for ARM CORTEX performance counters */
#define CORTEX_CNTENS_C __BIT(31) /* Enables the cycle counter */
#define CORTEX_CNTENC_C __BIT(31) /* Disables the cycle counter */
Index: src/sys/dev/tprof/tprof_armv7.c
diff -u src/sys/dev/tprof/tprof_armv7.c:1.10 src/sys/dev/tprof/tprof_armv7.c:1.11
--- src/sys/dev/tprof/tprof_armv7.c:1.10 Thu Dec 1 00:32:52 2022
+++ src/sys/dev/tprof/tprof_armv7.c Sat Dec 3 20:24:21 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: tprof_armv7.c,v 1.10 2022/12/01 00:32:52 ryo Exp $ */
+/* $NetBSD: tprof_armv7.c,v 1.11 2022/12/03 20:24:21 ryo Exp $ */
/*-
* Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tprof_armv7.c,v 1.10 2022/12/01 00:32:52 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tprof_armv7.c,v 1.11 2022/12/03 20:24:21 ryo Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -42,22 +42,6 @@ __KERNEL_RCSID(0, "$NetBSD: tprof_armv7.
#include <dev/tprof/tprof_armv7.h>
-#define PMCR_N __BITS(15,11)
-#define PMCR_D __BIT(3)
-#define PMCR_E __BIT(0)
-
-#define PMINTEN_C __BIT(31)
-#define PMINTEN_P __BITS(30,0)
-#define PMCNTEN_C __BIT(31)
-#define PMCNTEN_P __BITS(30,0)
-
-#define PMOVS_C __BIT(31)
-#define PMOVS_P __BITS(30,0)
-
-#define PMEVTYPER_P __BIT(31)
-#define PMEVTYPER_U __BIT(30)
-#define PMEVTYPER_EVTCOUNT __BITS(7,0)
-
static uint16_t cortexa9_events[] = {
0x40, 0x41, 0x42,
0x50, 0x51,