1 // Copyright 2018-2019 Espressif Systems (Shanghai) PTE LTD 2 // 3 // Descriptions have been adapted from the comments in xt_perf_const.h, 4 // licensed under MIT license and copyright by Tensilica Inc. 5 // 6 // Licensed under the Apache License, Version 2.0 (the "License"); 7 // you may not use this file except in compliance with the License. 8 // You may obtain a copy of the License at 9 // 10 // http://www.apache.org/licenses/LICENSE-2.0 11 // 12 // Unless required by applicable law or agreed to in writing, software 13 // distributed under the License is distributed on an "AS IS" BASIS, 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 // See the License for the specific language governing permissions and 16 // limitations under the License. 17 18 #include "xtensa_perfmon_masks.h" 19 20 const xtensa_perfmon_select_t xtensa_perfmon_select_table[] = { 21 // select, description 22 {XTPERF_CNT_CYCLES, "Counts cycles"}, 23 {XTPERF_CNT_OVERFLOW, "Overflow of counter"}, 24 {XTPERF_CNT_INSN, "Successfully Retired Instructions"}, 25 {XTPERF_CNT_D_STALL, "Data-related GlobalStall cycles"}, 26 {XTPERF_CNT_I_STALL, "Instruction-related and Other GlobalStall cycles"}, 27 {XTPERF_CNT_EXR, "Exceptions and Pipeline Replays"}, 28 {XTPERF_CNT_BUBBLES, "Hold and Other Bubble cycles"}, 29 {XTPERF_CNT_I_TLB, "Instruction TLB Accesses (per instruction retiring)"}, 30 {XTPERF_CNT_I_MEM, "Instruction Memory Accesses (per instruction retiring)"}, 31 {XTPERF_CNT_D_TLB, "Data TLB Accesses"}, 32 {XTPERF_CNT_D_LOAD_U1, "Load Instruction (Data Memory)"}, 33 {XTPERF_CNT_D_LOAD_U2, "Load Instruction (Data Memory)"}, 34 {XTPERF_CNT_D_LOAD_U3, "Load Instruction (Data Memory)"}, 35 {XTPERF_CNT_D_STORE_U1, "Store Instruction (Data Memory)"}, 36 {XTPERF_CNT_D_STORE_U2, "Store Instruction (Data Memory)"}, 37 {XTPERF_CNT_D_STORE_U3, "Store Instruction (Data Memory)"}, 38 {XTPERF_CNT_D_ACCESS_U1, "Accesses to Data Memory (Load, Store, S32C1I, ...)"}, 39 {XTPERF_CNT_D_ACCESS_U2, "Accesses to Data Memory (Load, Store, S32C1I, ...)"}, 40 {XTPERF_CNT_D_ACCESS_U3, "Accesses to Data Memory (Load, Store, S32C1I, ...)"}, 41 {XTPERF_CNT_MULTIPLE_LS, "Multiple Load/Store"}, 42 {XTPERF_CNT_OUTBOUND_PIF, "Outbound PIF"}, 43 {XTPERF_CNT_INBOUND_PIF, "Inbound PIF"}, 44 {XTPERF_CNT_PREFETCH, "Prefetch"}, 45 #if XCHAL_HW_VERSION >= 270004 46 {XTPERF_CNT_IDMA, "iDMA"}, 47 {XTPERF_CNT_INSN_LENGTH, "Length of Instructions"}, 48 #endif 49 {-1, ""}, 50 }; 51 52 const xtensa_perfmon_masks_t xtensa_perfmon_masks_table[] = { 53 // select, mask, description 54 {XTPERF_CNT_CYCLES, 1, "Amount of cycles"}, 55 {XTPERF_CNT_OVERFLOW, 1, "Overflow counter"}, 56 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_JX, "JX instructions"}, 57 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_CALLX, "CALLXn instructions"}, 58 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_RET, "return instructions (RET, RETW, ...)"}, 59 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_RF, "supervisor return instructions (RFDE, RFE, RFI, RFWO, RFWU)"}, 60 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_TAKEN, "Conditional branch instructions where execution"}, 61 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_TAKEN, "transfers to the target (aka. taken branch),"}, 62 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_TAKEN, " or loopgtz/loopnez instr where execution skips"}, 63 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_TAKEN, " the loop (aka. not-taken loop)"}, 64 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_J, "J instr"}, 65 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_CALL, "CALLn instr"}, 66 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_NOT_TAKEN, "Conditional branch instr where execution"}, 67 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_NOT_TAKEN, " falls through (aka. not-taken branch)"}, 68 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_TAKEN, "Loop instr where execution falls into loop (aka. taken loop)"}, 69 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_BEG, "Last inst of loop and execution transfers"}, 70 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_BEG, " to LBEG (aka. loopback taken)"}, 71 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_END, "Last inst of loop and execution falls "}, 72 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_END, " through to LEND (aka. loopback fallthrough)"}, 73 {XTPERF_CNT_INSN, XTPERF_MASK_INSN_NON_BRANCH, "Non-branch instr (aka. non-CTI)"}, 74 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_STORE_BUF_FULL, "Store buffer full stall"}, 75 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_STORE_BUF_CONFLICT, "Store buffer conflict stall"}, 76 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_CACHE_MISS, "Data Cache-miss stall (unused)"}, 77 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_BUSY, "Data RAM/ROM/XLMI busy stall"}, 78 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_IN_PIF, "Data inbound-PIF request stall (includes s32c1i)"}, 79 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_MHT_LOOKUP, "MHT lookup stall"}, 80 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_UNCACHED_LOAD, "Uncached load stall (included in MHT lookup stall below)"}, 81 {XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_BANK_CONFLICT, "Bank-conflict stall"}, 82 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_CACHE_MISS, "ICache-miss stall"}, 83 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_BUSY, "Instruction RAM/ROM busy stall"}, 84 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_IN_PIF, "Instruction RAM inbound-PIF request stall"}, 85 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_TIE_PORT, "TIE port stall"}, 86 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_EXTERNAL_SIGNAL, "External RunStall signal status"}, 87 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_UNCACHED_FETCH, "Uncached fetch stall"}, 88 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_FAST_L32R, "FastL32R stall"}, 89 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_ITERATIVE_MUL, "Iterative multiply stall"}, 90 {XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_ITERATIVE_DIV, "Iterative divide stall"}, 91 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_REPLAYS, "Other Pipeline Replay (i.e. excludes cache miss etc.)"}, 92 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_LEVEL1_INT, "Level-1 interrupt"}, 93 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_LEVELH_INT, "Greater-than-level-1 interrupt"}, 94 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_DEBUG, "Debug exception"}, 95 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_NMI, "NMI"}, 96 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_WINDOW, "Window exception"}, 97 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_ALLOCA, "Allocate exception"}, 98 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_OTHER, "Other exceptions"}, 99 {XTPERF_CNT_EXR, XTPERF_MASK_EXR_MEM_ERR, "HW-corrected memory error"}, 100 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_PSO, "Processor domain PSO bubble"}, 101 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_D_CACHE_MISS, "R hold caused by Data Cache miss(unused)"}, 102 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_STORE_RELEASE, "R hold caused by Store release"}, 103 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_REG_DEP, "R hold caused by register dependency"}, 104 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_WAIT, "R hold caused by MEMW, EXTW or EXCW"}, 105 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_HALT, "R hold caused by Halt instruction (TX only)"}, 106 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_CTI, "CTI bubble (e.g. branch delay slot)"}, 107 {XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_WAITI, "WAITI bubble i.e. a cycle spent in WaitI power down mode."}, 108 {XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_HITS, "ITLB Hit"}, 109 {XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_REPLAYS, "Replay of instruction due to ITLB miss"}, 110 {XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_REFILLS, "HW-assisted TLB Refill completes"}, 111 {XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_MISSES, "ITLB Miss Exception"}, 112 {XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_CACHE_HITS, "Instruction Cache Hit"}, 113 {XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_CACHE_MISSES, "Instruction Cache Miss"}, 114 {XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_IRAM, "All InstRAM or InstROM accesses"}, 115 {XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_BYPASS, "Bypass (i.e. uncached) fetch"}, 116 {XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_HITS, "DTLB Hit"}, 117 {XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_REPLAYS, "Replay of load/store due to DTLB miss"}, 118 {XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_REFILLS, "HW-assisted TLB Refill completes"}, 119 {XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_MISSES, "DTLB Miss Exception"}, 120 {XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_CACHE_HITS, "Data Cache Hit(unused)"}, 121 {XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_CACHE_MISSES, "Data Cache Miss(unused)"}, 122 {XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_LOCAL_MEM, "Load from local memory i.e. DataRAM, DataROM, InstRAM, InstROM"}, 123 {XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_BYPASS, "Bypass (i.e. uncached) load"}, 124 {XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_CACHE_HITS, "Data Cache Hit(unused)"}, 125 {XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_CACHE_MISSES, "Data Cache Miss(unused)"}, 126 {XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_LOCAL_MEM, "Load from local memory i.e. DataRAM, DataROM, InstRAM, InstROM"}, 127 {XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_BYPASS, "Bypass (i.e. uncached) load"}, 128 {XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_CACHE_HITS, "Data Cache Hit (unused)"}, 129 {XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_CACHE_MISSES, "Data Cache Miss (unused)"}, 130 {XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_LOCAL_MEM, "Load from local memory i.e. DataRAM, DataROM, InstRAM, InstROM"}, 131 {XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_BYPASS, "Bypass (i.e. uncached) load"}, 132 {XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_CACHE_HITS, "Data Cache Hit (unused)"}, 133 {XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_CACHE_MISSES, "Data Cache Miss (unused)"}, 134 {XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_LOCAL_MEM, "Store to local memory i.e. DataRAM, InstRAM"}, 135 {XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_PIF, "PIF Store"}, 136 {XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_CACHE_HITS, "Data Cache Hit(unused)"}, 137 {XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_CACHE_MISSES, "Data Cache Miss(unused)"}, 138 {XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_LOCAL_MEM, "Store to local memory i.e. DataRAM, InstRAM"}, 139 {XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_PIF, "PIF Store"}, 140 {XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_CACHE_HITS, "Data Cache Hit (unused)"}, 141 {XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_CACHE_MISSES, "Data Cache Miss (unused)"}, 142 {XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_LOCAL_MEM, "Store to local memory i.e. DataRAM, InstRAM"}, 143 {XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_PIF, "PIF Store"}, 144 {XTPERF_CNT_D_ACCESS_U1, XTPERF_MASK_D_ACCESS_CACHE_MISSES, "Cache Miss"}, 145 {XTPERF_CNT_D_ACCESS_U2, XTPERF_MASK_D_ACCESS_CACHE_MISSES, "Cache Miss"}, 146 {XTPERF_CNT_D_ACCESS_U3, XTPERF_MASK_D_ACCESS_CACHE_MISSES, "Cache Miss"}, 147 {XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_0S_0L, "0 stores and 0 loads"}, 148 {XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_0S_1L, "0 stores and 1 loads"}, 149 {XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_1S_0L, "1 stores and 0 loads"}, 150 {XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_1S_1L, "1 stores and 1 loads"}, 151 {XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_0S_2L, "0 stores and 2 loads"}, 152 {XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_2S_0L, "2 stores and 0 loads"}, 153 {XTPERF_CNT_OUTBOUND_PIF, XTPERF_MASK_OUTBOUND_PIF_CASTOUT, "Castout"}, 154 {XTPERF_CNT_OUTBOUND_PIF, XTPERF_MASK_OUTBOUND_PIF_PREFETCH, "Prefetch"}, 155 {XTPERF_CNT_INBOUND_PIF, XTPERF_MASK_INBOUND_PIF_I_DMA, "Data DMA"}, 156 {XTPERF_CNT_INBOUND_PIF, XTPERF_MASK_INBOUND_PIF_D_DMA, "Instruction DMA"}, 157 {XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_I_HIT, "I prefetch-buffer-lookup hit"}, 158 {XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_D_HIT, "D prefetch-buffer-lookup hit"}, 159 {XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_I_MISS, "I prefetch-buffer-lookup miss"}, 160 {XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_D_MISS, "D prefetch-buffer-lookup miss"}, 161 {XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_D_L1_FILL, "Direct fill to (L1) Data Cache (unused)"}, 162 #if XCHAL_HW_VERSION >= 270004 163 {XTPERF_CNT_IDMA, XTPERF_MASK_IDMA_ACTIVE_CYCLES, "active cycles"}, 164 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_16, "16-bit"}, 165 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_24, "24-bit"}, 166 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_32, "32-bit"}, 167 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_40, "40-bit"}, 168 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_48, "48-bit"}, 169 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_56, "56-bit"}, 170 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_64, "64-bit"}, 171 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_72, "72-bit"}, 172 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_80, "80-bit"}, 173 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_88, "88-bit"}, 174 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_96, "96-bit"}, 175 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_104, "104-bit"}, 176 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_112, "112-bit"}, 177 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_120, "120-bit"}, 178 {XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_128, "128-bit"}, 179 #endif 180 {-1, 0, ""}, 181 }; 182 183 // All availible combinations 184 const uint32_t xtensa_perfmon_select_mask_all[MAX_PERFMON_EVENTS * 2] = { 185 XTPERF_CNT_CYCLES, XTPERF_MASK_CYCLES, 186 XTPERF_CNT_OVERFLOW, XTPERF_MASK_OVERFLOW, 187 XTPERF_CNT_INSN, XTPERF_MASK_INSN_JX, 188 XTPERF_CNT_INSN, XTPERF_MASK_INSN_CALLX, 189 XTPERF_CNT_INSN, XTPERF_MASK_INSN_RET, 190 XTPERF_CNT_INSN, XTPERF_MASK_INSN_RF, 191 XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_TAKEN, 192 XTPERF_CNT_INSN, XTPERF_MASK_INSN_J, 193 XTPERF_CNT_INSN, XTPERF_MASK_INSN_CALL, 194 XTPERF_CNT_INSN, XTPERF_MASK_INSN_BRANCH_NOT_TAKEN, 195 XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_TAKEN, 196 XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_BEG, 197 XTPERF_CNT_INSN, XTPERF_MASK_INSN_LOOP_END, 198 XTPERF_CNT_INSN, XTPERF_MASK_INSN_NON_BRANCH, 199 XTPERF_CNT_INSN, XTPERF_MASK_INSN_ALL, 200 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_STORE_BUF_FULL, 201 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_STORE_BUF_CONFLICT, 202 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_CACHE_MISS, 203 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_BUSY, 204 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_IN_PIF, 205 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_MHT_LOOKUP, 206 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_UNCACHED_LOAD, 207 XTPERF_CNT_D_STALL, XTPERF_MASK_D_STALL_BANK_CONFLICT, 208 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_CACHE_MISS, 209 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_BUSY, 210 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_IN_PIF, 211 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_TIE_PORT, 212 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_EXTERNAL_SIGNAL, 213 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_UNCACHED_FETCH, 214 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_FAST_L32R, 215 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_ITERATIVE_MUL, 216 XTPERF_CNT_I_STALL, XTPERF_MASK_I_STALL_ITERATIVE_DIV, 217 XTPERF_CNT_EXR, XTPERF_MASK_EXR_REPLAYS, 218 XTPERF_CNT_EXR, XTPERF_MASK_EXR_LEVEL1_INT, 219 XTPERF_CNT_EXR, XTPERF_MASK_EXR_LEVELH_INT, 220 XTPERF_CNT_EXR, XTPERF_MASK_EXR_DEBUG, 221 XTPERF_CNT_EXR, XTPERF_MASK_EXR_NMI, 222 XTPERF_CNT_EXR, XTPERF_MASK_EXR_WINDOW, 223 XTPERF_CNT_EXR, XTPERF_MASK_EXR_ALLOCA, 224 XTPERF_CNT_EXR, XTPERF_MASK_EXR_OTHER, 225 XTPERF_CNT_EXR, XTPERF_MASK_EXR_MEM_ERR, 226 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_PSO, 227 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_D_CACHE_MISS, 228 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_STORE_RELEASE, 229 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_REG_DEP, 230 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_WAIT, 231 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_R_HOLD_HALT, 232 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_CTI, 233 XTPERF_CNT_BUBBLES, XTPERF_MASK_BUBBLES_WAITI, 234 XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_HITS, 235 XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_REPLAYS, 236 XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_REFILLS, 237 XTPERF_CNT_I_TLB, XTPERF_MASK_I_TLB_MISSES, 238 XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_CACHE_HITS, 239 XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_CACHE_MISSES, 240 XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_IRAM, 241 XTPERF_CNT_I_MEM, XTPERF_MASK_I_MEM_BYPASS, 242 XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_HITS, 243 XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_REPLAYS, 244 XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_REFILLS, 245 XTPERF_CNT_D_TLB, XTPERF_MASK_D_TLB_MISSES, 246 XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_CACHE_HITS, 247 XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_CACHE_MISSES, 248 XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_LOCAL_MEM, 249 XTPERF_CNT_D_LOAD_U1, XTPERF_MASK_D_LOAD_BYPASS, 250 XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_CACHE_HITS, 251 XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_CACHE_MISSES, 252 XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_LOCAL_MEM, 253 XTPERF_CNT_D_LOAD_U2, XTPERF_MASK_D_LOAD_BYPASS, 254 XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_CACHE_HITS, 255 XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_CACHE_MISSES, 256 XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_LOCAL_MEM, 257 XTPERF_CNT_D_LOAD_U3, XTPERF_MASK_D_LOAD_BYPASS, 258 XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_CACHE_HITS, 259 XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_CACHE_MISSES, 260 XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_LOCAL_MEM, 261 XTPERF_CNT_D_STORE_U1, XTPERF_MASK_D_STORE_PIF, 262 XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_CACHE_HITS, 263 XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_CACHE_MISSES, 264 XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_LOCAL_MEM, 265 XTPERF_CNT_D_STORE_U2, XTPERF_MASK_D_STORE_PIF, 266 XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_CACHE_HITS, 267 XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_CACHE_MISSES, 268 XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_LOCAL_MEM, 269 XTPERF_CNT_D_STORE_U3, XTPERF_MASK_D_STORE_PIF, 270 XTPERF_CNT_D_ACCESS_U1, XTPERF_MASK_D_ACCESS_CACHE_MISSES, 271 XTPERF_CNT_D_ACCESS_U2, XTPERF_MASK_D_ACCESS_CACHE_MISSES, 272 XTPERF_CNT_D_ACCESS_U3, XTPERF_MASK_D_ACCESS_CACHE_MISSES, 273 XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_0S_0L, 274 XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_0S_1L, 275 XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_1S_0L, 276 XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_1S_1L, 277 XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_0S_2L, 278 XTPERF_CNT_MULTIPLE_LS, XTPERF_MASK_MULTIPLE_LS_2S_0L, 279 XTPERF_CNT_OUTBOUND_PIF, XTPERF_MASK_OUTBOUND_PIF_CASTOUT, 280 XTPERF_CNT_OUTBOUND_PIF, XTPERF_MASK_OUTBOUND_PIF_PREFETCH, 281 XTPERF_CNT_INBOUND_PIF, XTPERF_MASK_INBOUND_PIF_I_DMA, 282 XTPERF_CNT_INBOUND_PIF, XTPERF_MASK_INBOUND_PIF_D_DMA, 283 XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_I_HIT, 284 XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_D_HIT, 285 XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_I_MISS, 286 XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_D_MISS, 287 XTPERF_CNT_PREFETCH, XTPERF_MASK_PREFETCH_D_L1_FILL, 288 #if XCHAL_HW_VERSION >= 270004 289 XTPERF_CNT_IDMA, XTPERF_MASK_IDMA_ALL, 290 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_16, 291 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_24, 292 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_32, 293 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_40, 294 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_48, 295 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_56, 296 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_64, 297 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_72, 298 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_80, 299 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_88, 300 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_96, 301 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_104, 302 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_112, 303 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_120, 304 XTPERF_CNT_INSN_LENGTH, XTPERF_MASK_INSN_LENGTH_128 305 #endif 306 }; 307