svn commit: r289320 - head/sys/dev/hwpmc

Bjoern A. Zeeb bz at FreeBSD.org
Wed Oct 14 17:20:20 UTC 2015


Author: bz
Date: Wed Oct 14 17:20:19 2015
New Revision: 289320
URL: https://svnweb.freebsd.org/changeset/base/289320

Log:
  Now that we can detect the Cortex-A8 properly, fix the event list
  according to the Cortex-A8 TRM r3p2 section 3.2.49.
  The A8 list differs from the "ARM-v7 common" list, given the A8
  was an earlier model.
  
  There is still more work to be done for other Cortex-Ax version as
  andrew points out, but I am just trying to fix A8 for now for teaching.
  
  MFC after:		2 weeks
  Sponsored by:		DARPA/AFRL
  Obtained from:		Cambridge/L41
  Reviewed by:		andrew
  Differential Revision:	https://reviews.freebsd.org/D3876

Modified:
  head/sys/dev/hwpmc/pmc_events.h

Modified: head/sys/dev/hwpmc/pmc_events.h
==============================================================================
--- head/sys/dev/hwpmc/pmc_events.h	Wed Oct 14 17:07:24 2015	(r289319)
+++ head/sys/dev/hwpmc/pmc_events.h	Wed Oct 14 17:20:19 2015	(r289320)
@@ -5027,7 +5027,7 @@ __PMC_EV_ALIAS("IMPC_C0H_TRK_REQUEST.ALL
 #define	PMC_EV_ARMV7_FIRST	PMC_EV_ARMV7_EVENT_00H
 #define	PMC_EV_ARMV7_LAST	PMC_EV_ARMV7_EVENT_FFH
 
-#define	__PMC_EV_ALIAS_ARMV7_COMMON()					\
+#define	__PMC_EV_ALIAS_ARMV7_COMMON_A8()				\
 	__PMC_EV_ALIAS("PMNC_SW_INCR",		ARMV7_EVENT_00H)	\
 	__PMC_EV_ALIAS("L1_ICACHE_REFILL",	ARMV7_EVENT_01H)	\
 	__PMC_EV_ALIAS("ITLB_REFILL",		ARMV7_EVENT_02H)	\
@@ -5046,7 +5046,10 @@ __PMC_EV_ALIAS("IMPC_C0H_TRK_REQUEST.ALL
 	__PMC_EV_ALIAS("MEM_UNALIGNED_ACCESS",	ARMV7_EVENT_0FH)	\
 	__PMC_EV_ALIAS("PC_BRANCH_MIS_PRED",	ARMV7_EVENT_10H)	\
 	__PMC_EV_ALIAS("CLOCK_CYCLES",		ARMV7_EVENT_11H)	\
-	__PMC_EV_ALIAS("PC_BRANCH_PRED",	ARMV7_EVENT_12H)	\
+	__PMC_EV_ALIAS("PC_BRANCH_PRED",	ARMV7_EVENT_12H)
+
+#define	__PMC_EV_ALIAS_ARMV7_COMMON()					\
+	__PMC_EV_ALIAS_ARMV7_COMMON_A8()				\
 	__PMC_EV_ALIAS("MEM_ACCESS",		ARMV7_EVENT_13H)	\
 	__PMC_EV_ALIAS("L1_ICACHE_ACCESS",	ARMV7_EVENT_14H)	\
 	__PMC_EV_ALIAS("L1_DCACHE_WB",		ARMV7_EVENT_15H)	\
@@ -5060,8 +5063,40 @@ __PMC_EV_ALIAS("IMPC_C0H_TRK_REQUEST.ALL
 	__PMC_EV_ALIAS("BUS_CYCLES",		ARMV7_EVENT_1DH)	\
 	__PMC_EV_ALIAS("CPU_CYCLES",		ARMV7_EVENT_FFH)
 
-#define	__PMC_EV_ALIAS_ARMV7_CORTEX_A8()				\
-	__PMC_EV_ALIAS_ARMV7_COMMON()
+#define	__PMC_EV_ALIAS_ARMV7_CORTEX_A8()				 \
+	__PMC_EV_ALIAS_ARMV7_COMMON_A8()				 \
+	__PMC_EV_ALIAS("WRITE_BUF_FULL",		ARMV7_EVENT_40H) \
+	__PMC_EV_ALIAS("L2_STORE_MERGED",		ARMV7_EVENT_41H) \
+	__PMC_EV_ALIAS("L2_STORE_BUFFERABLE",		ARMV7_EVENT_42H) \
+	__PMC_EV_ALIAS("L2_ACCESS",			ARMV7_EVENT_43H) \
+	__PMC_EV_ALIAS("L2_CACHE_MISS",			ARMV7_EVENT_44H) \
+	__PMC_EV_ALIAS("AXI_READ",			ARMV7_EVENT_45H) \
+	__PMC_EV_ALIAS("AXI_WRITE",			ARMV7_EVENT_46H) \
+	__PMC_EV_ALIAS("MEM_REPLAY_EVT",		ARMV7_EVENT_47H) \
+	__PMC_EV_ALIAS("MEM_UNALIGNED_ACCESS_REPLAY",	ARMV7_EVENT_48H) \
+	__PMC_EV_ALIAS("L1_DCACHE_HASH_MISS",		ARMV7_EVENT_49H) \
+	__PMC_EV_ALIAS("L1_ICACHE_HASH_MISS",		ARMV7_EVENT_4AH) \
+	__PMC_EV_ALIAS("L1_CACHE_PAGECOL_ALIAS",	ARMV7_EVENT_4BH) \
+	__PMC_EV_ALIAS("L1_DCACHE_NEON_ACCESS",		ARMV7_EVENT_4CH) \
+	__PMC_EV_ALIAS("L1_DCACHE_NEON_CACHEABLE",	ARMV7_EVENT_4DH) \
+	__PMC_EV_ALIAS("L2_CACHE_NEON_MEM_ACCESS",	ARMV7_EVENT_4EH) \
+	__PMC_EV_ALIAS("L2_CACHE_NEON_HIT",		ARMV7_EVENT_4FH) \
+	__PMC_EV_ALIAS("L1_CACHE_ACCESS_NOCP15",	ARMV7_EVENT_50H) \
+	__PMC_EV_ALIAS("RET_STACK_MISPREDICT",		ARMV7_EVENT_51H) \
+	__PMC_EV_ALIAS("BRANCH_DIR_MISPREDICT",		ARMV7_EVENT_52H) \
+	__PMC_EV_ALIAS("PRED_BRANCH_PRED_TAKEN",	ARMV7_EVENT_53H) \
+	__PMC_EV_ALIAS("PRED_BRANCH_EXEC_TAKEN",	ARMV7_EVENT_54H) \
+	__PMC_EV_ALIAS("OPS_ISSUED",			ARMV7_EVENT_55H) \
+	__PMC_EV_ALIAS("CYCLES_NO_INSTRUCTION",		ARMV7_EVENT_56H) \
+	__PMC_EV_ALIAS("INSTRUCTIONS_ISSUED_CYCLE",	ARMV7_EVENT_57H) \
+	__PMC_EV_ALIAS("CYCLES_STALLED_NEON_MRC",	ARMV7_EVENT_58H) \
+	__PMC_EV_ALIAS("CYCLES_STALLED_NEON_FULLQ",	ARMV7_EVENT_59H) \
+	__PMC_EV_ALIAS("CYCLES_NONIDLE_NEON_INT",	ARMV7_EVENT_5AH) \
+	__PMC_EV_ALIAS("PMUEXTIN0_EVT",			ARMV7_EVENT_70H) \
+	__PMC_EV_ALIAS("PMUEXTIN1_EVT",			ARMV7_EVENT_71H) \
+	__PMC_EV_ALIAS("PMUEXTIN_EVT",			ARMV7_EVENT_72H)
+#define	PMC_EV_ARMV7_CORTEX_A8_FIRST	PMC_EV_ARMV7_PMNC_SW_INCR
+#define	PMC_EV_ARMV7_CORTEX_A8_LAST	PMC_EV_ARMV7_PMUEXTIN_EVT
 
 #define	__PMC_EV_ALIAS_ARMV7_CORTEX_A9()					\
 	__PMC_EV_ALIAS_ARMV7_COMMON()						\


More information about the svn-src-all mailing list