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]"}, 101