Blame src/libpfm4/lib/events/mips_74k_events.h

Packit Service a1973e
/*
Packit Service a1973e
 * Copyright (c) 2011 Samara Technology Group, Inc
Packit Service a1973e
 * Contributed by Philip Mucci <phil.mucci@@samaratechnologygroup.com>
Packit Service a1973e
 *
Packit Service a1973e
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit Service a1973e
 * of this software and associated documentation files (the "Software"), to deal
Packit Service a1973e
 * in the Software without restriction, including without limitation the rights
Packit Service a1973e
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
Packit Service a1973e
 * of the Software, and to permit persons to whom the Software is furnished to do so,
Packit Service a1973e
 * subject to the following conditions:
Packit Service a1973e
 *
Packit Service a1973e
 * The above copyright notice and this permission notice shall be included in all
Packit Service a1973e
 * copies or substantial portions of the Software.
Packit Service a1973e
 *
Packit Service a1973e
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
Packit Service a1973e
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
Packit Service a1973e
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
Packit Service a1973e
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
Packit Service a1973e
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
Packit Service a1973e
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit Service a1973e
 *
Packit Service a1973e
 * Based on:
Packit Service a1973e
 * MIPS32 74KTM Processor Core Family Software Users' Manual
Packit Service a1973e
 * Document Number: MD00519 Revision 01.05 March 30, 2011
Packit Service a1973e
 */
