gem5  v20.1.0.0
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 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 
)

Definition at line 725 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 776 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 791 of file generic_timer.cc.

◆ physEventStreamCallback()

void GenericTimer::CoreTimers::physEventStreamCallback ( )

Definition at line 762 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 798 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 829 of file generic_timer.cc.

References UNSERIALIZE_SCALAR.

◆ virtEventStreamCallback()

void GenericTimer::CoreTimers::virtEventStreamCallback ( )

Definition at line 769 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 302 of file generic_timer.hh.

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

◆ cnthctl

ArmISA::CNTHCTL GenericTimer::CoreTimers::cnthctl

Hypervisor control register.

Definition at line 308 of file generic_timer.hh.

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

◆ cntkctl

ArmISA::CNTKCTL GenericTimer::CoreTimers::cntkctl

Kernel control register.

Definition at line 305 of file generic_timer.hh.

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

◆ hyp

ArchTimerKvm GenericTimer::CoreTimers::hyp

Definition at line 321 of file generic_timer.hh.

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

◆ irqHyp

const ArmInterruptPin* GenericTimer::CoreTimers::irqHyp

Definition at line 316 of file generic_timer.hh.

◆ irqPhysNS

const ArmInterruptPin* GenericTimer::CoreTimers::irqPhysNS

Definition at line 314 of file generic_timer.hh.

◆ irqPhysS

const ArmInterruptPin* GenericTimer::CoreTimers::irqPhysS

Definition at line 313 of file generic_timer.hh.

◆ irqVirt

const ArmInterruptPin* 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().

◆ physEvStream

EventStream GenericTimer::CoreTimers::physEvStream

Definition at line 344 of file generic_timer.hh.

Referenced by GenericTimer::setMiscReg().

◆ physNS

ArchTimerKvm GenericTimer::CoreTimers::physNS

Definition at line 319 of file generic_timer.hh.

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

◆ physS

ArchTimerKvm GenericTimer::CoreTimers::physS

Definition at line 318 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 311 of file generic_timer.hh.

◆ virt

ArchTimerKvm GenericTimer::CoreTimers::virt

Definition at line 320 of file generic_timer.hh.

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

◆ virtEvStream

EventStream GenericTimer::CoreTimers::virtEvStream

Definition at line 345 of file generic_timer.hh.

Referenced by GenericTimer::setMiscReg().


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

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