1# -*- mode:python -*- 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 --- 28 unchanged lines hidden (view full) --- 37# Authors: Matt Horsnell 38# Andreas Sandberg 39 40from m5.defines import buildEnv 41from m5.SimObject import * 42from m5.params import * 43from m5.params import isNullPointer 44from m5.proxy import * |
45from Gic import ArmInterruptPin |
46 47class ProbeEvent(object): 48 def __init__(self, pmu, _eventId, obj, *listOfNames): 49 self.obj = obj 50 self.names = listOfNames 51 self.eventId = _eventId 52 self.pmu = pmu 53 --- 9 unchanged lines hidden (view full) --- 63 self.pmu = pmu 64 65 def register(self): 66 self.pmu.getCCObject().addSoftwareIncrementEvent(self.eventId) 67 68ARCH_EVENT_CORE_CYCLES = 0x11 69 70class ArmPMU(SimObject): |
71 type = 'ArmPMU' 72 cxx_class = 'ArmISA::PMU' 73 cxx_header = 'arch/arm/pmu.hh' 74 75 cxx_exports = [ 76 PyBindMethod("addEventProbe"), 77 PyBindMethod("addSoftwareIncrementEvent"), 78 ] --- 90 unchanged lines hidden (view full) --- 169 # 0x2D: L2D_TLB_REFILL 170 # 0x2E: L2I_TLB_REFILL 171 # 0x2F: L2D_TLB 172 # 0x30: L2I_TLB 173 174 cycleEventId = Param.Int(ARCH_EVENT_CORE_CYCLES, "Cycle event id") 175 platform = Param.Platform(Parent.any, "Platform this device is part of.") 176 eventCounters = Param.Int(31, "Number of supported PMU counters") |
177 interrupt = Param.ArmInterruptPin("PMU interrupt") |