gem5  v21.1.0.2
Classes | Public Member Functions | Public Attributes | Private Member Functions | List of all members
gem5::GenericTimer::CoreTimers Class Reference

#include <generic_timer.hh>

Inheritance diagram for gem5::GenericTimer::CoreTimers:
gem5::SystemCounterListener gem5::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 gem5::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 gem5::Serializable
static const std::string & currentSection ()
 Gets the fully-qualified name of the active section. More...
 
static void generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it. More...
 

Detailed Description

Definition at line 303 of file generic_timer.hh.

Constructor & Destructor Documentation

◆ CoreTimers() [1/2]

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

◆ CoreTimers() [2/2]

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

Member Function Documentation

◆ eventStreamCallback()

void gem5::GenericTimer::CoreTimers::eventStreamCallback ( ) const

Definition at line 777 of file generic_timer.cc.

References gem5::ArmISA::sendEvent().

◆ notify()

void gem5::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 gem5::SystemCounterListener.

Definition at line 792 of file generic_timer.cc.

◆ physEventStreamCallback()

void gem5::GenericTimer::CoreTimers::physEventStreamCallback ( )

Definition at line 763 of file generic_timer.cc.

Referenced by CoreTimers().

◆ schedNextEvent()

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

◆ serialize()

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

Serialize an object.

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

Parameters
cpCheckpoint state

Implements gem5::Serializable.

Definition at line 799 of file generic_timer.cc.

References SERIALIZE_SCALAR.

◆ unserialize()

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

Unserialize an object.

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

Parameters
cpCheckpoint state

Implements gem5::Serializable.

Definition at line 830 of file generic_timer.cc.

References UNSERIALIZE_SCALAR.

◆ virtEventStreamCallback()

void gem5::GenericTimer::CoreTimers::virtEventStreamCallback ( )

Definition at line 770 of file generic_timer.cc.

Member Data Documentation

◆ cntfrq

uint32_t gem5::GenericTimer::CoreTimers::cntfrq

System counter frequency as visible from this core.

Definition at line 314 of file generic_timer.hh.

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

◆ cnthctl

ArmISA::CNTHCTL gem5::GenericTimer::CoreTimers::cnthctl

Hypervisor control register.

Definition at line 320 of file generic_timer.hh.

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

◆ cntkctl

ArmISA::CNTKCTL gem5::GenericTimer::CoreTimers::cntkctl

Kernel control register.

Definition at line 317 of file generic_timer.hh.

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

◆ hyp

ArchTimerKvm gem5::GenericTimer::CoreTimers::hyp

◆ irqHyp

const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqHyp

Definition at line 328 of file generic_timer.hh.

◆ irqPhysNS

const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysNS

Definition at line 326 of file generic_timer.hh.

◆ irqPhysS

const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysS

Definition at line 325 of file generic_timer.hh.

◆ irqVirt

const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqVirt

Definition at line 327 of file generic_timer.hh.

◆ parent

GenericTimer& gem5::GenericTimer::CoreTimers::parent

Generic Timer parent reference.

Definition at line 311 of file generic_timer.hh.

Referenced by CoreTimers().

◆ physEvStream

EventStream gem5::GenericTimer::CoreTimers::physEvStream

Definition at line 356 of file generic_timer.hh.

Referenced by gem5::GenericTimer::setMiscReg().

◆ physNS

ArchTimerKvm gem5::GenericTimer::CoreTimers::physNS

◆ physS

ArchTimerKvm gem5::GenericTimer::CoreTimers::physS

◆ threadContext

ThreadContext* gem5::GenericTimer::CoreTimers::threadContext

Thread (HW) context associated to this PE implementation.

Definition at line 323 of file generic_timer.hh.

◆ virt

ArchTimerKvm gem5::GenericTimer::CoreTimers::virt

◆ virtEvStream

EventStream gem5::GenericTimer::CoreTimers::virtEvStream

Definition at line 357 of file generic_timer.hh.

Referenced by gem5::GenericTimer::setMiscReg().


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

Generated on Tue Sep 21 2021 12:27:38 for gem5 by doxygen 1.8.17