gem5
v20.1.0.0
|
#include <generic_timer.hh>
Public Member Functions | |
ArchTimerKvm (const std::string &name, ArmSystem &system, SimObject &parent, SystemCounter &sysctr, ArmInterruptPin *interrupt) | |
Public Member Functions inherited from ArchTimer | |
ArchTimer (const std::string &name, SimObject &parent, SystemCounter &sysctr, ArmInterruptPin *interrupt) | |
std::string | name () const |
Returns the timer name. More... | |
uint64_t | compareValue () const |
Returns the CompareValue view of the timer. More... | |
void | setCompareValue (uint64_t val) |
Sets the CompareValue view of the timer. More... | |
uint32_t | timerValue () const |
Returns the TimerValue view of the timer. More... | |
void | setTimerValue (uint32_t val) |
Sets the TimerValue view of the timer. More... | |
uint32_t | control () const |
Sets the control register. More... | |
void | setControl (uint32_t val) |
uint64_t | offset () const |
void | setOffset (uint64_t val) |
uint64_t | value () const |
Returns the value of the counter which this timer relies on. More... | |
Tick | whenValue (uint64_t target_val) |
void | notify (void) override |
Called from the SystemCounter when a change in counting speed occurred Events should be rescheduled properly inside this member function. More... | |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
DrainState | drain () override |
Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are partially executed or are partially in flight. More... | |
void | drainResume () override |
Resume execution after a successful drain. 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 Member Functions inherited from Drainable | |
DrainState | drainState () const |
Return the current drain state of an object. More... | |
virtual void | notifyFork () |
Notify a child process of a fork. More... | |
Protected Member Functions | |
bool | scheduleEvents () override |
Protected Member Functions inherited from ArchTimer | |
BitUnion32 (ArchTimerCtrl) Bitfield< 0 > enable | |
Control register. More... | |
void | updateCounter () |
Timer settings or the offset has changed, re-evaluate trigger condition and raise interrupt if necessary. More... | |
void | counterLimitReached () |
Called when the upcounter reaches the programmed value. More... | |
Protected Member Functions inherited from Drainable | |
Drainable () | |
virtual | ~Drainable () |
void | signalDrainDone () const |
Signal that an object is drained. More... | |
Private Attributes | |
ArmSystem & | system |
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) |
Protected Attributes inherited from ArchTimer | |
Bitfield< 1 > | imask |
Bitfield< 2 > | istatus |
EndBitUnion(ArchTimerCtrl) const std SimObject & | _parent |
Name of this timer. More... | |
SystemCounter & | _systemCounter |
ArmInterruptPin *const | _interrupt |
ArchTimerCtrl | _control |
Value of the control register ({CNTP/CNTHP/CNTV}_CTL). More... | |
uint64_t | _counterLimit |
Programmed limit value for the upcounter ({CNTP/CNTHP/CNTV}_CVAL). More... | |
uint64_t | _offset |
Offset relative to the physical timer (CNTVOFF) More... | |
EventFunctionWrapper | _counterLimitReachedEvent |
Definition at line 254 of file generic_timer.hh.
|
inline |
Definition at line 260 of file generic_timer.hh.
|
inlineoverrideprotectedvirtual |
Reimplemented from ArchTimer.
Definition at line 271 of file generic_timer.hh.
References system, and System::validKvmEnvironment().
|
private |
Definition at line 257 of file generic_timer.hh.
Referenced by scheduleEvents().