ArmPMU.py (10465:a42b8d98fddc) ArmPMU.py (11988:665cd5f8b52b)
1# -*- mode:python -*-
2# Copyright (c) 2009-2014 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

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

33# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36#
37# Authors: Matt Horsnell
38# Andreas Sandberg
39
40from m5.defines import buildEnv
1# -*- mode:python -*-
2# Copyright (c) 2009-2014 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

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

33# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36#
37# Authors: Matt Horsnell
38# Andreas Sandberg
39
40from m5.defines import buildEnv
41from m5.SimObject import SimObject
41from m5.SimObject import *
42from m5.params import *
43from m5.params import isNullPointer
44from m5.proxy import *
45
46class ArmPMU(SimObject):
47 type = 'ArmPMU'
48 cxx_class = 'ArmISA::PMU'
49 cxx_header = 'arch/arm/pmu.hh'
50
42from m5.params import *
43from m5.params import isNullPointer
44from m5.proxy import *
45
46class ArmPMU(SimObject):
47 type = 'ArmPMU'
48 cxx_class = 'ArmISA::PMU'
49 cxx_header = 'arch/arm/pmu.hh'
50
51 @classmethod
52 def export_methods(cls, code):
53 code('''
54 void addEventProbe(unsigned int id,
55 SimObject *obj, const char *name);
56''')
51 cxx_exports = [
52 PyBindMethod("addEventProbe"),
53 ]
57
58 # To prevent cycles in the configuration hierarchy, we don't keep
59 # a list of supported events as a configuration param. Instead, we
60 # keep them in a local list and register them using the
61 # addEventProbe interface when other SimObjects register their
62 # probe listeners.
63 _deferred_event_types = []
64 # Override the normal SimObject::regProbeListeners method and

--- 72 unchanged lines hidden ---
54
55 # To prevent cycles in the configuration hierarchy, we don't keep
56 # a list of supported events as a configuration param. Instead, we
57 # keep them in a local list and register them using the
58 # addEventProbe interface when other SimObjects register their
59 # probe listeners.
60 _deferred_event_types = []
61 # Override the normal SimObject::regProbeListeners method and

--- 72 unchanged lines hidden ---