Packit Service a1973e
Packit Service a1973e
static const mips_entry_t mips_74k_pe []={
Packit Service a1973e
  {
Packit Service a1973e
    .name = "CYCLES", /* BOTH */
Packit Service a1973e
    .code = 0x0,
Packit Service a1973e
    .desc = "Cycles",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "INSTRUCTIONS", /* BOTH */
Packit Service a1973e
    .code = 0x1,
Packit Service a1973e
    .desc = "Instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "PREDICTED_JR_31",
Packit Service a1973e
    .code = 0x2,
Packit Service a1973e
    .desc = "jr $31 (return) instructions whose target is predicted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "JR_31_MISPREDICTIONS",
Packit Service a1973e
    .code = 0x82,
Packit Service a1973e
    .desc = "jr $31 (return) predicted but guessed wrong",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "REDIRECT_STALLS",
Packit Service a1973e
    .code = 0x3,
Packit Service a1973e
    .desc = "Cycles where no instruction is fetched because it has no next address candidate. This includes stalls due to register indirect jumps such as jr, stalls following a wait or eret and stalls dues to exceptions from instruction fetch",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "JR_31_NO_PREDICTIONS",
Packit Service a1973e
    .code = 0x83,
Packit Service a1973e
    .desc = "jr $31 (return) instructions fetched and not predicted using RPS",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ITLB_ACCESSES",
Packit Service a1973e
    .code = 0x4,
Packit Service a1973e
    .desc = "ITLB accesses",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ITLB_MISSES",
Packit Service a1973e
    .code = 0x84,
Packit Service a1973e
    .desc = "ITLB misses, which result in a JTLB access",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "JTLB_INSN_MISSES",
Packit Service a1973e
    .code = 0x85,
Packit Service a1973e
    .desc = "JTLB instruction access misses (will lead to an exception)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ICACHE_ACCESSES",
Packit Service a1973e
    .code = 0x6,
Packit Service a1973e
    .desc = "Instruction cache accesses. 74K cores have a 128-bit connection to the I-cache and fetch 4 instructions every access. This counts every such access, including accesses for instructions which are eventually discarded. For example, following a branch which is incorrectly predicted, the 74K core will continue to fetch instructions, which will eventually get thrown away",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ICACHE_MISSES",
Packit Service a1973e
    .code = 0x86,
Packit Service a1973e
    .desc = "I-cache misses. Includes misses resulting from fetch-ahead and speculation",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ICACHE_MISS_STALLS",
Packit Service a1973e
    .code = 0x7,
Packit Service a1973e
    .desc = "Cycles where no instruction is fetched because we missed in the I-cache",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "UNCACHED_IFETCH_STALLS",
Packit Service a1973e
    .code = 0x8,
Packit Service a1973e
    .desc = "Cycles where no instruction is fetched because we're waiting for an I-fetch from uncached memory",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "PDTRACE_BACK_STALLS",
Packit Service a1973e
    .code = 0x88,
Packit Service a1973e
    .desc = "PDTrace back stalls",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "IFU_REPLAYS",
Packit Service a1973e
    .code = 0x9,
Packit Service a1973e
    .desc = "Number of times the instruction fetch pipeline is flushed and replayed because the IFU buffers are full and unable to accept any instructions",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "KILLED_FETCH_SLOTS",
Packit Service a1973e
    .code = 0x89,
Packit Service a1973e
    .desc = "Valid fetch slots killed due to taken branches/jumps or stalling instructions",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DDQ0_FULL_DR_STALLS",
Packit Service a1973e
    .code = 0xd,
Packit Service a1973e
    .desc = "Cycles where no instructions are brought into the IDU because the ALU instruction candidate pool is full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DDQ1_FULL_DR_STALLS",
Packit Service a1973e
    .code = 0x8d,
Packit Service a1973e
    .desc = "Cycles where no instructions are brought into the IDU because the AGEN instruction candidate pool is full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ALCB_FULL_DR_STALLS",
Packit Service a1973e
    .code = 0xe,
Packit Service a1973e
    .desc = "Cycles where no instructions can be added to the issue pool, because we have run out of ALU completion buffers (CBs)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "AGCB_FULL_DR_STALLS",
Packit Service a1973e
    .code = 0x8e,
Packit Service a1973e
    .desc = "Cycles where no instructions can be added to the issue pool, because we have run out of AGEN completion buffers (CBs)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "CLDQ_FULL_DR_STALLS",
Packit Service a1973e
    .code = 0xf,
Packit Service a1973e
    .desc = "Cycles where no instructions can be added to the issue pool, because we've used all the FIFO entries in the CLDQ which keep track of data coming back from the FPU",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "IODQ_FULL_DR_STALLS",
Packit Service a1973e
    .code = 0x8f,
Packit Service a1973e
    .desc = "Cycles where no instructions can be added to the issue pool, because we've filled the in order FIFO used for coprocessor 1 instructions (IOIQ)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ALU_EMPTY_CYCLES",
Packit Service a1973e
    .code = 0x10,
Packit Service a1973e
    .desc = "Cycles with no ALU-pipe issue; no instructions available",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "AGEN_EMPTY_CYCLES",
Packit Service a1973e
    .code = 0x90,
Packit Service a1973e
    .desc = "Cycles with no AGEN-pipe issue; no instructions available",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ALU_OPERANDS_NOT_READY_CYCLES",
Packit Service a1973e
    .code = 0x11,
Packit Service a1973e
    .desc = "Cycles with no ALU-pipe issue; we have instructions, but operands not ready",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "AGEN_OPERANDS_NOT_READY_CYCLES",
Packit Service a1973e
    .code = 0x91,
Packit Service a1973e
    .desc = "Cycles with no AGEN-pipe issue; we have instructions, but operands not ready",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ALU_NO_ISSUE_CYCLES",
Packit Service a1973e
    .code = 0x12,
Packit Service a1973e
    .desc = "Cycles with no ALU-pipe issue; we have instructions, but some resource is unavailable. This includes, operands are not ready (same as event 17), div in progress inhibits MDU instructions, CorExtend resource limitation",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "AGEN_NO_ISSUE_CYCLES",
Packit Service a1973e
    .code = 0x92,
Packit Service a1973e
    .desc = "Cycles with no AGEN-pipe issue; we have instructions, but some resource is unavailable. This includes, operands are not ready (same as event 17), Non-issued stores blocking ready to issue loads, issued cacheops blocking ready to issue loads",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ALU_BUBBLE_CYCLES",
Packit Service a1973e
    .code = 0x13,
Packit Service a1973e
    .desc = "ALU-pipe bubble issued. The resulting empty pipe stage guarantees that some resource will be unused for a cycle, sometime soon. Used, for example, to guarantee an opportunity to write mfc1 data into a CB",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "AGEN_BUBBLE_CYCLES",
Packit Service a1973e
    .code = 0x93,
Packit Service a1973e
    .desc = "AGEN-pipe bubble issued. The resulting empty pipe stage guarantees that some resource will be unused for a cycle, sometime soon. Used, for example, to allow access to the data cache for refill or eviction",
Packit Service a1973e
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SINGLE_ISSUE_CYCLES",
Packit Service a1973e
    .code = 0x14,
Packit Service a1973e
    .desc = "Cycles when one instruction is issued",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DUAL_ISSUE_CYCLES",
Packit Service a1973e
    .code = 0x94,
Packit Service a1973e
    .desc = "Cycles when two instructions are issued (one ALU, one AGEN)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OOO_ALU_ISSUE_CYCLES",
Packit Service a1973e
    .code = 0x15,
Packit Service a1973e
    .desc = "Cycles when instructions are issued out of order into the ALU pipe. i.e. instruction issued is not the oldest in the pool",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OOO_AGEN_ISSUE_CYCLES",
Packit Service a1973e
    .code = 0x95,
Packit Service a1973e
    .desc = "Cycles when instructions are issued out of order into the AGEN pipe. i.e. instruction issued is not the oldest in the pool",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "JALR_JALR_HB_INSNS",
Packit Service a1973e
    .code = 0x16,
Packit Service a1973e
    .desc = "Graduated JAR/JALR.HB",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DCACHE_LINE_REFILL_REQUESTS",
Packit Service a1973e
    .code = 0x96,
Packit Service a1973e
    .desc = "D-Cache line refill (not LD/ST misses)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DCACHE_LOAD_ACCESSES",
Packit Service a1973e
    .code = 0x17,
Packit Service a1973e
    .desc = "Cacheable loads - Counts all accesses to the D-cache caused by load instructions. This count includes instructions that do not graduate",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DCACHE_ACCESSES",
Packit Service a1973e
    .code = 0x97,
Packit Service a1973e
    .desc = "All D-cache accesses (loads, stores, prefetch, cacheop etc). This count includes instructions that do not graduate",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DCACHE_WRITEBACKS",
Packit Service a1973e
    .code = 0x18,
Packit Service a1973e
    .desc = "D-Cache writebacks",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DCACHE_MISSES",
Packit Service a1973e
    .code = 0x98,
Packit Service a1973e
    .desc = "D-cache misses. This count is per instruction at graduation and includes load, store, prefetch, synci and address based cacheops",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "JTLB_DATA_ACCESSES",
Packit Service a1973e
    .code = 0x19,
Packit Service a1973e
    .desc = "JTLB d-side (data side as opposed to instruction side) accesses",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "JTLB_DATA_MISSES",
Packit Service a1973e
    .code = 0x99,
Packit Service a1973e
    .desc = "JTLB translation fails on d-side (data side as opposed to instruction side) accesses. This count includes instructions that do not graduate",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LOAD_STORE_REPLAYS",
Packit Service a1973e
    .code = 0x1a,
Packit Service a1973e
    .desc = "Load/store instruction redirects, which happen when the load/store follows too closely on a possibly matching cacheop",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DCACHE_VTAG_MISMATCH",
Packit Service a1973e
    .code = 0x9a,
Packit Service a1973e
    .desc = "The 74K core's D-cache has an auxiliary virtual tag, used to pick the right line early. When (occasionally) the physical tag match and virtual tag match do not line up, it is treated as a cache miss - in processing the miss the virtual tag is corrected for future accesses. This event counts those bogus misses",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "L2_CACHE_WRITEBACKS",
Packit Service a1973e
    .code = 0x1c,
Packit Service a1973e
    .desc = "L2 cache writebacks",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "L2_CACHE_ACCESSES",
Packit Service a1973e
    .code = 0x9c,
Packit Service a1973e
    .desc = "L2 cache accesses",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "L2_CACHE_MISSES",
Packit Service a1973e
    .code = 0x1d,
Packit Service a1973e
    .desc = "L2 cache misses",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "L2_CACHE_MISS_CYCLES",
Packit Service a1973e
    .code = 0x9d,
Packit Service a1973e
    .desc = "L2 cache miss cycles",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FSB_FULL_STALLS",
Packit Service a1973e
    .code = 0x1e,
Packit Service a1973e
    .desc = "Cycles Fill Store Buffer(FSB) are full and cause a pipe stall",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FSB_OVER_50_FULL",
Packit Service a1973e
    .code = 0x9e,
Packit Service a1973e
    .desc = "Cycles Fill Store Buffer(FSB) > 1/2 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LDQ_FULL_STALLS",
Packit Service a1973e
    .code = 0x1f,
Packit Service a1973e
    .desc = "Cycles Load Data Queue (LDQ) are full and cause a pipe stall",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LDQ_OVER_50_FULL",
Packit Service a1973e
    .code = 0x9f,
Packit Service a1973e
    .desc = "Cycles Load Data Queue(LDQ) > 1/2 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "WBB_FULL_STALLS",
Packit Service a1973e
    .code = 0x20,
Packit Service a1973e
    .desc = "Cycles Writeback Buffer(WBB) are full and cause a pipe stall",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "WBB_OVER_50_FULL",
Packit Service a1973e
    .code = 0xa0,
Packit Service a1973e
    .desc = "Cycles Writeback Buffer(WBB) > 1/2 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LOAD_MISS_CONSUMER_REPLAYS",
Packit Service a1973e
    .code = 0x23,
Packit Service a1973e
    .desc = "Replays following optimistic issue of instruction dependent on load which missed. Counted only when the dependent instruction graduates",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FPU_LOAD_INSNS",
Packit Service a1973e
    .code = 0xa3,
Packit Service a1973e
    .desc = "Floating Point Load instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "JR_NON_31_INSNS",
Packit Service a1973e
    .code = 0x24,
Packit Service a1973e
    .desc = "jr (not $31) instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "MISPREDICTED_JR_31_INSNS",
Packit Service a1973e
    .code = 0xa4,
Packit Service a1973e
    .desc = "jr $31 mispredicted at graduation",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "INT_BRANCH_INSNS",
Packit Service a1973e
    .code = 0x25,
Packit Service a1973e
    .desc = "Integer branch instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FPU_BRANCH_INSNS",
Packit Service a1973e
    .code = 0xa5,
Packit Service a1973e
    .desc = "Floating point branch instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "BRANCH_LIKELY_INSNS",
Packit Service a1973e
    .code = 0x26,
Packit Service a1973e
    .desc = "Branch-likely instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "MISPREDICTED_BRANCH_LIKELY_INSNS",
Packit Service a1973e
    .code = 0xa6,
Packit Service a1973e
    .desc = "Mispredicted branch-likely instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "COND_BRANCH_INSNS",
Packit Service a1973e
    .code = 0x27,
Packit Service a1973e
    .desc = "Conditional branches graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "MISPREDICTED_BRANCH_INSNS",
Packit Service a1973e
    .code = 0xa7,
Packit Service a1973e
    .desc = "Mispredicted conditional branches graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "INTEGER_INSNS",
Packit Service a1973e
    .code = 0x28,
Packit Service a1973e
    .desc = "Integer instructions graduated (includes nop, ssnop, ehb as well as all arithmetic, logical, shift and extract type operations)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FPU_INSNS",
Packit Service a1973e
    .code = 0xa8,
Packit Service a1973e
    .desc = "Floating point instructions graduated (but not counting floating point load/store)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LOAD_INSNS",
Packit Service a1973e
    .code = 0x29,
Packit Service a1973e
    .desc = "Loads graduated (includes floating point)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "STORE_INSNS",
Packit Service a1973e
    .code = 0xa9,
Packit Service a1973e
    .desc = "Stores graduated (includes floating point). Of sc instructions, only successful ones are counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "J_JAL_INSNS",
Packit Service a1973e
    .code = 0x2a,
Packit Service a1973e
    .desc = "j/jal graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "MIPS16_INSNS",
Packit Service a1973e
    .code = 0xaa,
Packit Service a1973e
    .desc = "MIPS16e instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "NOP_INSNS",
Packit Service a1973e
    .code = 0x2b,
Packit Service a1973e
    .desc = "no-ops graduated - included (sll, nop, ssnop, ehb)",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "NT_MUL_DIV_INSNS",
Packit Service a1973e
    .code = 0xab,
Packit Service a1973e
    .desc = "integer multiply/divides graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DSP_INSNS",
Packit Service a1973e
    .code = 0x2c,
Packit Service a1973e
    .desc = "DSP instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ALU_DSP_SATURATION_INSNS",
Packit Service a1973e
    .code = 0xac,
Packit Service a1973e
    .desc = "ALU-DSP instructions graduated, result was saturated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DSP_BRANCH_INSNS",
Packit Service a1973e
    .code = 0x2d,
Packit Service a1973e
    .desc = "DSP branch instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "MDU_DSP_SATURATION_INSNS",
Packit Service a1973e
    .code = 0xad,
Packit Service a1973e
    .desc = "MDU-DSP instructions graduated, result was saturated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "UNCACHED_LOAD_INSNS",
Packit Service a1973e
    .code = 0x2e,
Packit Service a1973e
    .desc = "Uncached loads graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "UNCACHED_STORE_INSNS",
Packit Service a1973e
    .code = 0xae,
Packit Service a1973e
    .desc = "Uncached stores graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "EJTAG_INSN_TRIGGERS",
Packit Service a1973e
    .code = 0x31,
Packit Service a1973e
    .desc = "EJTAG instruction triggers",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "EJTAG_DATA_TRIGGERS",
Packit Service a1973e
    .code = 0xb1,
Packit Service a1973e
    .desc = "EJTAG data triggers",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "CP1_BRANCH_MISPREDICTIONS",
Packit Service a1973e
    .code = 0x32,
Packit Service a1973e
    .desc = "CP1 branches mispredicted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SC_INSNS",
Packit Service a1973e
    .code = 0x33,
Packit Service a1973e
    .desc = "sc instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FAILED_SC_INSNS",
Packit Service a1973e
    .code = 0xb3,
Packit Service a1973e
    .desc = "sc instructions failed",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "PREFETCH_INSNS",
Packit Service a1973e
    .code = 0x34,
Packit Service a1973e
    .desc = "prefetch instructions graduated at the top of LSGB",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "CACHE_HIT_PREFETCH_INSNS",
Packit Service a1973e
    .code = 0xb4,
Packit Service a1973e
    .desc = "prefetch instructions which did nothing, because they hit in the cache",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "NO_INSN_CYCLES",
Packit Service a1973e
    .code = 0x35,
Packit Service a1973e
    .desc = "Cycles where no instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LOAD_MISS_INSNS",
Packit Service a1973e
    .code = 0xb5,
Packit Service a1973e
    .desc = "Load misses graduated. Includes floating point loads",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "ONE_INSN_CYCLES",
Packit Service a1973e
    .code = 0x36,
Packit Service a1973e
    .desc = "Cycles where one instruction graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "TWO_INSNS_CYCLES",
Packit Service a1973e
    .code = 0xb6,
Packit Service a1973e
    .desc = "Cycles where two instructions graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "GFIFO_BLOCKED_CYCLES",
Packit Service a1973e
    .code = 0x37,
Packit Service a1973e
    .desc = "GFifo blocked cycles",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FPU_STORE_INSNS",
Packit Service a1973e
    .code = 0xb7,
Packit Service a1973e
    .desc = "Floating point stores graduated",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "GFIFO_BLOCKED_TLB_CACHE",
Packit Service a1973e
    .code = 0x38,
Packit Service a1973e
    .desc = "GFifo blocked due to TLB or Cacheop",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "NO_INSTRUCTIONS_FROM_REPLAY_CYCLES",
Packit Service a1973e
    .code = 0xb8,
Packit Service a1973e
    .desc = "Number of cycles no instructions graduated from the time the pipe was flushed because of a replay until the first new instruction graduates. This is an indicator of the graduation bandwidth loss due to replay. Often times this replay is a result of event 25 and therefor an indicator of bandwidth lost due to cache misses",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "MISPREDICTION_BRANCH_NODELAY_CYCLES",
Packit Service a1973e
    .code = 0x39, /* even counters event 57 (raw 57) */
Packit Service a1973e
    .desc = "Slot 0 misprediction branch instruction graduation cycles without the delay slot"
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "MISPREDICTION_BRANCH_DELAY_WAIT_CYCLES",
Packit Service a1973e
    .code = 0xb9, /* even counters event 57 (raw 57) */
Packit Service a1973e
    .desc = "Cycles waiting for delay slot to graduate on a mispredicted branch",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "EXCEPTIONS_TAKEN",
Packit Service a1973e
    .code = 0x3a,
Packit Service a1973e
    .desc = "Exceptions taken",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "GRADUATION_REPLAYS",
Packit Service a1973e
    .code = 0xba,
Packit Service a1973e
    .desc = "Replays initiated from graduation",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "COREEXTEND_EVENTS",
Packit Service a1973e
    .code = 0x3b,
Packit Service a1973e
    .desc = "Implementation specific CorExtend event. The integrator of this core may connect the core pin UDI_perfcnt_event to an event to be counted. This is intended for use with the CorExtend interface",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "DSPRAM_EVENTS",
Packit Service a1973e
    .code = 0xbe,
Packit Service a1973e
    .desc = "Implementation-specific DSPRAM event. The integrator of this core may connect the core pin SP_prf_c13_e62_xx to the event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "L2_CACHE_SINGLE_BIT_ERRORS",
Packit Service a1973e
    .code = 0x3f,
Packit Service a1973e
    .desc = "L2 single-bit errors which were detected",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_0",
Packit Service a1973e
    .code = 0x40,
Packit Service a1973e
    .desc = "SI_Event[0] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[0] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_1",
Packit Service a1973e
    .code = 0xc0,
Packit Service a1973e
    .desc = "SI_Event[1] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[1] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_2",
Packit Service a1973e
    .code = 0x41,
Packit Service a1973e
    .desc = "SI_Event[2] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[2] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_3",
Packit Service a1973e
    .code = 0xc1,
Packit Service a1973e
    .desc = "SI_Event[3] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[3] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_4",
Packit Service a1973e
    .code = 0x42,
Packit Service a1973e
    .desc = "SI_Event[4] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[4] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_5",
Packit Service a1973e
    .code = 0xc2,
Packit Service a1973e
    .desc = "SI_Event[5] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[5] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_6",
Packit Service a1973e
    .code = 0x43,
Packit Service a1973e
    .desc = "SI_Event[6] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[6] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "SYSTEM_EVENT_7",
Packit Service a1973e
    .code = 0xc3,
Packit Service a1973e
    .desc = "SI_Event[7] - Implementation-specific system event. The integrator of this core may connect the core pin SI_PCEvent[7] to an event to be counted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_ALL_REQUESTS",
Packit Service a1973e
    .code = 0x44,
Packit Service a1973e
    .desc = "All OCP requests accepted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_ALL_CACHEABLE_REQUESTS",
Packit Service a1973e
    .code = 0xc4,
Packit Service a1973e
    .desc = "All OCP cacheable requests accepted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_READ_REQUESTS",
Packit Service a1973e
    .code = 0x45,
Packit Service a1973e
    .desc = "OCP read requests accepted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_READ_CACHEABLE_REQUESTS",
Packit Service a1973e
    .code = 0xc5,
Packit Service a1973e
    .desc = "OCP cacheable read requests accepted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_WRITE_REQUESTS",
Packit Service a1973e
    .code = 0x46,
Packit Service a1973e
    .desc = "OCP write requests accepted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_WRITE_CACHEABLE REQUESTS",
Packit Service a1973e
    .code = 0xc6,
Packit Service a1973e
    .desc = "OCP cacheable write requests accepted",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_WRITE_DATA_SENT",
Packit Service a1973e
    .code = 0xc7,
Packit Service a1973e
    .desc = "OCP write data sent",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "OCP_READ_DATA_RECEIVED",
Packit Service a1973e
    .code = 0xc8,
Packit Service a1973e
    .desc = "OCP read data received",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FSB_LESS_25_FULL",
Packit Service a1973e
    .code = 0x4a,
Packit Service a1973e
    .desc = "Cycles fill store buffer (FSB) < 1/4 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "FSB_25_50_FULL",
Packit Service a1973e
    .code = 0xca,
Packit Service a1973e
    .desc = "Cycles fill store buffer (FSB) 1/4 to 1/2 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LDQ_LESS_25_FULL",
Packit Service a1973e
    .code = 0x4b,
Packit Service a1973e
    .desc = "Cycles load data queue (LDQ) < 1/4 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "LDQ_25_50_FULL",
Packit Service a1973e
    .code = 0xcb,
Packit Service a1973e
    .desc = "Cycles load data queue (LDQ) 1/4 to 1/2 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "WBB_LESS_25_FULL",
Packit Service a1973e
    .code = 0x4c,
Packit Service a1973e
    .desc = "Cycles writeback buffer (WBB) < 1/4 full",
Packit Service a1973e
  },
Packit Service a1973e
  {
Packit Service a1973e
    .name = "WBB_25_50_FULL",
Packit Service a1973e
    .code = 0xcc,
Packit Service a1973e
    .desc = "Cycles writeback buffer (WBB) 1/4 to 1/2 full",
Packit Service a1973e
  },
Packit Service a1973e
};