gem5/src
Andreas Sandberg 3697990c27 arm: Add a model of an ARM PMUv3
This class implements a subset of the ARM PMU v3 specification as
described in the ARMv8 reference manual. It supports most of the
features of the PMU, however the following features are known to be
missing:

 * Event filtering (e.g., from different privilege levels).
 * Access controls (the PMU currently ignores the execution level).
 * The chain counter (event no. 0x1E) is unimplemented.

The PMU itself does not implement any events, it merely provides an
interface for the configuration scripts to hook up probes that drive
events. Configuration scripts should call addEventProbe() to configure
custom events or high-level methods to configure architected
events. The Python implementation of addEventProbe() automatically
delays event type registration until after instantiation.

In order to support CPU switching and some combined counters (e.g.,
memory references synthesized from loads and stores), the PMU allows
multiple probes per event type. When creating a system that switches
between CPU models that share the same PMU, PMU events for all of the
CPU models can be registered with the PMU.

Kudos to Matt Horsnell for the initial gem5 implementation of the PMU.
2014-10-16 05:49:39 -04:00
..
arch arm: Add a model of an ARM PMUv3 2014-10-16 05:49:39 -04:00
base config: Add a --without-python option to build process 2014-10-16 05:49:32 -04:00
cpu cpu: Fix o3 SMT IQCount bug 2014-10-11 16:16:02 -05:00
dev arm: More UBSan cleanups after additional full-system runs 2014-10-01 08:05:51 -04:00
doc cpu: `Minor' in-order CPU model 2014-07-23 16:09:04 -05:00
doxygen MEM: Put memory system document into doxygen 2012-09-25 11:49:41 -05:00
kern arch: Cleanup unused ISA traits constants 2014-09-03 07:42:21 -04:00
mem ruby: network: garnet: add statistics for different activities 2014-10-11 15:02:23 -05:00
proto mem: change the namespace Message to ProtoMessage 2014-09-01 16:55:46 -05:00
python config: Add the ability to read a config file using C++ and Python 2014-10-16 05:49:37 -04:00
sim sim: Add typedefs for PMU probe points 2014-10-16 05:49:38 -04:00
unittest unittest: Fix build errors 2014-01-30 12:21:58 -06:00
Doxyfile Doxygen: Update the version of the Doxyfile 2012-10-11 06:38:42 -04:00
SConscript config: Add the ability to read a config file using C++ and Python 2014-10-16 05:49:37 -04:00