blob: 3219cd98a08a8b0d937d168ebec3e16cf632120b [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/*
2 * Copyright (C) 2018 MediaTek Inc.
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#ifndef _V7_PMU_NAME_H_
15#define _V7_PMU_NAME_H_
16
17/* Cortex-A7 */
18struct pmu_desc a7_pmu_desc[] = {
19 {0x00, "SW_INCR"},
20 {0x01, "L1I_CACHE_REFILL"},
21 {0x02, "L1I_TLB_REFILL"},
22 {0x03, "L1D_CACHE_REFILL"},
23 {0x04, "L1D_CACHE"},
24 {0x05, "L1D_TLB_REFILL"},
25 {0x06, "LD_RETIRED"},
26 {0x07, "ST_RETIRED"},
27 /* {0x08, "INST_RETIRED"}, */
28 {0x08, "CPU_INST"},
29 {0x09, "EXC_TAKEN"},
30 {0x0A, "EXC_RETURN"},
31 {0x0B, "CID_WRITE_RETIRED"},
32 {0x0C, "PC_WRITE_RETIRED"},
33 {0x0D, "BR_IMMED_RETIRED"},
34 {0x0E, "BR_RETURN_RETIRED"},
35 {0x0F, "UNALIGNED_LDST_RETIRED"},
36 {0x10, "BR_MIS_PRED"},
37 {0x12, "BR_PRED"},
38 {0x13, "MEM_ACCESS"},
39 {0x14, "L1I_CACHE"},
40 {0x15, "L1D_CACHE_WB"},
41 {0x16, "L2D_CACHE"},
42 {0x17, "L2D_CACHE_REFILL"},
43 {0x18, "L2D_CACHE_WB"},
44 {0x19, "BUS_ACCESS"},
45 {0x1D, "BUS_CYCLES"},
46 {0x60, "BUS_READ_ACCESS"},
47 {0x61, "BUS_WRITE_ACCESS"},
48 {0x86, "IRQ_EXC_TAKEN"},
49 {0x87, "FIQ_EXC_TAKEN"},
50 {0xC0, "EXT_MEM_REQ"},
51 {0xC1, "NO_CACHE_EXT_MEM_REQ"},
52 {0xC2, "PREFETCH_LINEFILL"},
53 {0xC3, "PREFETCH_LINEFILL_DROPPED"},
54 {0xC4, "ENT_READ_ALLOC_MODE"},
55 {0xC5, "READ_ALLOC_MODE"},
56 {0xC7, "ETM_EXT_OUT0"},
57 {0xC8, "ETM_EXT_OUT1"},
58 {0xC9, "DATA_WRITE_STALL"},
59 {0xCA, "DATA_READ_SNOOP_CLUSTER"},
60 {0xFF, "CPU_CYCLES"}
61};
62
63/* Cortex-A9 */
64struct pmu_desc a9_pmu_desc[] = {
65 {0x00, "SW_INCR"},
66 {0x01, "L1I_CACHE_REFILL"},
67 {0x02, "L1I_TLB_REFILL"},
68 {0x03, "L1D_CACHE_REFILL"},
69 {0x04, "L1D_CACHE"},
70 {0x05, "L1D_TLB_REFILL"},
71 {0x06, "LD_RETIRED"},
72 {0x07, "ST_RETIRED"},
73 {0x09, "EXC_TAKEN"},
74 {0x0A, "EXC_RETURN"},
75 {0x0B, "CID_WRITE_RETIRED"},
76 {0x0C, "PC_WRITE_RETIRED"},
77 {0x0D, "BR_IMMED_RETIRED"},
78 {0x0F, "UNALIGNED_LDST_RETIRED"},
79 {0x10, "BR_MIS_PRED"},
80 {0x12, "BR_PRED"},
81 {0x40, "JAVA_BC_EXEC"},
82 {0x41, "SW_JAVA_BC_EXEC"},
83 {0x42, "JAZELLE_BB_EXEC"},
84 {0x50, "CO_LF_MISS"},
85 {0x51, "CO_LF_HIT"},
86 {0x60, "ICACHE_DEP_STALL"},
87 {0x61, "DCACHE_DEP_STALL"},
88 {0x62, "M_TLB_STALL"},
89 {0x63, "STREX_PASSED"},
90 {0x64, "STREX_FAILED"},
91 {0x65, "DATA_EVICT"},
92 {0x66, "ISSUE_NO_DISP"},
93 {0x67, "ISSUE_EMPTY"},
94 /* {0x68, "INS_RENAME"}, */
95 {0x68, "CPU_INST"},
96 {0x6E, "PRED_FN_RET"},
97 {0x70, "MAIN_EXEC_INST"},
98 {0x71, "SEC_EXEC_INST"},
99 {0x72, "LOAD_STORE_INST"},
100 {0x73, "FLOAT_INST_RR"},
101 {0x74, "NEON_INST_RR"},
102 {0x80, "STALL_PLD"},
103 {0x81, "STALL_WRITE"},
104 {0x82, "STALL_INST_M_TLB_MISS"},
105 {0x83, "STALL_DATA_M_TLB_MISS"},
106 {0x84, "STALL_INST_U_TLB"},
107 {0x85, "STALL_DATA_U_TLB"},
108 {0x86, "STALL_DMB"},
109 {0x8A, "INT_CLK_EN"},
110 {0x8B, "DATA_E_CLK_EN"},
111 {0x90, "ISB_INST"},
112 {0x91, "DSB_INST"},
113 {0x92, "INS_DMB"},
114 {0x93, "EXT_IRQ"},
115 {0xA0, "PLE_CACHE_REQ_COMP"},
116 {0xA1, "PLE_CACHE_REQ_SKP"},
117 {0xA2, "PLE_FIFO_FLUSH"},
118 {0xA3, "PLE_REQ_COMP"},
119 {0xA4, "PLE_FIFO_OF"},
120 {0xA5, "PLE_REQ_PRG"},
121 {0xFF, "CPU_CYCLES"}
122};
123
124#define A7_PMU_DESC_COUNT (sizeof(a7_pmu_desc) / sizeof(struct pmu_desc))
125#define A9_PMU_DESC_COUNT (sizeof(a9_pmu_desc) / sizeof(struct pmu_desc))
126
127#endif /* _V7_PMU_NAME_H_ */