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

GenericTimer & parent
 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...
 
ThreadContext * threadContext
 Thread (HW) context associated to this PE implementation. More...
 
const ArmInterruptPin * irqPhysS
 
const ArmInterruptPin * irqPhysNS
 
const ArmInterruptPin * irqVirt
 
const ArmInterruptPin * 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 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