gem5  v20.1.0.0
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
ArchTimerKvm Class Reference

#include <generic_timer.hh>

Inheritance diagram for ArchTimerKvm:
ArchTimer SystemCounterListener Drainable Serializable

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

ArmSystemsystem
 

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
 

Detailed Description

Definition at line 254 of file generic_timer.hh.

Constructor & Destructor Documentation

◆ ArchTimerKvm()

ArchTimerKvm::ArchTimerKvm ( const std::string &  name,
ArmSystem system,
SimObject parent,
SystemCounter sysctr,
ArmInterruptPin interrupt 
)
inline

Definition at line 260 of file generic_timer.hh.

Member Function Documentation

◆ scheduleEvents()

bool ArchTimerKvm::scheduleEvents ( )
inlineoverrideprotectedvirtual

Reimplemented from ArchTimer.

Definition at line 271 of file generic_timer.hh.

References system, and System::validKvmEnvironment().

Member Data Documentation

◆ system

ArmSystem& ArchTimerKvm::system
private

Definition at line 257 of file generic_timer.hh.

Referenced by scheduleEvents().


The documentation for this class was generated from the following file:

Generated on Wed Sep 30 2020 14:02:20 for gem5 by doxygen 1.8.17