gem5  v21.0.1.0
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...
 
ArmISA::CNTKCTL cntkctl
 Kernel control register. More...
 
ArmISA::CNTHCTL cnthctl
 Hypervisor control register. More...
 
ThreadContextthreadContext
 Thread (HW) context associated to this PE implementation. More...
 
const ArmInterruptPinirqPhysS
 
const ArmInterruptPinirqPhysNS
 
const ArmInterruptPinirqVirt
 
const ArmInterruptPinirqHyp
 
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)
 Serializes all the SimObjects. More...
 
static void unserializeGlobals (CheckpointIn &cp)
 

Detailed Description

Definition at line 301 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 
)

Definition at line 721 of file generic_timer.cc.

References csprintf(), SimObject::name(), parent, and physEventStreamCallback().

◆ CoreTimers() [2/2]

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

Member Function Documentation

◆ eventStreamCallback()

void GenericTimer::CoreTimers::eventStreamCallback ( ) const

Definition at line 772 of file generic_timer.cc.

References ArmISA::sendEvent().

◆ 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 787 of file generic_timer.cc.

◆ physEventStreamCallback()

void GenericTimer::CoreTimers::physEventStreamCallback ( )

Definition at line 758 of file generic_timer.cc.

Referenced by CoreTimers().

◆ schedNextEvent()

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

◆ serialize()

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

Serialize an object.

Output an object's state into the current checkpoint section.

Parameters
cpCheckpoint state

Implements Serializable.

Definition at line 794 of file generic_timer.cc.

References SERIALIZE_SCALAR.

◆ unserialize()

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

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Implements Serializable.

Definition at line 825 of file generic_timer.cc.

References UNSERIALIZE_SCALAR.

◆ virtEventStreamCallback()

void GenericTimer::CoreTimers::virtEventStreamCallback ( )

Definition at line 765 of file generic_timer.cc.

Member Data Documentation

◆ cntfrq

uint32_t GenericTimer::CoreTimers::cntfrq

System counter frequency as visible from this core.

Definition at line 312 of file generic_timer.hh.

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

◆ cnthctl

ArmISA::CNTHCTL GenericTimer::CoreTimers::cnthctl

Hypervisor control register.

Definition at line 318 of file generic_timer.hh.

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

◆ cntkctl

ArmISA::CNTKCTL GenericTimer::CoreTimers::cntkctl

Kernel control register.

Definition at line 315 of file generic_timer.hh.

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

◆ hyp

ArchTimerKvm GenericTimer::CoreTimers::hyp

Definition at line 331 of file generic_timer.hh.

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

◆ irqHyp

const ArmInterruptPin* GenericTimer::CoreTimers::irqHyp

Definition at line 326 of file generic_timer.hh.

◆ irqPhysNS

const ArmInterruptPin* GenericTimer::CoreTimers::irqPhysNS

Definition at line 324 of file generic_timer.hh.

◆ irqPhysS

const ArmInterruptPin* GenericTimer::CoreTimers::irqPhysS

Definition at line 323 of file generic_timer.hh.

◆ irqVirt

const ArmInterruptPin* GenericTimer::CoreTimers::irqVirt

Definition at line 325 of file generic_timer.hh.

◆ parent

GenericTimer& GenericTimer::CoreTimers::parent

Generic Timer parent reference.

Definition at line 309 of file generic_timer.hh.

Referenced by CoreTimers().

◆ physEvStream

EventStream GenericTimer::CoreTimers::physEvStream

Definition at line 354 of file generic_timer.hh.

Referenced by GenericTimer::setMiscReg().

◆ physNS

ArchTimerKvm GenericTimer::CoreTimers::physNS

Definition at line 329 of file generic_timer.hh.

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

◆ physS

ArchTimerKvm GenericTimer::CoreTimers::physS

Definition at line 328 of file generic_timer.hh.

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

◆ threadContext

ThreadContext* GenericTimer::CoreTimers::threadContext

Thread (HW) context associated to this PE implementation.

Definition at line 321 of file generic_timer.hh.

◆ virt

ArchTimerKvm GenericTimer::CoreTimers::virt

Definition at line 330 of file generic_timer.hh.

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

◆ virtEvStream

EventStream GenericTimer::CoreTimers::virtEvStream

Definition at line 355 of file generic_timer.hh.

Referenced by GenericTimer::setMiscReg().


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

Generated on Tue Jun 22 2021 15:28:38 for gem5 by doxygen 1.8.17