gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Member Functions | Public Attributes | Private Member Functions | List of all members
GenericTimer::CoreTimers Class Reference

#include <generic_timer.hh>

Inheritance diagram for GenericTimer::CoreTimers:
SystemCounterListener Serializable

Classes

struct  EventStream
 

Public Member Functions

 CoreTimers (GenericTimer &_parent, ArmSystem &system, unsigned cpu, ArmInterruptPin *_irqPhysS, ArmInterruptPin *_irqPhysNS, ArmInterruptPin *_irqVirt, ArmInterruptPin *_irqHyp)
 
void physEventStreamCallback ()
 
void virtEventStreamCallback ()
 
void eventStreamCallback () const
 
void schedNextEvent (EventStream &ev_stream, ArchTimer &timer)
 
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...
 
- 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

GenericTimerparent
 Generic Timer parent reference. More...
 
uint32_t cntfrq
 System counter frequency as visible from this core. More...
 
CNTKCTL cntkctl
 Kernel control register. More...
 
CNTHCTL cnthctl
 Hypervisor control register. More...
 
ThreadContextthreadContext
 Thread (HW) context associated to this PE implementation. More...
 
ArmInterruptPin const * irqPhysS
 
ArmInterruptPin const * irqPhysNS
 
ArmInterruptPin const * irqVirt
 
ArmInterruptPin const * irqHyp
 
ArchTimerKvm physS
 
ArchTimerKvm physNS
 
ArchTimerKvm virt
 
ArchTimerKvm hyp
 
EventStream physEvStream
 
EventStream virtEvStream
 

Private Member Functions

 CoreTimers (const CoreTimers &c)
 

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)
 
static void unserializeGlobals (CheckpointIn &cp)
 

Detailed Description

Definition at line 291 of file generic_timer.hh.

Constructor & Destructor Documentation

◆ CoreTimers() [1/2]

GenericTimer::CoreTimers::CoreTimers ( GenericTimer _parent,
ArmSystem system,
unsigned  cpu,
ArmInterruptPin _irqPhysS,
ArmInterruptPin _irqPhysNS,
ArmInterruptPin _irqVirt,
ArmInterruptPin _irqHyp 
)

◆ CoreTimers() [2/2]

GenericTimer::CoreTimers::CoreTimers ( const CoreTimers c)
private

Member Function Documentation

◆ eventStreamCallback()

void GenericTimer::CoreTimers::eventStreamCallback ( ) const

◆ notify()

void GenericTimer::CoreTimers::notify ( void  )
overridevirtual

Called from the SystemCounter when a change in counting speed occurred Events should be rescheduled properly inside this member function.

Implements SystemCounterListener.

Definition at line 758 of file generic_timer.cc.

References physEvStream, physNS, schedNextEvent(), virt, and virtEvStream.

◆ physEventStreamCallback()

void GenericTimer::CoreTimers::physEventStreamCallback ( )

Definition at line 729 of file generic_timer.cc.

References eventStreamCallback(), physEvStream, physNS, and schedNextEvent().

Referenced by CoreTimers().

◆ schedNextEvent()

void GenericTimer::CoreTimers::schedNextEvent ( EventStream ev_stream,
ArchTimer timer 
)

◆ serialize()

void GenericTimer::CoreTimers::serialize ( CheckpointOut cp) const
overridevirtual

◆ unserialize()

void GenericTimer::CoreTimers::unserialize ( CheckpointIn cp)
overridevirtual

◆ virtEventStreamCallback()

void GenericTimer::CoreTimers::virtEventStreamCallback ( )

Definition at line 736 of file generic_timer.cc.

References eventStreamCallback(), schedNextEvent(), virt, and virtEvStream.

Referenced by CoreTimers().

Member Data Documentation

◆ cntfrq

uint32_t GenericTimer::CoreTimers::cntfrq

System counter frequency as visible from this core.

Definition at line 302 of file generic_timer.hh.

Referenced by GenericTimer::readMiscReg(), serialize(), GenericTimer::setMiscReg(), and unserialize().

◆ cnthctl

CNTHCTL GenericTimer::CoreTimers::cnthctl

Hypervisor control register.

Definition at line 308 of file generic_timer.hh.

Referenced by GenericTimer::readMiscReg(), serialize(), GenericTimer::setMiscReg(), and unserialize().

◆ cntkctl

CNTKCTL GenericTimer::CoreTimers::cntkctl

Kernel control register.

Definition at line 305 of file generic_timer.hh.

Referenced by GenericTimer::readMiscReg(), serialize(), GenericTimer::setMiscReg(), and unserialize().

◆ hyp

ArchTimerKvm GenericTimer::CoreTimers::hyp

◆ irqHyp

ArmInterruptPin const* GenericTimer::CoreTimers::irqHyp

Definition at line 316 of file generic_timer.hh.

◆ irqPhysNS

ArmInterruptPin const* GenericTimer::CoreTimers::irqPhysNS

Definition at line 314 of file generic_timer.hh.

◆ irqPhysS

ArmInterruptPin const* GenericTimer::CoreTimers::irqPhysS

Definition at line 313 of file generic_timer.hh.

◆ irqVirt

ArmInterruptPin const* GenericTimer::CoreTimers::irqVirt

Definition at line 315 of file generic_timer.hh.

◆ parent

GenericTimer& GenericTimer::CoreTimers::parent

Generic Timer parent reference.

Definition at line 299 of file generic_timer.hh.

Referenced by CoreTimers(), GenericTimerISA::readMiscReg(), schedNextEvent(), GenericTimerISA::setMiscReg(), and unserialize().

◆ physEvStream

EventStream GenericTimer::CoreTimers::physEvStream

◆ physNS

ArchTimerKvm GenericTimer::CoreTimers::physNS

◆ physS

ArchTimerKvm GenericTimer::CoreTimers::physS

◆ threadContext

ThreadContext* GenericTimer::CoreTimers::threadContext

Thread (HW) context associated to this PE implementation.

Definition at line 311 of file generic_timer.hh.

Referenced by eventStreamCallback().

◆ virt

ArchTimerKvm GenericTimer::CoreTimers::virt

◆ virtEvStream

EventStream GenericTimer::CoreTimers::virtEvStream

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

Generated on Mon Jun 8 2020 15:45:23 for gem5 by doxygen 1.8.13