Paul Lind | 73f45fe | 2013-03-04 17:10:49 -0800 | [diff] [blame^] | 1 | // events from file arm/armv7-common/events |
| 2 | {0x00, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "PMNC_SW_INCR", |
| 3 | "Software increment of PMNC registers"}, |
| 4 | {0x01, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "IFETCH_MISS", |
| 5 | "Instruction fetch misses from cache or normal cacheable memory"}, |
| 6 | {0x02, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "ITLB_MISS", |
| 7 | "Instruction fetch misses from TLB"}, |
| 8 | {0x03, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "DCACHE_REFILL", |
| 9 | "Data R/W operation that causes a refill from cache or normal cacheable memory"}, |
| 10 | {0x04, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "DCACHE_ACCESS", |
| 11 | "Data R/W from cache"}, |
| 12 | {0x05, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "DTLB_REFILL", |
| 13 | "Data R/W that causes a TLB refill"}, |
| 14 | {0x06, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "DREAD", |
| 15 | "Data read architecturally executed (note: architecturally executed = for instructions that are unconditional or that pass the condition code)"}, |
| 16 | {0x07, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "DWRITE", |
| 17 | "Data write architecturally executed"}, |
| 18 | {0x08, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "INSTR_EXECUTED", |
| 19 | "All executed instructions"}, |
| 20 | {0x09, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "EXC_TAKEN", |
| 21 | "Exception taken"}, |
| 22 | {0x0A, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "EXC_EXECUTED", |
| 23 | "Exception return architecturally executed"}, |
| 24 | {0x0B, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "CID_WRITE", |
| 25 | "Instruction that writes to the Context ID Register architecturally executed"}, |
| 26 | {0x0C, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "PC_WRITE", |
| 27 | "SW change of PC, architecturally executed (not by exceptions)"}, |
| 28 | {0x0D, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "PC_IMM_BRANCH", |
| 29 | "Immediate branch instruction executed (taken or not)"}, |
| 30 | {0x0E, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "PC_PROC_RETURN", |
| 31 | "Procedure return architecturally executed (not by exceptions)"}, |
| 32 | {0x0F, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "UNALIGNED_ACCESS", |
| 33 | "Unaligned access architecturally executed"}, |
| 34 | {0x10, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "PC_BRANCH_MIS_PRED", |
| 35 | "Branch mispredicted or not predicted. Counts pipeline flushes because of misprediction"}, |
| 36 | {0x12, CTR(1) | CTR(2) | CTR(3) | CTR(4) | CTR(5) | CTR(6), 0, "PC_BRANCH_MIS_USED", |
| 37 | "Branch or change in program flow that could have been predicted"}, |
| 38 | {0xFF, CTR(0), 0, "CPU_CYCLES", |
| 39 | "Number of CPU cycles"}, |
| 40 | // events from file arm/armv7/events |
| 41 | {0x40, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "WRITE_BUFFER_FULL", |
| 42 | "Any write buffer full cycle"}, |
| 43 | {0x41, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L2_STORE_MERGED", |
| 44 | "Any store that is merged in L2 cache"}, |
| 45 | {0x42, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L2_STORE_BUFF", |
| 46 | "Any bufferable store from load/store to L2 cache"}, |
| 47 | {0x43, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L2_ACCESS", |
| 48 | "Any access to L2 cache"}, |
| 49 | {0x44, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L2_CACH_MISS", |
| 50 | "Any cacheable miss in L2 cache"}, |
| 51 | {0x45, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "AXI_READ_CYCLES", |
| 52 | "Number of cycles for an active AXI read"}, |
| 53 | {0x46, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "AXI_WRITE_CYCLES", |
| 54 | "Number of cycles for an active AXI write"}, |
| 55 | {0x47, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "MEMORY_REPLAY", |
| 56 | "Any replay event in the memory subsystem"}, |
| 57 | {0x48, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "UNALIGNED_ACCESS_REPLAY", |
| 58 | "Unaligned access that causes a replay"}, |
| 59 | {0x49, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L1_DATA_MISS", |
| 60 | "L1 data cache miss as a result of the hashing algorithm"}, |
| 61 | {0x4A, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L1_INST_MISS", |
| 62 | "L1 instruction cache miss as a result of the hashing algorithm"}, |
| 63 | {0x4B, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L1_DATA_COLORING", |
| 64 | "L1 data access in which a page coloring alias occurs"}, |
| 65 | {0x4C, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L1_NEON_DATA", |
| 66 | "NEON data access that hits L1 cache"}, |
| 67 | {0x4D, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L1_NEON_CACH_DATA", |
| 68 | "NEON cacheable data access that hits L1 cache"}, |
| 69 | {0x4E, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L2_NEON", |
| 70 | "L2 access as a result of NEON memory access"}, |
| 71 | {0x4F, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L2_NEON_HIT", |
| 72 | "Any NEON hit in L2 cache"}, |
| 73 | {0x50, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "L1_INST", |
| 74 | "Any L1 instruction cache access, excluding CP15 cache accesses"}, |
| 75 | {0x51, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "PC_RETURN_MIS_PRED", |
| 76 | "Return stack misprediction at return stack pop (incorrect target address)"}, |
| 77 | {0x52, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "PC_BRANCH_FAILED", |
| 78 | "Branch prediction misprediction"}, |
| 79 | {0x53, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "PC_BRANCH_TAKEN", |
| 80 | "Any predicted branch that is taken"}, |
| 81 | {0x54, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "PC_BRANCH_EXECUTED", |
| 82 | "Any taken branch that is executed"}, |
| 83 | {0x55, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "OP_EXECUTED", |
| 84 | "Number of operations executed (in instruction or mutli-cycle instruction)"}, |
| 85 | {0x56, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "CYCLES_INST_STALL", |
| 86 | "Cycles where no instruction available"}, |
| 87 | {0x57, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "CYCLES_INST", |
| 88 | "Number of instructions issued in a cycle"}, |
| 89 | {0x58, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "CYCLES_NEON_DATA_STALL", |
| 90 | "Number of cycles the processor waits on MRC data from NEON"}, |
| 91 | {0x59, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "CYCLES_NEON_INST_STALL", |
| 92 | "Number of cycles the processor waits on NEON instruction queue or NEON load queue"}, |
| 93 | {0x5A, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "NEON_CYCLES", |
| 94 | "Number of cycles NEON and integer processors are not idle"}, |
| 95 | {0x70, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "PMU0_EVENTS", |
| 96 | "Number of events from external input source PMUEXTIN[0]"}, |
| 97 | {0x71, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "PMU1_EVENTS", |
| 98 | "Number of events from external input source PMUEXTIN[1]"}, |
| 99 | {0x72, CTR(1) | CTR(2) | CTR(3) | CTR(4), 0, "PMU_EVENTS", |
| 100 | "Number of events from both external input sources PMUEXTIN[0] and PMUEXTIN[1]"}, |