|
gem5
v20.1.0.5
|
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 |