ArmPMU.py (11988:665cd5f8b52b) ArmPMU.py (12117:f50d7e4998e9)
1# -*- mode:python -*-
1# -*- mode:python -*-
2# Copyright (c) 2009-2014 ARM Limited
2# Copyright (c) 2009-2014, 2017 ARM Limited
3# All rights reserved.
4#
5# The license below extends only to copyright in the software and shall
6# not be construed as granting a license to any other intellectual
7# property including but not limited to intellectual property relating
8# to a hardware implementation of the functionality of the software
9# licensed hereunder. You may use the software subject to the license
10# terms below provided that you ensure that this notice is replicated

--- 81 unchanged lines hidden (view full) ---

92 sharing the PMU (e.g., when switching between CPU models).
93 """
94
95 bpred = cpu.branchPred if cpu and not isNullPointer(cpu.branchPred) \
96 else None
97
98 # 0x01: L1I_CACHE_REFILL
99 self.addEventProbe(0x02, itb, "Refills")
3# All rights reserved.
4#
5# The license below extends only to copyright in the software and shall
6# not be construed as granting a license to any other intellectual
7# property including but not limited to intellectual property relating
8# to a hardware implementation of the functionality of the software
9# licensed hereunder. You may use the software subject to the license
10# terms below provided that you ensure that this notice is replicated

--- 81 unchanged lines hidden (view full) ---

92 sharing the PMU (e.g., when switching between CPU models).
93 """
94
95 bpred = cpu.branchPred if cpu and not isNullPointer(cpu.branchPred) \
96 else None
97
98 # 0x01: L1I_CACHE_REFILL
99 self.addEventProbe(0x02, itb, "Refills")
100 # 0x03: L2D_CACHE_REFILL
100 # 0x03: L1D_CACHE_REFILL
101 # 0x04: L1D_CACHE
102 self.addEventProbe(0x05, dtb, "Refills")
103 self.addEventProbe(0x06, cpu, "RetiredLoads")
104 self.addEventProbe(0x07, cpu, "RetiredStores")
105 self.addEventProbe(0x08, cpu, "RetiredInsts")
106 # 0x09: EXC_TAKEN
107 # 0x0A: EXC_RETURN
108 # 0x0B: CID_WRITE_RETIRED

--- 13 unchanged lines hidden (view full) ---

122 # 0x19: BUS_ACCESS
123 # 0x1A: MEMORY_ERROR
124 # 0x1B: INST_SPEC
125 # 0x1C: TTBR_WRITE_RETIRED
126 # 0x1D: BUS_CYCLES
127 # 0x1E: CHAIN
128 # 0x1F: L1D_CACHE_ALLOCATE
129 # 0x20: L2D_CACHE_ALLOCATE
101 # 0x04: L1D_CACHE
102 self.addEventProbe(0x05, dtb, "Refills")
103 self.addEventProbe(0x06, cpu, "RetiredLoads")
104 self.addEventProbe(0x07, cpu, "RetiredStores")
105 self.addEventProbe(0x08, cpu, "RetiredInsts")
106 # 0x09: EXC_TAKEN
107 # 0x0A: EXC_RETURN
108 # 0x0B: CID_WRITE_RETIRED

--- 13 unchanged lines hidden (view full) ---

122 # 0x19: BUS_ACCESS
123 # 0x1A: MEMORY_ERROR
124 # 0x1B: INST_SPEC
125 # 0x1C: TTBR_WRITE_RETIRED
126 # 0x1D: BUS_CYCLES
127 # 0x1E: CHAIN
128 # 0x1F: L1D_CACHE_ALLOCATE
129 # 0x20: L2D_CACHE_ALLOCATE
130 # 0x21: BR_RETIRED
131 # 0x22: BR_MIS_PRED_RETIRED
132 # 0x23: STALL_FRONTEND
133 # 0x24: STALL_BACKEND
134 # 0x25: L1D_TLB
135 # 0x26: L1I_TLB
136 # 0x27: L2I_CACHE
137 # 0x28: L2I_CACHE_REFILL
138 # 0x29: L3D_CACHE_ALLOCATE
139 # 0x2A: L3D_CACHE_REFILL
140 # 0x2B: L3D_CACHE
141 # 0x2C: L3D_CACHE_WB
142 # 0x2D: L2D_TLB_REFILL
143 # 0x2E: L2I_TLB_REFILL
144 # 0x2F: L2D_TLB
145 # 0x30: L2I_TLB
130
131 platform = Param.Platform(Parent.any, "Platform this device is part of.")
132 eventCounters = Param.Int(31, "Number of supported PMU counters")
133 pmuInterrupt = Param.Int(68, "PMU GIC interrupt number")
146
147 platform = Param.Platform(Parent.any, "Platform this device is part of.")
148 eventCounters = Param.Int(31, "Number of supported PMU counters")
149 pmuInterrupt = Param.Int(68, "PMU GIC interrupt number")