gem5
v20.1.0.0
|
State of a counter within the PMU. More...
#include <pmu.hh>
Public Member Functions | |
CounterState (PMU &pmuReference, uint64_t counter_id) | |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
uint64_t | add (uint64_t delta) |
Add an event count to the counter and check for overflow. More... | |
bool | isFiltered () const |
void | detach () |
Detach the counter from its event. More... | |
void | attach (PMUEvent *event) |
Attach this counter to an event. More... | |
uint64_t | getCounterId () const |
Obtain the counter id. More... | |
uint64_t | getValue () const |
rReturn the counter value More... | |
void | setValue (uint64_t val) |
overwrite the value of the counter More... | |
Public Member Functions inherited from Serializable | |
Serializable () | |
virtual | ~Serializable () |
void | serializeSection (CheckpointOut &cp, const char *name) const |
Serialize an object into a new section. More... | |
void | serializeSection (CheckpointOut &cp, const std::string &name) const |
void | unserializeSection (CheckpointIn &cp, const char *name) |
Unserialize an a child object. More... | |
void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Public Attributes | |
EventTypeId | eventId |
Counter event ID. More... | |
PMEVTYPER_t | filter |
Filtering settings (evtCount is unused) More... | |
bool | enabled |
Is the counter enabled? More... | |
bool | overflow64 |
Is this a 64-bit counter? More... | |
Protected Member Functions | |
template<typename ... Args> | |
void | debugCounter (const char *mainString, Args &...args) const |
Protected Attributes | |
PMUEvent * | sourceEvent |
PmuEvent currently in use (if any) More... | |
uint64_t | counterId |
id of the counter instance More... | |
uint64_t | value |
Current value of the counter. More... | |
bool | resetValue |
Flag keeping track if the counter has been reset. More... | |
PMU & | pmu |
Additional Inherited Members | |
Static Public Member Functions inherited from Serializable | |
static const std::string & | currentSection () |
Gets the fully-qualified name of the active section. More... | |
static void | serializeAll (const std::string &cpt_dir) |
Serializes all the SimObjects. More... | |
static void | unserializeGlobals (CheckpointIn &cp) |
|
inline |
uint64_t ArmISA::PMU::CounterState::add | ( | uint64_t | delta | ) |
Add an event count to the counter and check for overflow.
delta | Number of events to add to the counter. |
Definition at line 764 of file pmu.cc.
References ArmISA::PMU::isFiltered().
void ArmISA::PMU::CounterState::attach | ( | PMUEvent * | event | ) |
Attach this counter to an event.
the | event to attach the counter to |
Definition at line 531 of file pmu.cc.
References MipsISA::event.
Referenced by ArmISA::PMU::regProbeListeners(), and ArmISA::PMU::updateCounter().
|
inlineprotected |
Definition at line 493 of file pmu.hh.
References counterId, csprintf(), eventId, sourceEvent, and warn.
void ArmISA::PMU::CounterState::detach | ( | ) |
Detach the counter from its event.
Definition at line 519 of file pmu.cc.
Referenced by ArmISA::PMU::updateCounter().
|
inline |
Obtain the counter id.
Definition at line 446 of file pmu.hh.
References counterId.
Referenced by ArmISA::PMU::updateCounter().
uint64_t ArmISA::PMU::CounterState::getValue | ( | ) | const |
rReturn the counter value
Definition at line 542 of file pmu.cc.
Referenced by ArmISA::PMU::getCounterValue(), and ArmISA::PMU::readMiscRegInt().
bool ArmISA::PMU::CounterState::isFiltered | ( | ) | const |
Definition at line 490 of file pmu.cc.
References ArmISA::currEL(), ArmISA::el, ArmISA::EL0, ArmISA::EL1, ArmISA::EL2, ArmISA::EL3, ArmISA::inSecureState(), ArmISA::MISCREG_CPSR, ArmISA::MISCREG_SCR, and panic.
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 748 of file pmu.cc.
References SERIALIZE_SCALAR.
void ArmISA::PMU::CounterState::setValue | ( | uint64_t | val | ) |
overwrite the value of the counter
the | new counter value |
Definition at line 554 of file pmu.cc.
References X86ISA::val.
Referenced by ArmISA::PMU::setControlReg(), ArmISA::PMU::setCounterValue(), and ArmISA::PMU::setMiscReg().
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 756 of file pmu.cc.
References UNSERIALIZE_SCALAR.
|
protected |
id of the counter instance
Definition at line 482 of file pmu.hh.
Referenced by debugCounter(), and getCounterId().
bool ArmISA::PMU::CounterState::enabled |
Is the counter enabled?
Definition at line 472 of file pmu.hh.
Referenced by ArmISA::PMU::regProbeListeners(), ArmISA::PMU::updateAllCounters(), and ArmISA::PMU::updateCounter().
EventTypeId ArmISA::PMU::CounterState::eventId |
Counter event ID.
Definition at line 466 of file pmu.hh.
Referenced by debugCounter(), ArmISA::PMU::getCounterTypeRegister(), ArmISA::PMU::PMU(), ArmISA::PMU::setCounterTypeRegister(), and ArmISA::PMU::updateCounter().
PMEVTYPER_t ArmISA::PMU::CounterState::filter |
Filtering settings (evtCount is unused)
Definition at line 469 of file pmu.hh.
Referenced by ArmISA::PMU::getCounterTypeRegister(), and ArmISA::PMU::setCounterTypeRegister().
bool ArmISA::PMU::CounterState::overflow64 |
|
protected |
|
protected |
PmuEvent currently in use (if any)
Definition at line 479 of file pmu.hh.
Referenced by debugCounter().
|
protected |