PAPI 7.1.0.0
Loading...
Searching...
No Matches
gen_mips64_events.h
Go to the documentation of this file.
2 {.pme_name="INSN_REQ_FROM_IFU_TO_BIU",
3 .pme_code = 0x00000009,
4 .pme_counters = 0x1,
5 .pme_desc = "Instruction requests from the IFU to the BIU"
6 },
7 {.pme_name="BRANCHES_MISSPREDICTED",
8 .pme_code = 0x00000005,
9 .pme_counters = 0x1,
10 .pme_desc = "Branches that mispredicted before completing execution"
11 },
12 {.pme_name="REPLAYS",
13 .pme_code = 0x0000000b,
14 .pme_counters = 0x1,
15 .pme_desc = "Total number of LSU requested replays, Load-dependent speculative dispatch or FPU exception prediction replays."
16 },
17 {.pme_name="JR_INSNS_COMPLETED",
18 .pme_code = 0x0000000d,
19 .pme_counters = 0x1,
20 .pme_desc = "JR instruction that completed execution"
21 },
22 {.pme_name="CYCLES",
23 .pme_code = 0x00000000,
24 .pme_counters = 0x1,
25 .pme_desc = "CPU cycles"
26 },
27 {.pme_name="REPLAY_DUE_TO_LOAD_DEPENDENT_SPEC_DISPATCH",
28 .pme_code = 0x00000008,
29 .pme_counters = 0x1,
30 .pme_desc = "Replays due to load-dependent speculative dispatch"
31 },
32 {.pme_name="LSU_REPLAYS",
33 .pme_code = 0x0000000e,
34 .pme_counters = 0x1,
35 .pme_desc = "LSU requested replays"
36 },
37 {.pme_name="FP_INSNS_COMPLETED",
38 .pme_code = 0x00000003,
39 .pme_counters = 0x1,
40 .pme_desc = "Instructions completed in FPU datapath (computational event"
41 },
42 {.pme_name="FPU_EXCEPTIONS_TAKEN",
43 .pme_code = 0x0000000a,
44 .pme_counters = 0x1,
45 .pme_desc = "Taken FPU exceptions"
46 },
47 {.pme_name="TLB_REFILLS_TAKEN",
48 .pme_code = 0x00000004,
49 .pme_counters = 0x1,
50 .pme_desc = "Taken TLB refill exceptions"
51 },
52 {.pme_name="RPS_MISSPREDICTS",
53 .pme_code = 0x0000000c,
54 .pme_counters = 0x1,
55 .pme_desc = "JR instructions that mispredicted using the Return Prediction Stack (RPS)"
56 },
57 {.pme_name="INSN_ISSUED",
58 .pme_code = 0x00000001,
59 .pme_counters = 0x1,
60 .pme_desc = "Dispatched/issued instructions"
61 },
62 {.pme_name="INSNS_COMPLETED",
63 .pme_code = 0x0000000f,
64 .pme_counters = 0x1,
65 .pme_desc = "Instruction that completed execution (with or without exception)"
66 },
67 {.pme_name="BRANCHES_COMPLETED",
68 .pme_code = 0x00000006,
69 .pme_counters = 0x1,
70 .pme_desc = "Branches that completed execution"
71 },
72 {.pme_name="JTLB_EXCEPTIONS",
73 .pme_code = 0x00000007,
74 .pme_counters = 0x1,
75 .pme_desc = "Taken Joint-TLB exceptions"
76 },
77 {.pme_name="FETCH_GROUPS",
78 .pme_code = 0x00000002,
79 .pme_counters = 0x1,
80 .pme_desc = "Fetch groups entering CPU execution pipes"
81 },
82};
83
85 {.pme_name="DCACHE_MISS",
86 .pme_code = 0x00000b0b,
87 .pme_counters = 0x3,
88 .pme_desc = "Data cache misses"
89 },
90 {.pme_name="REPLAY_TRAPS_NOT_UTLB",
91 .pme_code = 0x00001200,
92 .pme_counters = 0x2,
93 .pme_desc = "``replay traps'' (other than micro-TLB related)"
94 },
95 {.pme_name="ITLB_ACCESSES",
96 .pme_code = 0x00000005,
97 .pme_counters = 0x1,
98 .pme_desc = "Instruction micro-TLB accesses"
99 },
100 {.pme_name="INSTRUCTIONS",
101 .pme_code = 0x00000101,
102 .pme_counters = 0x3,
103 .pme_desc = "Instructions completed"
104 },
105 {.pme_name="LOADS_COMPLETED",
106 .pme_code = 0x0000000f,
107 .pme_counters = 0x1,
108 .pme_desc = "Loads completed (including FP)"
109 },
110 {.pme_name="SC_COMPLETE_BUT_FAILED",
111 .pme_code = 0x00001300,
112 .pme_counters = 0x2,
113 .pme_desc = "sc instructions completed, but store failed (because the link bit had been cleared)."
114 },
115 {.pme_name="JTLB_DATA_MISSES",
116 .pme_code = 0x00000800,
117 .pme_counters = 0x2,
118 .pme_desc = "Joint TLB data (non-instruction) misses"
119 },
120 {.pme_name="L2_MISSES",
121 .pme_code = 0x00001616,
122 .pme_counters = 0x3,
123 .pme_desc = "L2 cache misses"
124 },
125 {.pme_name="SC_COMPLETED",
126 .pme_code = 0x00000013,
127 .pme_counters = 0x1,
128 .pme_desc = "sc instructions completed"
129 },
130 {.pme_name="SUPERFLUOUS_INSTRUCTIONS",
131 .pme_code = 0x00001400,
132 .pme_counters = 0x2,
133 .pme_desc = "``superfluous'' prefetch instructions (data was already in cache)."
134 },
135 {.pme_name="DCACHE_WRITEBACKS",
136 .pme_code = 0x00000a00,
137 .pme_counters = 0x2,
138 .pme_desc = "Data cache writebacks"
139 },
140 {.pme_name="JR_31_MISSPREDICTS",
141 .pme_code = 0x00000300,
142 .pme_counters = 0x2,
143 .pme_desc = "jr r31 (return) mispredictions"
144 },
145 {.pme_name="JTLB_DATA_ACCESSES",
146 .pme_code = 0x00000007,
147 .pme_counters = 0x1,
148 .pme_desc = "Joint TLB instruction accesses"
149 },
150 {.pme_name="ICACHE_MISSES",
151 .pme_code = 0x00000900,
152 .pme_counters = 0x2,
153 .pme_desc = "Instruction cache misses"
154 },
155 {.pme_name="STALLS",
156 .pme_code = 0x00000012,
157 .pme_counters = 0x1,
158 .pme_desc = "Stalls"
159 },
160 {.pme_name="INTEGER_INSNS_COMPLETED",
161 .pme_code = 0x0000000e,
162 .pme_counters = 0x1,
163 .pme_desc = "Integer instructions completed"
164 },
165 {.pme_name="INTEGER_MUL_DIV_COMPLETED",
166 .pme_code = 0x00001100,
167 .pme_counters = 0x2,
168 .pme_desc = "integer multiply/divide unit instructions completed"
169 },
170 {.pme_name="STORES_COMPLETED",
171 .pme_code = 0x00000f00,
172 .pme_counters = 0x2,
173 .pme_desc = "Stores completed (including FP)"
174 },
175 {.pme_name="MIPS16_INSTRUCTIONS_COMPLETED",
176 .pme_code = 0x00001000,
177 .pme_counters = 0x2,
178 .pme_desc = "MIPS16 instructions completed"
179 },
180 {.pme_name="BRANCHES_LAUNCHED",
181 .pme_code = 0x00000002,
182 .pme_counters = 0x1,
183 .pme_desc = "Branch instructions launched (whether completed or mispredicted)"
184 },
185 {.pme_name="SCACHE_ACCESSES",
186 .pme_code = 0x00001500,
187 .pme_counters = 0x2,
188 .pme_desc = "L2 cache accesses"
189 },
190 {.pme_name="JR_31_LAUNCHED",
191 .pme_code = 0x00000003,
192 .pme_counters = 0x1,
193 .pme_desc = "jr r31 (return) instructions launched (whether completed or mispredicted)"
194 },
195 {.pme_name="PREFETCH_COMPLETED",
196 .pme_code = 0x00000014,
197 .pme_counters = 0x1,
198 .pme_desc = "Prefetch instructions completed"
199 },
200 {.pme_name="EXCEPTIONS_TAKEN",
201 .pme_code = 0x00000017,
202 .pme_counters = 0x1,
203 .pme_desc = "Exceptions taken"
204 },
205 {.pme_name="JR_NON_31_LAUNCHED",
206 .pme_code = 0x00000004,
207 .pme_counters = 0x1,
208 .pme_desc = "jr (not r31) issues, which cost the same as a mispredict."
209 },
210 {.pme_name="DTLB_ACCESSES",
211 .pme_code = 0x00000006,
212 .pme_counters = 0x1,
213 .pme_desc = "Data micro-TLB accesses"
214 },
215 {.pme_name="JTLB_INSTRUCTION_ACCESSES",
216 .pme_code = 0x00000008,
217 .pme_counters = 0x1,
218 .pme_desc = "Joint TLB data (non-instruction) accesses"
219 },
220 {.pme_name="CACHE_FIXUPS",
221 .pme_code = 0x00000018,
222 .pme_counters = 0x1,
223 .pme_desc = "``cache fixup'' events (specific to the 24K family microarchitecture)."
224 },
225 {.pme_name="INSTRUCTION_CACHE_ACCESSES",
226 .pme_code = 0x00000009,
227 .pme_counters = 0x1,
228 .pme_desc = "Instruction cache accesses"
229 },
230 {.pme_name="DTLB_MISSES",
231 .pme_code = 0x00000600,
232 .pme_counters = 0x2,
233 .pme_desc = "Data micro-TLB misses"
234 },
235 {.pme_name="J_JAL_INSNS_COMPLETED",
236 .pme_code = 0x00000010,
237 .pme_counters = 0x1,
238 .pme_desc = "j/jal instructions completed"
239 },
240 {.pme_name="DCACHE_ACCESSES",
241 .pme_code = 0x0000000a,
242 .pme_counters = 0x1,
243 .pme_desc = "Data cache accesses"
244 },
245 {.pme_name="BRANCH_MISSPREDICTS",
246 .pme_code = 0x00000200,
247 .pme_counters = 0x2,
248 .pme_desc = "Branch mispredictions"
249 },
250 {.pme_name="SCACHE_WRITEBACKS",
251 .pme_code = 0x00000015,
252 .pme_counters = 0x1,
253 .pme_desc = "L2 cache writebacks"
254 },
255 {.pme_name="CYCLES",
256 .pme_code = 0x00000000,
257 .pme_counters = 0x3,
258 .pme_desc = "Cycles"
259 },
260 {.pme_name="JTLB_INSN_MISSES",
261 .pme_code = 0x00000700,
262 .pme_counters = 0x2,
263 .pme_desc = "Joint TLB instruction misses"
264 },
265 {.pme_name="FPU_INSNS_NON_LOAD_STORE_COMPLETED",
266 .pme_code = 0x00000e00,
267 .pme_counters = 0x2,
268 .pme_desc = "FPU instructions completed (not including loads/stores)"
269 },
270 {.pme_name="NOPS_COMPLETED",
271 .pme_code = 0x00000011,
272 .pme_counters = 0x1,
273 .pme_desc = "no-ops completed, ie instructions writing $0"
274 },
275 {.pme_name="ITLB_MISSES",
276 .pme_code = 0x00000500,
277 .pme_counters = 0x2,
278 .pme_desc = "Instruction micro-TLB misses"
279 },
280};
281
283 {.pme_name="INSNS_FETCHED_FROM_ICACHE",
284 .pme_code = 0x00001818,
285 .pme_counters = 0x3,
286 .pme_desc = "Total number of instructions fetched from the I-Cache"
287 },
288 {.pme_name="FP_EXCEPTIONS_TAKEN",
289 .pme_code = 0x00000b0b,
290 .pme_counters = 0x3,
291 .pme_desc = "Taken FPU exceptions"
292 },
293 {.pme_name="INSN_ISSUED",
294 .pme_code = 0x00000101,
295 .pme_counters = 0x3,
296 .pme_desc = "Dispatched/issued instructions"
297 },
298 {.pme_name="STORE_INSNS_ISSUED",
299 .pme_code = 0x00000505,
300 .pme_counters = 0x3,
301 .pme_desc = "Store instructions issued"
302 },
303 {.pme_name="L2_MISSES",
304 .pme_code = 0x00001e1e,
305 .pme_counters = 0x3,
306 .pme_desc = "L2 Cache miss"
307 },
308 {.pme_name="REPLAYS_LOAD_DEP_DISPATCH",
309 .pme_code = 0x00002323,
310 .pme_counters = 0x3,
311 .pme_desc = "replays due to load-dependent speculative dispatch"
312 },
313 {.pme_name="BRANCHES_JUMPS_ISSUED",
314 .pme_code = 0x00000606,
315 .pme_counters = 0x3,
316 .pme_desc = "Branch/Jump instructions issued"
317 },
318 {.pme_name="REPLAYS_LSU_LOAD_DEP_FPU",
319 .pme_code = 0x00002121,
320 .pme_counters = 0x3,
321 .pme_desc = "LSU requested replays, load-dependent speculative dispatch, FPU exception prediction"
322 },
323 {.pme_name="INSNS_COMPLETE",
324 .pme_code = 0x00000808,
325 .pme_counters = 0x3,
326 .pme_desc = "Instruction that completed execution (with or without exception)"
327 },
328 {.pme_name="JTLB_MISSES_LOADS_STORES",
329 .pme_code = 0x00001313,
330 .pme_counters = 0x3,
331 .pme_desc = "Raw count of Joint-TLB misses for loads/stores"
332 },
333 {.pme_name="CACHEABLE_DCACHE_REQUEST",
334 .pme_code = 0x00001d1d,
335 .pme_counters = 0x3,
336 .pme_desc = "number of cacheable requests to D-Cache"
337 },
338 {.pme_name="DCACHE_WRITEBACKS",
339 .pme_code = 0x00001c1c,
340 .pme_counters = 0x3,
341 .pme_desc = "D-Cache number of write-backs"
342 },
343 {.pme_name="ICACHE_MISSES",
344 .pme_code = 0x00001a1a,
345 .pme_counters = 0x3,
346 .pme_desc = "I-Cache miss"
347 },
348 {.pme_name="ICACHE_PSEUDO_HITS",
349 .pme_code = 0x00002626,
350 .pme_counters = 0x3,
351 .pme_desc = "I-Cache pseudo-hits"
352 },
353 {.pme_name="FP_EXCEPTION_PREDICTED",
354 .pme_code = 0x00000c0c,
355 .pme_counters = 0x3,
356 .pme_desc = "Predicted FPU exceptions"
357 },
358 {.pme_name="LOAD_STORE_ISSUED",
359 .pme_code = 0x00002727,
360 .pme_counters = 0x3,
361 .pme_desc = "Load/store instructions issued"
362 },
363 {.pme_name="REPLAYS_WBB_FULL",
364 .pme_code = 0x00002424,
365 .pme_counters = 0x3,
366 .pme_desc = "replays due to WBB full"
367 },
368 {.pme_name="L2_WBACKS",
369 .pme_code = 0x00001f1f,
370 .pme_counters = 0x3,
371 .pme_desc = "L2 Cache number of write-backs"
372 },
373 {.pme_name="JR_COMPLETED",
374 .pme_code = 0x00001010,
375 .pme_counters = 0x3,
376 .pme_desc = "JR instruction that completed execution"
377 },
378 {.pme_name="JR_RPD_MISSPREDICTED",
379 .pme_code = 0x00000f0f,
380 .pme_counters = 0x3,
381 .pme_desc = "JR instructions that mispredicted using the Return Prediction Stack"
382 },
383 {.pme_name="JTLB_IFETCH_REFILL_EXCEPTIONS",
384 .pme_code = 0x00001515,
385 .pme_counters = 0x3,
386 .pme_desc = "Joint-TLB refill exceptions due to instruction fetch"
387 },
388 {.pme_name="DUAL_ISSUED_PAIRS",
389 .pme_code = 0x00000707,
390 .pme_counters = 0x3,
391 .pme_desc = "Dual-issued pairs"
392 },
393 {.pme_name="FSB_FULL_REPLAYS",
394 .pme_code = 0x00002525,
395 .pme_counters = 0x3,
396 .pme_desc = "replays due to FSB full"
397 },
398 {.pme_name="JTLB_REFILL_EXCEPTIONS",
399 .pme_code = 0x00001717,
400 .pme_counters = 0x3,
401 .pme_desc = "total Joint-TLB Instruction exceptions (refill)"
402 },
403 {.pme_name="INT_INSNS_ISSUED",
404 .pme_code = 0x00000303,
405 .pme_counters = 0x3,
406 .pme_desc = "Integer instructions issued"
407 },
408 {.pme_name="FP_INSNS_ISSUED",
409 .pme_code = 0x00000202,
410 .pme_counters = 0x3,
411 .pme_desc = "FPU instructions issued"
412 },
413 {.pme_name="BRANCHES_MISSPREDICTED",
414 .pme_code = 0x00000d0d,
415 .pme_counters = 0x3,
416 .pme_desc = "Branches that mispredicted before completing execution"
417 },
418 {.pme_name="FETCH_GROUPS_IN_PIPE",
419 .pme_code = 0x00000909,
420 .pme_counters = 0x3,
421 .pme_desc = "Fetch groups entering CPU execution pipes"
422 },
423 {.pme_name="CACHEABLE_L2_REQS",
424 .pme_code = 0x00002020,
425 .pme_counters = 0x3,
426 .pme_desc = "Number of cacheable requests to L2"
427 },
428 {.pme_name="JTLB_DATA_ACCESS_REFILL_EXCEPTIONS",
429 .pme_code = 0x00001616,
430 .pme_counters = 0x3,
431 .pme_desc = "Joint-TLB refill exceptions due to data access"
432 },
433 {.pme_name="UTLB_MISSES",
434 .pme_code = 0x00001111,
435 .pme_counters = 0x3,
436 .pme_desc = "U-TLB misses"
437 },
438 {.pme_name="LOAD_INSNS_ISSUED",
439 .pme_code = 0x00000404,
440 .pme_counters = 0x3,
441 .pme_desc = "Load instructions issued"
442 },
443 {.pme_name="JTLB_MISSES_IFETCH",
444 .pme_code = 0x00001212,
445 .pme_counters = 0x3,
446 .pme_desc = "Raw count of Joint-TLB misses for instruction fetch"
447 },
448 {.pme_name="CYCLES",
449 .pme_code = 0x00000000,
450 .pme_counters = 0x3,
451 .pme_desc = "CPU cycles"
452 },
453 {.pme_name="LSU_REQ_REPLAYS",
454 .pme_code = 0x00002222,
455 .pme_counters = 0x3,
456 .pme_desc = "LSU requested replays"
457 },
458 {.pme_name="INSN_REQ_FROM_IFU_BIU",
459 .pme_code = 0x00001919,
460 .pme_counters = 0x3,
461 .pme_desc = "instruction requests from the IFU to the BIU"
462 },
463 {.pme_name="JTLB_EXCEPTIONS",
464 .pme_code = 0x00001414,
465 .pme_counters = 0x3,
466 .pme_desc = "Refill, Invalid and Modified TLB exceptions"
467 },
468 {.pme_name="BRANCHES_COMPLETED",
469 .pme_code = 0x00000e0e,
470 .pme_counters = 0x3,
471 .pme_desc = "Branches that completed execution"
472 },
473 {.pme_name="INSN_FP_DATAPATH_COMPLETED",
474 .pme_code = 0x00000a0a,
475 .pme_counters = 0x3,
476 .pme_desc = "Instructions completed in FPU datapath (computational instructions only)"
477 },
478 {.pme_name="DCACHE_MISSES",
479 .pme_code = 0x00001b1b,
480 .pme_counters = 0x3,
481 .pme_desc = "D-Cache miss"
482 },
483};
484
486 {.pme_name="YIELD_INSNS",
487 .pme_code = 0x00220022,
488 .pme_counters = 0x5,
489 .pme_desc = "yield instructions."
490 },
491 {.pme_name="BRANCH_MISPREDICT_STALLS",
492 .pme_code = 0x002e002e,
493 .pme_counters = 0x5,
494 .pme_desc = "Branch mispredict stalls"
495 },
496 {.pme_name="SC_FAILED_INSNS",
497 .pme_code = 0x00130013,
498 .pme_counters = 0x5,
499 .pme_desc = "sc instructions completed, but store failed (because the link bit had been cleared)."
500 },
501 {.pme_name="ITC_LOAD_STORE_STALLS",
502 .pme_code = 0x00280028,
503 .pme_counters = 0x5,
504 .pme_desc = "ITC load/store stalls"
505 },
506 {.pme_name="ITC_LOADS",
507 .pme_code = 0x00200020,
508 .pme_counters = 0x5,
509 .pme_desc = "ITC Loads"
510 },
511 {.pme_name="LOADS_COMPLETED",
512 .pme_code = 0x000f000f,
513 .pme_counters = 0x5,
514 .pme_desc = "Loads completed (including FP)"
515 },
516 {.pme_name="BRANCH_INSNS_LAUNCHED",
517 .pme_code = 0x00020002,
518 .pme_counters = 0x5,
519 .pme_desc = "Branch instructions launched (whether completed or mispredicted)"
520 },
521 {.pme_name="DATA_SIDE_SCRATCHPAD_ACCESS_STALLS",
522 .pme_code = 0x002b002b,
523 .pme_counters = 0x5,
524 .pme_desc = "Data-side scratchpad access stalls"
525 },
526 {.pme_name="FB_ENTRY_ALLOCATED",
527 .pme_code = 0x00300030,
528 .pme_counters = 0x5,
529 .pme_desc = "FB entry allocated"
530 },
531 {.pme_name="CP2_STALLS",
532 .pme_code = 0x002a002a,
533 .pme_counters = 0x5,
534 .pme_desc = "CP2 stalls"
535 },
536 {.pme_name="FSB_25_50_FULL",
537 .pme_code = 0x00320032,
538 .pme_counters = 0x5,
539 .pme_desc = "FSB 25-50% full"
540 },
541 {.pme_name="CACHE_FIXUP_EVENTS",
542 .pme_code = 0x00180018,
543 .pme_counters = 0x5,
544 .pme_desc = "cache fixup events (specific to the 34K family microarchitecture)"
545 },
546 {.pme_name="IFU_FB_FULL_REFETCHES",
547 .pme_code = 0x00300030,
548 .pme_counters = 0x5,
549 .pme_desc = "IFU FB full re-fetches"
550 },
551 {.pme_name="L1_DCACHE_MISS_STALLS",
552 .pme_code = 0x00250025,
553 .pme_counters = 0x5,
554 .pme_desc = "L1 D-cache miss stalls"
555 },
556 {.pme_name="INT_MUL_DIV_UNIT_INSNS_COMPLETED",
557 .pme_code = 0x00110011,
558 .pme_counters = 0x5,
559 .pme_desc = "integer multiply/divide unit instructions completed"
560 },
561 {.pme_name="JTLB_INSN_ACCESSES",
562 .pme_code = 0x00070007,
563 .pme_counters = 0x5,
564 .pme_desc = "Joint TLB instruction accesses"
565 },
566 {.pme_name="ALU_STALLS",
567 .pme_code = 0x00190019,
568 .pme_counters = 0x5,
569 .pme_desc = "ALU stalls"
570 },
571 {.pme_name="FPU_STALLS",
572 .pme_code = 0x00290029,
573 .pme_counters = 0x5,
574 .pme_desc = "FPU stalls"
575 },
576 {.pme_name="JTLB_DATA_ACCESSES",
577 .pme_code = 0x00080008,
578 .pme_counters = 0x5,
579 .pme_desc = "Joint TLB data (non-instruction) accesses"
580 },
581 {.pme_name="INTEGER_INSNS_COMPLETED",
582 .pme_code = 0x000e000e,
583 .pme_counters = 0x5,
584 .pme_desc = "Integer instructions completed"
585 },
586 {.pme_name="MFC2_MTC2_INSNS",
587 .pme_code = 0x00230023,
588 .pme_counters = 0x5,
589 .pme_desc = "CP2 move to/from instructions."
590 },
591 {.pme_name="STORES_COMPLETED",
592 .pme_code = 0x000f000f,
593 .pme_counters = 0x5,
594 .pme_desc = "Stores completed (including FP)"
595 },
596 {.pme_name="JR_NON_31_INSN_EXECED",
597 .pme_code = 0x00040004,
598 .pme_counters = 0x5,
599 .pme_desc = "jr $xx (not $31), which cost the same as a mispredict."
600 },
601 {.pme_name="EXCEPTIONS_TAKEN",
602 .pme_code = 0x00170017,
603 .pme_counters = 0x5,
604 .pme_desc = "Exceptions taken"
605 },
606 {.pme_name="L2_MISS_PENDING_CYCLES",
607 .pme_code = 0x00270027,
608 .pme_counters = 0x5,
609 .pme_desc = "Cycles where L2 miss is pending"
610 },
611 {.pme_name="LDQ_FULL_PIPE_STALLS",
612 .pme_code = 0x00350035,
613 .pme_counters = 0x5,
614 .pme_desc = "LDQ full pipeline stalls"
615 },
616 {.pme_name="DTLB_ACCESSES",
617 .pme_code = 0x00060006,
618 .pme_counters = 0x5,
619 .pme_desc = "Data micro-TLB accesses"
620 },
621 {.pme_name="SUPERFLUOUS_PREFETCHES",
622 .pme_code = 0x00140014,
623 .pme_counters = 0x5,
624 .pme_desc = "``superfluous'' prefetch instructions (data was already in cache)."
625 },
626 {.pme_name="LDQ_LESS_25_FULL",
627 .pme_code = 0x00340034,
628 .pme_counters = 0x5,
629 .pme_desc = "LDQ < 25% full"
630 },
631 {.pme_name="FORK_INSTRUCTIONS",
632 .pme_code = 0x00220022,
633 .pme_counters = 0x5,
634 .pme_desc = "fork instructions"
635 },
636 {.pme_name="UNCACHED_LOAD_STALLS",
637 .pme_code = 0x00280028,
638 .pme_counters = 0x5,
639 .pme_desc = "Uncached load stalls"
640 },
641 {.pme_name="FSB_FULL_PIPE_STALLS",
642 .pme_code = 0x00330033,
643 .pme_counters = 0x5,
644 .pme_desc = "FSB full pipeline stalls"
645 },
646 {.pme_name="MDU_STALLS",
647 .pme_code = 0x00290029,
648 .pme_counters = 0x5,
649 .pme_desc = "MDU stalls"
650 },
651 {.pme_name="FSB_LESS_25_FULL",
652 .pme_code = 0x00320032,
653 .pme_counters = 0x5,
654 .pme_desc = "FSB < 25% full"
655 },
656 {.pme_name="UNCACHED_LOADS",
657 .pme_code = 0x00210021,
658 .pme_counters = 0x5,
659 .pme_desc = "Uncached Loads"
660 },
661 {.pme_name="NO_OPS_COMPLETED",
662 .pme_code = 0x00110011,
663 .pme_counters = 0x5,
664 .pme_desc = "no-ops completed, ie instructions writing $0"
665 },
666 {.pme_name="DATA_SIDE_SCRATCHPAD_RAM_LOGIC",
667 .pme_code = 0x001d001d,
668 .pme_counters = 0x5,
669 .pme_desc = "Data-side scratchpad RAM logic"
670 },
671 {.pme_name="CYCLES_INSN_NOT_IN_SKID_BUFFER",
672 .pme_code = 0x00180018,
673 .pme_counters = 0x5,
674 .pme_desc = "Cycles lost when an unblocked thread's instruction isn't in the skid buffer, and must be re-fetched from I-cache."
675 },
676 {.pme_name="ITC_LOGIC",
677 .pme_code = 0x001f001f,
678 .pme_counters = 0x5,
679 .pme_desc = "ITC logic"
680 },
681 {.pme_name="L2_IMISS_STALLS",
682 .pme_code = 0x00260026,
683 .pme_counters = 0x5,
684 .pme_desc = "L2 I-miss stalls"
685 },
686 {.pme_name="DSP_RESULT_SATURATED",
687 .pme_code = 0x00240024,
688 .pme_counters = 0x5,
689 .pme_desc = "DSP result saturated"
690 },
691 {.pme_name="INSTRUCTIONS",
692 .pme_code = 0x01010101,
693 .pme_counters = 0xf,
694 .pme_desc = "Instructions completed"
695 },
696 {.pme_name="ITLB_ACCESSES",
697 .pme_code = 0x00050005,
698 .pme_counters = 0x5,
699 .pme_desc = "Instruction micro-TLB accesses"
700 },
701 {.pme_name="CP2_REG_TO_REG_INSNS",
702 .pme_code = 0x00230023,
703 .pme_counters = 0x5,
704 .pme_desc = "CP2 register-to-register instructions"
705 },
706 {.pme_name="SC_INSNS_COMPLETED",
707 .pme_code = 0x00130013,
708 .pme_counters = 0x5,
709 .pme_desc = "sc instructions completed"
710 },
711 {.pme_name="COREEXTEND_STALLS",
712 .pme_code = 0x002a002a,
713 .pme_counters = 0x5,
714 .pme_desc = "CorExtend stalls"
715 },
716 {.pme_name="LOAD_USE_STALLS",
717 .pme_code = 0x002d002d,
718 .pme_counters = 0x5,
719 .pme_desc = "Load to Use stalls"
720 },
721 {.pme_name="JR_31_INSN_EXECED",
722 .pme_code = 0x00030003,
723 .pme_counters = 0x5,
724 .pme_desc = "jr $31 (return) instructions executed."
725 },
726 {.pme_name="JR_31_MISPREDICTS",
727 .pme_code = 0x00030003,
728 .pme_counters = 0x5,
729 .pme_desc = "jr $31 mispredictions."
730 },
731 {.pme_name="REPLAY_CYCLES",
732 .pme_code = 0x00120012,
733 .pme_counters = 0x5,
734 .pme_desc = "Cycles lost due to ``replays'' - when a thread blocks, its instructions in the pipeline are discarded to allow other threads to advance."
735 },
736 {.pme_name="L2_MISSES",
737 .pme_code = 0x16161616,
738 .pme_counters = 0xf,
739 .pme_desc = "L2 cache misses"
740 },
741 {.pme_name="JTLB_DATA_MISSES",
742 .pme_code = 0x00080008,
743 .pme_counters = 0x5,
744 .pme_desc = "Joint TLB data (non-instruction) misses"
745 },
746 {.pme_name="SYSTEM_INTERFACE",
747 .pme_code = 0x001e001e,
748 .pme_counters = 0x5,
749 .pme_desc = "System interface"
750 },
751 {.pme_name="BRANCH_MISPREDICTS",
752 .pme_code = 0x00020002,
753 .pme_counters = 0x5,
754 .pme_desc = "Branch mispredictions"
755 },
756 {.pme_name="ITC_STORES",
757 .pme_code = 0x00200020,
758 .pme_counters = 0x5,
759 .pme_desc = "ITC Stores"
760 },
761 {.pme_name="LDQ_OVER_50_FULL",
762 .pme_code = 0x00350035,
763 .pme_counters = 0x5,
764 .pme_desc = "LDQ > 50% full"
765 },
766 {.pme_name="FSB_OVER_50_FULL",
767 .pme_code = 0x00330033,
768 .pme_counters = 0x5,
769 .pme_desc = "FSB > 50% full"
770 },
771 {.pme_name="STALLS_NO_ROOM_PENDING_WRITE",
772 .pme_code = 0x002c002c,
773 .pme_counters = 0x5,
774 .pme_desc = "Stalls when no more room to store pending write."
775 },
776 {.pme_name="JR_31_NOT_PREDICTED",
777 .pme_code = 0x00040004,
778 .pme_counters = 0x5,
779 .pme_desc = "jr $31 not predicted (stack mismatch)."
780 },
781 {.pme_name="EXTERNAL_YIELD_MANAGER_LOGIC",
782 .pme_code = 0x001f001f,
783 .pme_counters = 0x5,
784 .pme_desc = "External Yield Manager logic"
785 },
786 {.pme_name="DCACHE_WRITEBACKS",
787 .pme_code = 0x000a000a,
788 .pme_counters = 0x5,
789 .pme_desc = "Data cache writebacks"
790 },
791 {.pme_name="RELAX_BUBBLES",
792 .pme_code = 0x002f002f,
793 .pme_counters = 0x5,
794 .pme_desc = "``Relax bubbles'' - when thread scheduler chooses to schedule nothing to reduce power consumption."
795 },
796 {.pme_name="ICACHE_MISSES",
797 .pme_code = 0x00090009,
798 .pme_counters = 0x5,
799 .pme_desc = "Instruction cache misses"
800 },
801 {.pme_name="MIPS16_INSNS_COMPLETED",
802 .pme_code = 0x00100010,
803 .pme_counters = 0x5,
804 .pme_desc = "MIPS16 instructions completed"
805 },
806 {.pme_name="OTHER_INTERLOCK_STALLS",
807 .pme_code = 0x002e002e,
808 .pme_counters = 0x5,
809 .pme_desc = "Other interlock stalls"
810 },
811 {.pme_name="L2_CACHE_WRITEBACKS",
812 .pme_code = 0x00150015,
813 .pme_counters = 0x5,
814 .pme_desc = "L2 cache writebacks"
815 },
816 {.pme_name="WBB_LESS_25_FULL",
817 .pme_code = 0x00360036,
818 .pme_counters = 0x5,
819 .pme_desc = "WBB < 25% full"
820 },
821 {.pme_name="L2_DCACHE_MISS_STALLS",
822 .pme_code = 0x00260026,
823 .pme_counters = 0x5,
824 .pme_desc = "L2 D-miss stalls"
825 },
826 {.pme_name="CACHE_INSTRUCTION_STALLS",
827 .pme_code = 0x002c002c,
828 .pme_counters = 0x5,
829 .pme_desc = "Stalls due to cache instructions"
830 },
831 {.pme_name="L1_DCACHE_MISS_PENDING_CYCLES",
832 .pme_code = 0x00270027,
833 .pme_counters = 0x5,
834 .pme_desc = "Cycles where L1 D-cache miss pending"
835 },
836 {.pme_name="ALU_TO_AGEN_STALLS",
837 .pme_code = 0x002d002d,
838 .pme_counters = 0x5,
839 .pme_desc = "ALU to AGEN stalls"
840 },
841 {.pme_name="L2_ACCESSES",
842 .pme_code = 0x00150015,
843 .pme_counters = 0x5,
844 .pme_desc = "L2 cache accesses"
845 },
846 {.pme_name="J_JAL_INSN_COMPLETED",
847 .pme_code = 0x00100010,
848 .pme_counters = 0x5,
849 .pme_desc = "j/jal instructions completed"
850 },
851 {.pme_name="ALL_STALLS",
852 .pme_code = 0x00120012,
853 .pme_counters = 0x5,
854 .pme_desc = "All stalls (no action in RF pipe stage)"
855 },
856 {.pme_name="DSP_INSTRUCTIONS",
857 .pme_code = 0x00240024,
858 .pme_counters = 0x5,
859 .pme_desc = "DSP instructions"
860 },
861 {.pme_name="UNCACHED_STORES",
862 .pme_code = 0x00210021,
863 .pme_counters = 0x5,
864 .pme_desc = "Uncached Stores"
865 },
866 {.pme_name="WBB_FULL_PIPE_STALLS",
867 .pme_code = 0x00370037,
868 .pme_counters = 0x5,
869 .pme_desc = "WBB full pipeline stalls"
870 },
871 {.pme_name="INSN_CACHE_ACCESSES",
872 .pme_code = 0x00090009,
873 .pme_counters = 0x5,
874 .pme_desc = "Instruction cache accesses"
875 },
876 {.pme_name="EXT_POLICY_MANAGER",
877 .pme_code = 0x001c001c,
878 .pme_counters = 0x5,
879 .pme_desc = "External policy manager"
880 },
881 {.pme_name="WBB_OVER_50_FULL",
882 .pme_code = 0x00370037,
883 .pme_counters = 0x5,
884 .pme_desc = "WBB > 50% full"
885 },
886 {.pme_name="DTLB_MISSES",
887 .pme_code = 0x00060006,
888 .pme_counters = 0x5,
889 .pme_desc = "Data micro-TLB misses"
890 },
891 {.pme_name="DCACHE_ACCESSES",
892 .pme_code = 0x000a000a,
893 .pme_counters = 0x5,
894 .pme_desc = "Data cache accesses"
895 },
896 {.pme_name="COREEXTEND_LOGIC",
897 .pme_code = 0x001e001e,
898 .pme_counters = 0x5,
899 .pme_desc = "CorExtend logic"
900 },
901 {.pme_name="LDQ_25_50_FULL",
902 .pme_code = 0x00340034,
903 .pme_counters = 0x5,
904 .pme_desc = "LDQ 25-50% full"
905 },
906 {.pme_name="PREFETCH_INSNS_COMPLETED",
907 .pme_code = 0x00140014,
908 .pme_counters = 0x5,
909 .pme_desc = "Prefetch instructions completed"
910 },
911 {.pme_name="CYCLES",
912 .pme_code = 0x00000000,
913 .pme_counters = 0xf,
914 .pme_desc = "Cycles"
915 },
916 {.pme_name="L1_ICACHE_MISS_STALLS",
917 .pme_code = 0x00250025,
918 .pme_counters = 0x5,
919 .pme_desc = "L1 I-cache miss stalls"
920 },
921 {.pme_name="JTLB_INSN_MISSES",
922 .pme_code = 0x00070007,
923 .pme_counters = 0x5,
924 .pme_desc = "Joint TLB instruction misses"
925 },
926 {.pme_name="COP2",
927 .pme_code = 0x001c001c,
928 .pme_counters = 0x5,
929 .pme_desc = "Co-Processor 2"
930 },
931 {.pme_name="FPU_INSNS_COMPLETED",
932 .pme_code = 0x000e000e,
933 .pme_counters = 0x5,
934 .pme_desc = "FPU instructions completed (not including loads/stores)"
935 },
936 {.pme_name="ITLB_MISSES",
937 .pme_code = 0x00050005,
938 .pme_counters = 0x5,
939 .pme_desc = "Instruction micro-TLB misses"
940 },
941 {.pme_name="IFU_STALLS",
942 .pme_code = 0x00190019,
943 .pme_counters = 0x5,
944 .pme_desc = "IFU stalls (when no instruction offered) ALU stalls"
945 },
946 {.pme_name="WBB_25_50_FULL",
947 .pme_code = 0x00360036,
948 .pme_counters = 0x5,
949 .pme_desc = "WBB 25-50% full"
950 },
951 {.pme_name="DCACHE_MISSES",
952 .pme_code = 0x0b0b0b0b,
953 .pme_counters = 0xf,
954 .pme_desc = "Data cache misses"
955 },
956};
957
959 {.pme_name="DCACHE_LINE_EVICTED",
960 .pme_code = 0x00000600,
961 .pme_counters = 0x2,
962 .pme_desc = "Data cache line evicted"
963 },
964 {.pme_name="LOADS_EXECED",
965 .pme_code = 0x00000202,
966 .pme_counters = 0x3,
967 .pme_desc = "Load/pref(x)/sync/cache-ops executed"
968 },
969 {.pme_name="INSN_SCHEDULED",
970 .pme_code = 0x0000000a,
971 .pme_counters = 0x1,
972 .pme_desc = "Instruction scheduled"
973 },
974 {.pme_name="DUAL_ISSUED_INSNS",
975 .pme_code = 0x0000000e,
976 .pme_counters = 0x1,
977 .pme_desc = "Dual issued instructions executed"
978 },
979 {.pme_name="BRANCHES_MISSPREDICTED",
980 .pme_code = 0x00000800,
981 .pme_counters = 0x2,
982 .pme_desc = "Branch mispredicted"
983 },
984 {.pme_name="CONFLICT_STALL_M_STAGE",
985 .pme_code = 0x00000a00,
986 .pme_counters = 0x2,
987 .pme_desc = "Instruction stall in M stage due to scheduling conflicts"
988 },
989 {.pme_name="STORES_EXECED",
990 .pme_code = 0x00000303,
991 .pme_counters = 0x3,
992 .pme_desc = "Stores (including conditional stores) executed"
993 },
994 {.pme_name="DCACHE_MISS",
995 .pme_code = 0x00000900,
996 .pme_counters = 0x2,
997 .pme_desc = "Data cache miss"
998 },
999 {.pme_name="INSN_FETCHED",
1000 .pme_code = 0x00000001,
1001 .pme_counters = 0x1,
1002 .pme_desc = "Instructions fetched"
1003 },
1004 {.pme_name="TLB_MISS_EXCEPTIONS",
1005 .pme_code = 0x00000700,
1006 .pme_counters = 0x2,
1007 .pme_desc = "TLB miss exceptions"
1008 },
1009 {.pme_name="COP2_INSNS_EXECED",
1010 .pme_code = 0x00000f00,
1011 .pme_counters = 0x2,
1012 .pme_desc = "COP2 instructions executed"
1013 },
1014 {.pme_name="FAILED_COND_STORES",
1015 .pme_code = 0x00000005,
1016 .pme_counters = 0x1,
1017 .pme_desc = "Failed conditional stores"
1018 },
1019 {.pme_name="INSNS_EXECED",
1020 .pme_code = 0x0000010f,
1021 .pme_counters = 0x3,
1022 .pme_desc = "Instructions executed"
1023 },
1024 {.pme_name="ICACHE_MISS",
1025 .pme_code = 0x00000009,
1026 .pme_counters = 0x1,
1027 .pme_desc = "Instruction cache miss"
1028 },
1029 {.pme_name="COND_STORES_EXECED",
1030 .pme_code = 0x00000404,
1031 .pme_counters = 0x3,
1032 .pme_desc = "Conditional stores executed"
1033 },
1034 {.pme_name="FP_INSNS_EXECED",
1035 .pme_code = 0x00000500,
1036 .pme_counters = 0x2,
1037 .pme_desc = "Floating-point instructions executed"
1038 },
1039 {.pme_name="DTLB_MISSES",
1040 .pme_code = 0x00000008,
1041 .pme_counters = 0x1,
1042 .pme_desc = "DTLB miss"
1043 },
1044 {.pme_name="BRANCHES_EXECED",
1045 .pme_code = 0x00000006,
1046 .pme_counters = 0x1,
1047 .pme_desc = "Branches executed"
1048 },
1049 {.pme_name="CYCLES",
1050 .pme_code = 0x00000000,
1051 .pme_counters = 0x3,
1052 .pme_desc = "Cycles"
1053 },
1054 {.pme_name="ITLB_MISSES",
1055 .pme_code = 0x00000007,
1056 .pme_counters = 0x1,
1057 .pme_desc = "ITLB miss"
1058 },
1059};
1060
1062 {.pme_name="BRANCHES_RESOLVED",
1063 .pme_code = 0x00000006,
1064 .pme_counters = 0x1,
1065 .pme_desc = "Branches resolved"
1066 },
1067 {.pme_name="TLB_REFILL_EXCEPTIONS",
1068 .pme_code = 0x00000700,
1069 .pme_counters = 0x2,
1070 .pme_desc = "TLB refill exceptions"
1071 },
1072 {.pme_name="EXTERNAL_INTERVENTION_RQ",
1073 .pme_code = 0x0000000c,
1074 .pme_counters = 0x1,
1075 .pme_desc = "External intervention requests"
1076 },
1077 {.pme_name="STORES_GRADUATED",
1078 .pme_code = 0x00000300,
1079 .pme_counters = 0x2,
1080 .pme_desc = "Stores graduated"
1081 },
1082 {.pme_name="SCACHE_WAY_MISPREDICTED_INSN",
1083 .pme_code = 0x0000000b,
1084 .pme_counters = 0x1,
1085 .pme_desc = "Secondary cache way mispredicted (instruction)"
1086 },
1087 {.pme_name="INSTRUCTION_CACHE_MISSES",
1088 .pme_code = 0x00000009,
1089 .pme_counters = 0x1,
1090 .pme_desc = "Instruction cache misses"
1091 },
1092 {.pme_name="SCACHE_MISSES_DATA",
1093 .pme_code = 0x00000a00,
1094 .pme_counters = 0x2,
1095 .pme_desc = "Secondary cache misses (data)"
1096 },
1097 {.pme_name="QUADWORDS_WB_FROM_PRIMARY_DCACHE",
1098 .pme_code = 0x00000600,
1099 .pme_counters = 0x2,
1100 .pme_desc = "Quadwords written back from primary data cache"
1101 },
1102 {.pme_name="EXTERNAL_INVALIDATE_RQ_HITS_SCACHE",
1103 .pme_code = 0x00000d00,
1104 .pme_counters = 0x2,
1105 .pme_desc = "External invalidate request is determined to have hit in secondary cache"
1106 },
1107 {.pme_name="LOAD_PREFETC_SYNC_CACHEOP_ISSUED",
1108 .pme_code = 0x00000002,
1109 .pme_counters = 0x1,
1110 .pme_desc = "Load / prefetch / sync / CacheOp issued"
1111 },
1112 {.pme_name="STORES_OR_STORE_PREF_TO_SHD_SCACHE_BLOCKS",
1113 .pme_code = 0x00000f00,
1114 .pme_counters = 0x2,
1115 .pme_desc = "Stores or prefetches with store hint to Shared secondary cache blocks"
1116 },
1117 {.pme_name="STORE_COND_ISSUED",
1118 .pme_code = 0x00000004,
1119 .pme_counters = 0x1,
1120 .pme_desc = "Store conditional issued"
1121 },
1122 {.pme_name="BRANCHES_MISPREDICTED",
1123 .pme_code = 0x00000800,
1124 .pme_counters = 0x2,
1125 .pme_desc = "Branches mispredicted"
1126 },
1127 {.pme_name="EXTERNAL_INVALIDATE_RQ",
1128 .pme_code = 0x0000000d,
1129 .pme_counters = 0x1,
1130 .pme_desc = "External invalidate requests"
1131 },
1132 {.pme_name="LOAD_PREFETC_SYNC_CACHEOP_GRADUATED",
1133 .pme_code = 0x00000200,
1134 .pme_counters = 0x2,
1135 .pme_desc = "Load / prefetch / sync / CacheOp graduated"
1136 },
1137 {.pme_name="INSTRUCTIONS_ISSUED",
1138 .pme_code = 0x00000001,
1139 .pme_counters = 0x1,
1140 .pme_desc = "Instructions issued"
1141 },
1142 {.pme_name="INSTRUCTION_GRADUATED",
1143 .pme_code = 0x0000000f,
1144 .pme_counters = 0x1,
1145 .pme_desc = "Instructions graduated"
1146 },
1147 {.pme_name="EXTERNAL_INTERVENTION_RQ_HITS_SCACHE",
1148 .pme_code = 0x00000c00,
1149 .pme_counters = 0x2,
1150 .pme_desc = "External intervention request is determined to have hit in secondary cache"
1151 },
1152 {.pme_name="SCACHE_MISSES_INSTRUCTION",
1153 .pme_code = 0x0000000a,
1154 .pme_counters = 0x1,
1155 .pme_desc = "Secondary cache misses (instruction)"
1156 },
1157 {.pme_name="SCACHE_LOAD_STORE_CACHEOP_OPERATIONS",
1158 .pme_code = 0x00000900,
1159 .pme_counters = 0x2,
1160 .pme_desc = "Secondary cache load / store and cache-ops operations"
1161 },
1162 {.pme_name="STORES_OR_STORE_PREF_TO_CLEANEXCLUSIVE_SCACHE_BLOCKS",
1163 .pme_code = 0x00000e00,
1164 .pme_counters = 0x2,
1165 .pme_desc = "Stores or prefetches with store hint to CleanExclusive secondary cache blocks"
1166 },
1167 {.pme_name="INSTRUCTIONS_GRADUATED",
1168 .pme_code = 0x00000100,
1169 .pme_counters = 0x2,
1170 .pme_desc = "Instructions graduated"
1171 },
1172 {.pme_name="FP_INSTRUCTON_GRADUATED",
1173 .pme_code = 0x00000500,
1174 .pme_counters = 0x2,
1175 .pme_desc = "Floating-point instructions graduated"
1176 },
1177 {.pme_name="STORES_ISSUED",
1178 .pme_code = 0x00000003,
1179 .pme_counters = 0x1,
1180 .pme_desc = "Stores issued"
1181 },
1182 {.pme_name="CYCLES",
1183 .pme_code = 0x00000000,
1184 .pme_counters = 0x3,
1185 .pme_desc = "Cycles"
1186 },
1187 {.pme_name="CORRECTABLE_ECC_ERRORS_SCACHE",
1188 .pme_code = 0x00000008,
1189 .pme_counters = 0x1,
1190 .pme_desc = "Correctable ECC errors on secondary cache data"
1191 },
1192 {.pme_name="QUADWORDS_WB_FROM_SCACHE",
1193 .pme_code = 0x00000007,
1194 .pme_counters = 0x1,
1195 .pme_desc = "Quadwords written back from secondary cache"
1196 },
1197 {.pme_name="STORE_COND_GRADUATED",
1198 .pme_code = 0x00000400,
1199 .pme_counters = 0x2,
1200 .pme_desc = "Store conditional graduated"
1201 },
1202 {.pme_name="FUNCTIONAL_UNIT_COMPLETION_CYCLES",
1203 .pme_code = 0x0000000e,
1204 .pme_counters = 0x1,
1205 .pme_desc = "Functional unit completion cycles"
1206 },
1207 {.pme_name="FAILED_STORE_CONDITIONAL",
1208 .pme_code = 0x00000005,
1209 .pme_counters = 0x1,
1210 .pme_desc = "Failed store conditional"
1211 },
1212 {.pme_name="SCACHE_WAY_MISPREDICTED_DATA",
1213 .pme_code = 0x00000b00,
1214 .pme_counters = 0x2,
1215 .pme_desc = "Secondary cache way mispredicted (data)"
1216 },
1217};
1218
1220 {.pme_name="INTERVENTION_REQUESTS",
1221 .pme_code = 0x0c0c0c0c,
1222 .pme_counters = 0xf,
1223 .pme_desc = "External intervention requests"
1224 },
1225 {.pme_name="QUADWORDS",
1226 .pme_code = 0x16161616,
1227 .pme_counters = 0xf,
1228 .pme_desc = "Quadwords written back from primary data cache"
1229 },
1230 {.pme_name="MISPREDICTED_BRANCHES",
1231 .pme_code = 0x18181818,
1232 .pme_counters = 0xf,
1233 .pme_desc = "Mispredicted branches"
1234 },
1235 {.pme_name="DECODED_STORES",
1236 .pme_code = 0x03030303,
1237 .pme_counters = 0xf,
1238 .pme_desc = "Decoded stores"
1239 },
1240 {.pme_name="TLB_MISSES",
1241 .pme_code = 0x17171717,
1242 .pme_counters = 0xf,
1243 .pme_desc = "TLB misses"
1244 },
1245 {.pme_name="GRADUATED_FP_INSTRUCTIONS",
1246 .pme_code = 0x15151515,
1247 .pme_counters = 0xf,
1248 .pme_desc = "Graduated floating point instructions"
1249 },
1250 {.pme_name="EXTERNAL_REQUESTS",
1251 .pme_code = 0x0d0d0d0d,
1252 .pme_counters = 0xf,
1253 .pme_desc = "External invalidate requests"
1254 },
1255 {.pme_name="GRADUATED_STORES",
1256 .pme_code = 0x13131313,
1257 .pme_counters = 0xf,
1258 .pme_desc = "Graduated stores"
1259 },
1260 {.pme_name="PREFETCH_MISSES_IN_DCACHE",
1261 .pme_code = 0x11111111,
1262 .pme_counters = 0xf,
1263 .pme_desc = "Primary data cache misses by prefetch instructions"
1264 },
1265 {.pme_name="STORE_PREFETCH_EXCLUSIVE_SHARED_SC_BLOCK",
1266 .pme_code = 0x1f1f1f1f,
1267 .pme_counters = 0xf,
1268 .pme_desc = "Store/prefetch exclusive to shared block in secondary"
1269 },
1270 {.pme_name="DECODED_LOADS",
1271 .pme_code = 0x02020202,
1272 .pme_counters = 0xf,
1273 .pme_desc = "Decoded loads"
1274 },
1275 {.pme_name="GRADUATED_STORE_CONDITIONALS",
1276 .pme_code = 0x14141414,
1277 .pme_counters = 0xf,
1278 .pme_desc = "Graduated store conditionals"
1279 },
1280 {.pme_name="INSTRUCTION_SECONDARY_CACHE_MISSES",
1281 .pme_code = 0x0a0a0a0a,
1282 .pme_counters = 0xf,
1283 .pme_desc = "Secondary cache misses (instruction)"
1284 },
1285 {.pme_name="STATE_OF_EXTERNAL_INVALIDATION_HIT",
1286 .pme_code = 0x1d1d1d1d,
1287 .pme_counters = 0xf,
1288 .pme_desc = "State of external invalidation hits in secondary cache"
1289 },
1290 {.pme_name="SECONDARY_CACHE_WAY_MISSPREDICTED",
1291 .pme_code = 0x0b0b0b0b,
1292 .pme_counters = 0xf,
1293 .pme_desc = "Secondary cache way mispredicted (instruction)"
1294 },
1295 {.pme_name="DECODED_INSTRUCTIONS",
1296 .pme_code = 0x01010101,
1297 .pme_counters = 0xf,
1298 .pme_desc = "Decoded instructions"
1299 },
1300 {.pme_name="SCACHE_MISSES",
1301 .pme_code = 0x1a1a1a1a,
1302 .pme_counters = 0xf,
1303 .pme_desc = "Secondary cache misses (data)"
1304 },
1305 {.pme_name="ICACHE_MISSES",
1306 .pme_code = 0x09090909,
1307 .pme_counters = 0xf,
1308 .pme_desc = "Instruction cache misses"
1309 },
1310 {.pme_name="SCACHE_WAY_MISPREDICTION",
1311 .pme_code = 0x1b1b1b1b,
1312 .pme_counters = 0xf,
1313 .pme_desc = "Misprediction from scache way prediction table (data)"
1314 },
1315 {.pme_name="STATE_OF_SCACHE_INTERVENTION_HIT",
1316 .pme_code = 0x1c1c1c1c,
1317 .pme_counters = 0xf,
1318 .pme_desc = "State of external intervention hit in secondary cache"
1319 },
1320 {.pme_name="GRADUATED_LOADS",
1321 .pme_code = 0x12121212,
1322 .pme_counters = 0xf,
1323 .pme_desc = "Graduated loads"
1324 },
1325 {.pme_name="PREFETCH_INSTRUCTIONS_EXECUTED",
1326 .pme_code = 0x10101010,
1327 .pme_counters = 0xf,
1328 .pme_desc = "Executed prefetch instructions"
1329 },
1330 {.pme_name="MISS_TABLE_OCCUPANCY",
1331 .pme_code = 0x04040404,
1332 .pme_counters = 0xf,
1333 .pme_desc = "Miss Handling Table Occupancy"
1334 },
1335 {.pme_name="INSTRUCTIONS_GRADUATED",
1336 .pme_code = 0x0f0f0f0f,
1337 .pme_counters = 0xf,
1338 .pme_desc = "Instructions graduated"
1339 },
1340 {.pme_name="QUADWORDS_WRITEBACK_FROM_SC",
1341 .pme_code = 0x07070707,
1342 .pme_counters = 0xf,
1343 .pme_desc = "Quadwords written back from secondary cache"
1344 },
1345 {.pme_name="CORRECTABLE_ECC_ERRORS",
1346 .pme_code = 0x08080808,
1347 .pme_counters = 0xf,
1348 .pme_desc = "Correctable ECC errors on secondary cache data"
1349 },
1350 {.pme_name="CYCLES",
1351 .pme_code = 0x00000000,
1352 .pme_counters = 0xf,
1353 .pme_desc = "Cycles"
1354 },
1355 {.pme_name="RESOLVED_BRANCH_CONDITIONAL",
1356 .pme_code = 0x06060606,
1357 .pme_counters = 0xf,
1358 .pme_desc = "Resolved conditional branches"
1359 },
1360 {.pme_name="STORE_PREFETCH_EXCLUSIVE_TO_CLEAN_SC_BLOCK",
1361 .pme_code = 0x1e1e1e1e,
1362 .pme_counters = 0xf,
1363 .pme_desc = "Store/prefetch exclusive to clean block in secondary cache"
1364 },
1365 {.pme_name="FAILED_STORE_CONDITIONAL",
1366 .pme_code = 0x05050505,
1367 .pme_counters = 0xf,
1368 .pme_desc = "Failed store conditional"
1369 },
1370 {.pme_name="DCACHE_MISSES",
1371 .pme_code = 0x19191919,
1372 .pme_counters = 0xf,
1373 .pme_desc = "Primary data cache misses"
1374 },
1375};
1376
1378 {.pme_name="SLIP_CYCLES_PENDING_NON_BLKING_LOAD",
1379 .pme_code = 0x00001a1a,
1380 .pme_counters = 0x3,
1381 .pme_desc = "Slip cycles due to pending non-blocking loads"
1382 },
1383 {.pme_name="STORE_INSTRUCTIONS_ISSUED",
1384 .pme_code = 0x00000505,
1385 .pme_counters = 0x3,
1386 .pme_desc = "Store instructions issued"
1387 },
1388 {.pme_name="BRANCH_PREFETCHES",
1389 .pme_code = 0x00000707,
1390 .pme_counters = 0x3,
1391 .pme_desc = "Branch prefetches"
1392 },
1393 {.pme_name="PCACHE_WRITEBACKS",
1394 .pme_code = 0x00001414,
1395 .pme_counters = 0x3,
1396 .pme_desc = "Primary cache writebacks"
1397 },
1398 {.pme_name="STALL_CYCLES_PENDING_NON_BLKING_LOAD",
1399 .pme_code = 0x00001f1f,
1400 .pme_counters = 0x3,
1401 .pme_desc = "Stall cycles due to pending non-blocking loads - stall start of exception"
1402 },
1403 {.pme_name="STALL_CYCLES",
1404 .pme_code = 0x00000909,
1405 .pme_counters = 0x3,
1406 .pme_desc = "Stall cycles"
1407 },
1408 {.pme_name="CACHE_MISSES",
1409 .pme_code = 0x00001616,
1410 .pme_counters = 0x3,
1411 .pme_desc = "Cache misses"
1412 },
1413 {.pme_name="DUAL_ISSUED_PAIRS",
1414 .pme_code = 0x00000606,
1415 .pme_counters = 0x3,
1416 .pme_desc = "Dual issued pairs"
1417 },
1418 {.pme_name="SLIP_CYCLES_DUE_MULTIPLIER_BUSY",
1419 .pme_code = 0x00001818,
1420 .pme_counters = 0x3,
1421 .pme_desc = "Slip Cycles due to multiplier busy"
1422 },
1423 {.pme_name="INTEGER_INSTRUCTIONS_ISSUED",
1424 .pme_code = 0x00000303,
1425 .pme_counters = 0x3,
1426 .pme_desc = "Integer instructions issued"
1427 },
1428 {.pme_name="SCACHE_WRITEBACKS",
1429 .pme_code = 0x00001313,
1430 .pme_counters = 0x3,
1431 .pme_desc = "Secondary cache writebacks"
1432 },
1433 {.pme_name="DCACHE_MISS_STALL_CYCLES",
1434 .pme_code = 0x00001515,
1435 .pme_counters = 0x3,
1436 .pme_desc = "Dcache miss stall cycles (cycles where both cache miss tokens taken and a third try is requested)"
1437 },
1438 {.pme_name="MULTIPLIER_STALL_CYCLES",
1439 .pme_code = 0x00001e1e,
1440 .pme_counters = 0x3,
1441 .pme_desc = "Multiplier stall cycles"
1442 },
1443 {.pme_name="WRITE_BUFFER_FULL_STALL_CYCLES",
1444 .pme_code = 0x00001c1c,
1445 .pme_counters = 0x3,
1446 .pme_desc = "Write buffer full stall cycles"
1447 },
1448 {.pme_name="FP_INSTRUCTIONS_ISSUED",
1449 .pme_code = 0x00000202,
1450 .pme_counters = 0x3,
1451 .pme_desc = "Floating-point instructions issued"
1452 },
1453 {.pme_name="JTLB_DATA_MISSES",
1454 .pme_code = 0x00001010,
1455 .pme_counters = 0x3,
1456 .pme_desc = "Joint TLB data misses"
1457 },
1458 {.pme_name="FP_EXCEPTION_STALL_CYCLES",
1459 .pme_code = 0x00001717,
1460 .pme_counters = 0x3,
1461 .pme_desc = "FP possible exception cycles"
1462 },
1463 {.pme_name="SCACHE_MISSES",
1464 .pme_code = 0x00000a0a,
1465 .pme_counters = 0x3,
1466 .pme_desc = "Secondary cache misses"
1467 },
1468 {.pme_name="BRANCHES_ISSUED",
1469 .pme_code = 0x00001212,
1470 .pme_counters = 0x3,
1471 .pme_desc = "Branches issued"
1472 },
1473 {.pme_name="ICACHE_MISSES",
1474 .pme_code = 0x00000b0b,
1475 .pme_counters = 0x3,
1476 .pme_desc = "Instruction cache misses"
1477 },
1478 {.pme_name="INSTRUCTIONS_ISSUED",
1479 .pme_code = 0x00000101,
1480 .pme_counters = 0x3,
1481 .pme_desc = "Total instructions issued"
1482 },
1483 {.pme_name="JTLB_INSTRUCTION_MISSES",
1484 .pme_code = 0x00000f0f,
1485 .pme_counters = 0x3,
1486 .pme_desc = "Joint TLB instruction misses"
1487 },
1488 {.pme_name="LOAD_INSTRUCTIONS_ISSUED",
1489 .pme_code = 0x00000404,
1490 .pme_counters = 0x3,
1491 .pme_desc = "Load instructions issued"
1492 },
1493 {.pme_name="EXTERNAL_CACHE_MISSES",
1494 .pme_code = 0x00000808,
1495 .pme_counters = 0x3,
1496 .pme_desc = "External Cache Misses"
1497 },
1498 {.pme_name="BRANCHES_TAKEN",
1499 .pme_code = 0x00001111,
1500 .pme_counters = 0x3,
1501 .pme_desc = "Branches taken"
1502 },
1503 {.pme_name="DTLB_MISSES",
1504 .pme_code = 0x00000d0d,
1505 .pme_counters = 0x3,
1506 .pme_desc = "Data TLB misses"
1507 },
1508 {.pme_name="CACHE_INSTRUCTION_STALL_CYCLES",
1509 .pme_code = 0x00001d1d,
1510 .pme_counters = 0x3,
1511 .pme_desc = "Cache instruction stall cycles"
1512 },
1513 {.pme_name="CYCLES",
1514 .pme_code = 0x00000000,
1515 .pme_counters = 0x3,
1516 .pme_desc = "Clock cycles"
1517 },
1518 {.pme_name="COP0_SLIP_CYCLES",
1519 .pme_code = 0x00001919,
1520 .pme_counters = 0x3,
1521 .pme_desc = "Coprocessor 0 slip cycles"
1522 },
1523 {.pme_name="ITLB_MISSES",
1524 .pme_code = 0x00000e0e,
1525 .pme_counters = 0x3,
1526 .pme_desc = "Instruction TLB misses"
1527 },
1528 {.pme_name="DCACHE_MISSES",
1529 .pme_code = 0x00000c0c,
1530 .pme_counters = 0x3,
1531 .pme_desc = "Data cache misses"
1532 },
1533};
1534
1536 {.pme_name="FP_POSSIBLE_EXCEPTION_CYCLES",
1537 .pme_code = 0x00001717,
1538 .pme_counters = 0x3,
1539 .pme_desc = "Floating-point possible exception cycles"
1540 },
1541 {.pme_name="STORE_INSTRUCTIONS_ISSUED",
1542 .pme_code = 0x00000505,
1543 .pme_counters = 0x3,
1544 .pme_desc = "Store instructions issued"
1545 },
1546 {.pme_name="STALL_CYCLES",
1547 .pme_code = 0x00000909,
1548 .pme_counters = 0x3,
1549 .pme_desc = "Stall cycles"
1550 },
1551 {.pme_name="L2_WRITEBACKS",
1552 .pme_code = 0x00001313,
1553 .pme_counters = 0x3,
1554 .pme_desc = "L2 cache writebacks"
1555 },
1556 {.pme_name="NONBLOCKING_LOAD_SLIP_CYCLES",
1557 .pme_code = 0x00001a1a,
1558 .pme_counters = 0x3,
1559 .pme_desc = "Slip cycles due to pending non-blocking loads"
1560 },
1561 {.pme_name="NONBLOCKING_LOAD_PENDING_EXCEPTION_STALL_CYCLES",
1562 .pme_code = 0x00001e1e,
1563 .pme_counters = 0x3,
1564 .pme_desc = "Stall cycles due to pending non-blocking loads - stall start of exception"
1565 },
1566 {.pme_name="BRANCH_MISSPREDICTS",
1567 .pme_code = 0x00000707,
1568 .pme_counters = 0x3,
1569 .pme_desc = "Branch mispredictions"
1570 },
1571 {.pme_name="DCACHE_MISS_STALL_CYCLES",
1572 .pme_code = 0x00001515,
1573 .pme_counters = 0x3,
1574 .pme_desc = "Dcache-miss stall cycles"
1575 },
1576 {.pme_name="WRITE_BUFFER_FULL_STALL_CYCLES",
1577 .pme_code = 0x00001b1b,
1578 .pme_counters = 0x3,
1579 .pme_desc = "Stall cycles due to a full write buffer"
1580 },
1581 {.pme_name="INT_INSTRUCTIONS_ISSUED",
1582 .pme_code = 0x00000303,
1583 .pme_counters = 0x3,
1584 .pme_desc = "Integer instructions issued"
1585 },
1586 {.pme_name="FP_INSTRUCTIONS_ISSUED",
1587 .pme_code = 0x00000202,
1588 .pme_counters = 0x3,
1589 .pme_desc = "Floating-point instructions issued"
1590 },
1591 {.pme_name="JTLB_DATA_MISSES",
1592 .pme_code = 0x00001010,
1593 .pme_counters = 0x3,
1594 .pme_desc = "Joint TLB data misses"
1595 },
1596 {.pme_name="L2_CACHE_MISSES",
1597 .pme_code = 0x00000a0a,
1598 .pme_counters = 0x3,
1599 .pme_desc = "L2 cache misses"
1600 },
1601 {.pme_name="DCACHE_WRITEBACKS",
1602 .pme_code = 0x00001414,
1603 .pme_counters = 0x3,
1604 .pme_desc = "Dcache writebacks"
1605 },
1606 {.pme_name="BRANCHES_ISSUED",
1607 .pme_code = 0x00001212,
1608 .pme_counters = 0x3,
1609 .pme_desc = "Branch instructions issued"
1610 },
1611 {.pme_name="ICACHE_MISSES",
1612 .pme_code = 0x00000b0b,
1613 .pme_counters = 0x3,
1614 .pme_desc = "Icache misses"
1615 },
1616 {.pme_name="INSTRUCTIONS_ISSUED",
1617 .pme_code = 0x00000101,
1618 .pme_counters = 0x3,
1619 .pme_desc = "Instructions issued"
1620 },
1621 {.pme_name="MULTIPLIER_BUSY_SLIP_CYCLES",
1622 .pme_code = 0x00001818,
1623 .pme_counters = 0x3,
1624 .pme_desc = "Slip cycles due to busy multiplier"
1625 },
1626 {.pme_name="INSTRUCTIONS_DUAL_ISSUED",
1627 .pme_code = 0x00000606,
1628 .pme_counters = 0x3,
1629 .pme_desc = "Dual-issued instruction pairs"
1630 },
1631 {.pme_name="CACHE_INSN_STALL_CYCLES",
1632 .pme_code = 0x00001c1c,
1633 .pme_counters = 0x3,
1634 .pme_desc = "Stall cycles due to cache instructions"
1635 },
1636 {.pme_name="JTLB_INSTRUCTION_MISSES",
1637 .pme_code = 0x00000f0f,
1638 .pme_counters = 0x3,
1639 .pme_desc = "Joint TLB instruction misses"
1640 },
1641 {.pme_name="LOAD_INSTRUCTIONS_ISSUED",
1642 .pme_code = 0x00000404,
1643 .pme_counters = 0x3,
1644 .pme_desc = "Load instructions issued"
1645 },
1646 {.pme_name="CACHE_REMISSES",
1647 .pme_code = 0x00001616,
1648 .pme_counters = 0x3,
1649 .pme_desc = "Cache remisses"
1650 },
1651 {.pme_name="BRANCHES_TAKEN",
1652 .pme_code = 0x00001111,
1653 .pme_counters = 0x3,
1654 .pme_desc = "Branches taken"
1655 },
1656 {.pme_name="DTLB_MISSES",
1657 .pme_code = 0x00000d0d,
1658 .pme_counters = 0x3,
1659 .pme_desc = "Data TLB misses"
1660 },
1661 {.pme_name="CYCLES",
1662 .pme_code = 0x00000000,
1663 .pme_counters = 0x3,
1664 .pme_desc = "Processor clock cycles"
1665 },
1666 {.pme_name="COP0_SLIP_CYCLES",
1667 .pme_code = 0x00001919,
1668 .pme_counters = 0x3,
1669 .pme_desc = "Co-processor 0 slip cycles"
1670 },
1671 {.pme_name="ITLB_MISSES",
1672 .pme_code = 0x00000e0e,
1673 .pme_counters = 0x3,
1674 .pme_desc = "Instruction TLB misses"
1675 },
1676 {.pme_name="DCACHE_MISSES",
1677 .pme_code = 0x00000c0c,
1678 .pme_counters = 0x3,
1679 .pme_desc = "Dcache misses"
1680 },
1681};
1682
1684 {.pme_name="DATA_DEPENDENCY_REPLAY",
1685 .pme_code = 0x1e1e1e1e,
1686 .pme_counters = 0xf,
1687 .pme_desc = "Data dependency replay"
1688 },
1689 {.pme_name="DCACHE_READ_MISS",
1690 .pme_code = 0x0f0f0f00,
1691 .pme_counters = 0xe,
1692 .pme_desc = "Dcache read results in a miss"
1693 },
1694 {.pme_name="R_RESP_OTHER_CORE_D_MOD",
1695 .pme_code = 0x19191900,
1696 .pme_counters = 0xe,
1697 .pme_desc = "Read response comes from the other core with D_MOD set"
1698 },
1699 {.pme_name="RQ_LENGTH",
1700 .pme_code = 0x01010100,
1701 .pme_counters = 0xe,
1702 .pme_desc = "Read queue length"
1703 },
1704 {.pme_name="READ_RQ_NOPS_SENT_TO_ABUS",
1705 .pme_code = 0x14141400,
1706 .pme_counters = 0xe,
1707 .pme_desc = "Read requests and NOPs sent to ZB Abus"
1708 },
1709 {.pme_name="R_RESP_OTHER_CORE",
1710 .pme_code = 0x18181800,
1711 .pme_counters = 0xe,
1712 .pme_desc = "Read response comes from the other core"
1713 },
1714 {.pme_name="SNOOP_RQ_HITS",
1715 .pme_code = 0x16161600,
1716 .pme_counters = 0xe,
1717 .pme_desc = "Snoop request hits anywhere"
1718 },
1719 {.pme_name="LOAD_SURVIVED_STAGE4",
1720 .pme_code = 0x08080800,
1721 .pme_counters = 0xe,
1722 .pme_desc = "Load survived stage 4"
1723 },
1724 {.pme_name="BRANCH_PREDICTED_TAKEN",
1725 .pme_code = 0x2e2e2e00,
1726 .pme_counters = 0xe,
1727 .pme_desc = "Predicted taken conditional branch"
1728 },
1729 {.pme_name="ISSUE_L1",
1730 .pme_code = 0x29292900,
1731 .pme_counters = 0xe,
1732 .pme_desc = "Issue to L0"
1733 },
1734 {.pme_name="ANY_REPLAY",
1735 .pme_code = 0x1f1f1f1f,
1736 .pme_counters = 0xf,
1737 .pme_desc = "Any replay except mispredict"
1738 },
1739 {.pme_name="LD_ST_HITS_PREFETCH_IN_QUEUE",
1740 .pme_code = 0x06060600,
1741 .pme_counters = 0xe,
1742 .pme_desc = "Load/store hits prefetch in read queue"
1743 },
1744 {.pme_name="NOT_DATA_READY",
1745 .pme_code = 0x23232300,
1746 .pme_counters = 0xe,
1747 .pme_desc = "Not data ready"
1748 },
1749 {.pme_name="DCFIFO",
1750 .pme_code = 0x1c1c1c1c,
1751 .pme_counters = 0xf,
1752 .pme_desc = "DCFIFO"
1753 },
1754 {.pme_name="ISSUE_E1",
1755 .pme_code = 0x2b2b2b00,
1756 .pme_counters = 0xe,
1757 .pme_desc = "Issue to E1"
1758 },
1759 {.pme_name="PREFETCH_HITS_CACHE_OR_READ_Q",
1760 .pme_code = 0x05050500,
1761 .pme_counters = 0xe,
1762 .pme_desc = "Prefetch hits in cache or read queue"
1763 },
1764 {.pme_name="BRANCH_STAGE4",
1765 .pme_code = 0x2c2c2c00,
1766 .pme_counters = 0xe,
1767 .pme_desc = "Branch survived stage 4"
1768 },
1769 {.pme_name="SNOOP_ADDR_Q_FULL",
1770 .pme_code = 0x17171700,
1771 .pme_counters = 0xe,
1772 .pme_desc = "Snoop address queue is full"
1773 },
1774 {.pme_name="CONSUMER_WAITING_FOR_LOAD",
1775 .pme_code = 0x22222200,
1776 .pme_counters = 0xe,
1777 .pme_desc = "load consumer waiting for dfill"
1778 },
1779 {.pme_name="VICTIM_WRITEBACK",
1780 .pme_code = 0x0d0d0d00,
1781 .pme_counters = 0xe,
1782 .pme_desc = "A writeback occurs due to replacement"
1783 },
1784 {.pme_name="BRANCH_MISSPREDICTS",
1785 .pme_code = 0x2f2f2f00,
1786 .pme_counters = 0xe,
1787 .pme_desc = "Branch mispredicts"
1788 },
1789 {.pme_name="UPGRADE_SHARED_TO_EXCLUSIVE",
1790 .pme_code = 0x07070700,
1791 .pme_counters = 0xe,
1792 .pme_desc = "A line is upgraded from shared to exclusive"
1793 },
1794 {.pme_name="READ_HITS_READ_Q",
1795 .pme_code = 0x04040400,
1796 .pme_counters = 0xe,
1797 .pme_desc = "Read hits in read queue"
1798 },
1799 {.pme_name="INSN_STAGE4",
1800 .pme_code = 0x27272700,
1801 .pme_counters = 0xe,
1802 .pme_desc = "One or more instructions survives stage 4"
1803 },
1804 {.pme_name="UNCACHED_RQ_LENGTH",
1805 .pme_code = 0x02020200,
1806 .pme_counters = 0xe,
1807 .pme_desc = "Number of valid uncached entries in read queue"
1808 },
1809 {.pme_name="READ_RQ_SENT_TO_ABUS",
1810 .pme_code = 0x17171700,
1811 .pme_counters = 0xe,
1812 .pme_desc = "Read requests sent to ZB Abus"
1813 },
1814 {.pme_name="DCACHE_FILL_SHARED_LINE",
1815 .pme_code = 0x0b0b0b00,
1816 .pme_counters = 0xe,
1817 .pme_desc = "Dcache is filled with shared line"
1818 },
1819 {.pme_name="ISSUE_CONFLICT_DUE_IMISS",
1820 .pme_code = 0x25252500,
1821 .pme_counters = 0xe,
1822 .pme_desc = "issue conflict due to imiss using LS0"
1823 },
1824 {.pme_name="NO_VALID_INSN",
1825 .pme_code = 0x21212100,
1826 .pme_counters = 0xe,
1827 .pme_desc = "No valid instr to issue"
1828 },
1829 {.pme_name="ISSUE_E0",
1830 .pme_code = 0x2a2a2a00,
1831 .pme_counters = 0xe,
1832 .pme_desc = "Issue to E0"
1833 },
1834 {.pme_name="INSN_SURVIVED_STAGE7",
1835 .pme_code = 0x00000000,
1836 .pme_counters = 0xe,
1837 .pme_desc = "Instruction survived stage 7"
1838 },
1839 {.pme_name="BRANCH_REALLY_TAKEN",
1840 .pme_code = 0x2d2d2d00,
1841 .pme_counters = 0xe,
1842 .pme_desc = "Conditional branch was really taken"
1843 },
1844 {.pme_name="STORE_COND_FAILED",
1845 .pme_code = 0x1a1a1a00,
1846 .pme_counters = 0xe,
1847 .pme_desc = "Failed store conditional"
1848 },
1849 {.pme_name="MAX_ISSUE",
1850 .pme_code = 0x20202000,
1851 .pme_counters = 0xe,
1852 .pme_desc = "Max issue"
1853 },
1854 {.pme_name="BIU_STALLS_ON_ZB_ADDR_BUS",
1855 .pme_code = 0x11111100,
1856 .pme_counters = 0xe,
1857 .pme_desc = "BIU stalls on ZB addr bus"
1858 },
1859 {.pme_name="STORE_SURVIVED_STAGE4",
1860 .pme_code = 0x09090900,
1861 .pme_counters = 0xe,
1862 .pme_desc = "Store survived stage 4"
1863 },
1864 {.pme_name="RESOURCE_CONSTRAINT",
1865 .pme_code = 0x24242400,
1866 .pme_counters = 0xe,
1867 .pme_desc = "Resource (L0/1 E0/1) constraint"
1868 },
1869 {.pme_name="DCACHE_FILL_REPLAY",
1870 .pme_code = 0x1b1b1b1b,
1871 .pme_counters = 0xf,
1872 .pme_desc = "Dcache fill replay"
1873 },
1874 {.pme_name="BIU_STALLS_ON_ZB_DATA_BUS",
1875 .pme_code = 0x12121200,
1876 .pme_counters = 0xe,
1877 .pme_desc = "BIU stalls on ZB data bus"
1878 },
1879 {.pme_name="ISSUE_CONFLICT_DUE_DFILL",
1880 .pme_code = 0x26262600,
1881 .pme_counters = 0xe,
1882 .pme_desc = "issue conflict due to dfill using LS0/1"
1883 },
1884 {.pme_name="WRITEBACK_RETURNS",
1885 .pme_code = 0x0f0f0f00,
1886 .pme_counters = 0xe,
1887 .pme_desc = "Number of instruction returns"
1888 },
1889 {.pme_name="DCACHE_FILLED_SHD_NONC_EXC",
1890 .pme_code = 0x0a0a0a00,
1891 .pme_counters = 0xe,
1892 .pme_desc = "Dcache is filled (shared, nonc, exclusive)"
1893 },
1894 {.pme_name="ISSUE_L0",
1895 .pme_code = 0x28282800,
1896 .pme_counters = 0xe,
1897 .pme_desc = "Issue to L0"
1898 },
1899 {.pme_name="CYCLES",
1900 .pme_code = 0x10101010,
1901 .pme_counters = 0xf,
1902 .pme_desc = "Elapsed cycles"
1903 },
1904 {.pme_name="MBOX_RQ_WHEN_BIU_BUSY",
1905 .pme_code = 0x0e0e0e00,
1906 .pme_counters = 0xe,
1907 .pme_desc = "MBOX requests to BIU when BIU busy"
1908 },
1909 {.pme_name="MBOX_REPLAY",
1910 .pme_code = 0x1d1d1d1d,
1911 .pme_counters = 0xf,
1912 .pme_desc = "MBOX replay"
1913 },
1914};
1915
1917 {.pme_name="INSTRUCTIONS_EXECUTED",
1918 .pme_code = 0x00000101,
1919 .pme_counters = 0x3,
1920 .pme_desc = "(Instructions executed)/2 and truncated"
1921 },
1922 {.pme_name="JTLB_REFILLS",
1923 .pme_code = 0x00000707,
1924 .pme_counters = 0x3,
1925 .pme_desc = "JTLB refills"
1926 },
1927 {.pme_name="BRANCHES",
1928 .pme_code = 0x00000404,
1929 .pme_counters = 0x3,
1930 .pme_desc = "Branch execution (no jumps or jump registers)"
1931 },
1932 {.pme_name="FP_INSTRUCTIONS",
1933 .pme_code = 0x00000505,
1934 .pme_counters = 0x3,
1935 .pme_desc = "(FP instruction execution) / 2 and truncated excluding cp1 loads and stores"
1936 },
1937 {.pme_name="BRANCHES_MISPREDICTED",
1938 .pme_code = 0x00000a0a,
1939 .pme_counters = 0x3,
1940 .pme_desc = "Branches mispredicted"
1941 },
1942 {.pme_name="DOUBLEWORDS_FLUSHED",
1943 .pme_code = 0x00000606,
1944 .pme_counters = 0x3,
1945 .pme_desc = "Doublewords flushed to main memory (no uncached stores)"
1946 },
1947 {.pme_name="ICACHE_MISSES",
1948 .pme_code = 0x00000909,
1949 .pme_counters = 0x3,
1950 .pme_desc = "Instruction cache misses (no D-cache misses)"
1951 },
1952 {.pme_name="LOAD_PREF_CACHE_INSTRUCTIONS",
1953 .pme_code = 0x00000202,
1954 .pme_counters = 0x3,
1955 .pme_desc = "Load, prefetch/CacheOps execution (no sync)"
1956 },
1957 {.pme_name="CYCLES",
1958 .pme_code = 0x00000000,
1959 .pme_counters = 0x3,
1960 .pme_desc = "Processor cycles (PClock)"
1961 },
1962 {.pme_name="DCACHE_MISSES",
1963 .pme_code = 0x00000808,
1964 .pme_counters = 0x3,
1965 .pme_desc = "Data cache misses (no I-cache misses)"
1966 },
1967 {.pme_name="STORES",
1968 .pme_code = 0x00000303,
1969 .pme_counters = 0x3,
1970 .pme_desc = "Store execution"
1971 },
1972};
1973
1975 {.pme_name="INSTRUCTIONS_EXECUTED",
1976 .pme_code = 0x00000101,
1977 .pme_counters = 0x3,
1978 .pme_desc = "Instructions executed"
1979 },
1980 {.pme_name="JTLB_REFILLS",
1981 .pme_code = 0x00000707,
1982 .pme_counters = 0x3,
1983 .pme_desc = "TLB refill"
1984 },
1985 {.pme_name="BRANCHES",
1986 .pme_code = 0x00000404,
1987 .pme_counters = 0x3,
1988 .pme_desc = "Execution of branch instruction"
1989 },
1990 {.pme_name="FP_INSTRUCTIONS",
1991 .pme_code = 0x00000505,
1992 .pme_counters = 0x3,
1993 .pme_desc = "Execution of floating-point instruction"
1994 },
1995 {.pme_name="BRANCHES_MISPREDICTED",
1996 .pme_code = 0x00000a0a,
1997 .pme_counters = 0x3,
1998 .pme_desc = "Branch prediction miss"
1999 },
2000 {.pme_name="DOUBLEWORDS_FLUSHED",
2001 .pme_code = 0x00000606,
2002 .pme_counters = 0x3,
2003 .pme_desc = "Doubleword flush to main memory"
2004 },
2005 {.pme_name="ICACHE_MISSES",
2006 .pme_code = 0x00000909,
2007 .pme_counters = 0x3,
2008 .pme_desc = "Instruction cache miss"
2009 },
2010 {.pme_name="LOAD_PREF_CACHE_INSTRUCTIONS",
2011 .pme_code = 0x00000202,
2012 .pme_counters = 0x3,
2013 .pme_desc = "Execution of load/prefetch/cache instruction"
2014 },
2015 {.pme_name="CYCLES",
2016 .pme_code = 0x00000000,
2017 .pme_counters = 0x3,
2018 .pme_desc = "Processor clock cycles"
2019 },
2020 {.pme_name="DCACHE_MISSES",
2021 .pme_code = 0x00000808,
2022 .pme_counters = 0x3,
2023 .pme_desc = "Data cache miss"
2024 },
2025 {.pme_name="STORES",
2026 .pme_code = 0x00000303,
2027 .pme_counters = 0x3,
2028 .pme_desc = "Execution of store instruction"
2029 },
2030};
2031
static pme_gen_mips64_entry_t gen_mips64_r12000_pe[]
static pme_gen_mips64_entry_t gen_mips64_5K_pe[]
static pme_gen_mips64_entry_t gen_mips64_34K_pe[]
static pme_gen_mips64_entry_t gen_mips64_rm9000_pe[]
static pme_gen_mips64_entry_t gen_mips64_sb1_pe[]
static pme_gen_mips64_entry_t gen_mips64_r10000_pe[]
static pme_gen_mips64_entry_t gen_mips64_25K_pe[]
static pme_gen_mips64_entry_t gen_mips64_vr5500_pe[]
static pme_gen_mips64_entry_t gen_mips64_rm7000_pe[]
static pme_gen_mips64_entry_t gen_mips64_vr5432_pe[]
static pme_gen_mips64_entry_t gen_mips64_20K_pe[]
static pme_gen_mips64_entry_t gen_mips64_24K_pe[]
char * pme_name