gem5
v20.1.0.0
|
#include <generic_timer.hh>
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 | |
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 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) |
Definition at line 291 of file generic_timer.hh.
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().
|
private |
void GenericTimer::CoreTimers::eventStreamCallback | ( | ) | const |
Definition at line 776 of file generic_timer.cc.
References ArmISA::sendEvent().
|
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.
void GenericTimer::CoreTimers::physEventStreamCallback | ( | ) |
Definition at line 762 of file generic_timer.cc.
Referenced by CoreTimers().
void GenericTimer::CoreTimers::schedNextEvent | ( | EventStream & | ev_stream, |
ArchTimer & | timer | ||
) |
Definition at line 783 of file generic_timer.cc.
References GenericTimer::CoreTimers::EventStream::event, GenericTimer::CoreTimers::EventStream::eventTargetValue(), ArchTimer::value(), and ArchTimer::whenValue().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 798 of file generic_timer.cc.
References SERIALIZE_SCALAR.
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 829 of file generic_timer.cc.
References UNSERIALIZE_SCALAR.
void GenericTimer::CoreTimers::virtEventStreamCallback | ( | ) |
Definition at line 769 of file generic_timer.cc.
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().
ArmISA::CNTHCTL GenericTimer::CoreTimers::cnthctl |
Hypervisor control register.
Definition at line 308 of file generic_timer.hh.
Referenced by GenericTimer::readMiscReg(), and GenericTimer::setMiscReg().
ArmISA::CNTKCTL GenericTimer::CoreTimers::cntkctl |
Kernel control register.
Definition at line 305 of file generic_timer.hh.
Referenced by GenericTimer::readMiscReg(), and GenericTimer::setMiscReg().
ArchTimerKvm GenericTimer::CoreTimers::hyp |
Definition at line 321 of file generic_timer.hh.
Referenced by GenericTimer::readMiscReg(), and GenericTimer::setMiscReg().
const ArmInterruptPin* GenericTimer::CoreTimers::irqHyp |
Definition at line 316 of file generic_timer.hh.
const ArmInterruptPin* GenericTimer::CoreTimers::irqPhysNS |
Definition at line 314 of file generic_timer.hh.
const ArmInterruptPin* GenericTimer::CoreTimers::irqPhysS |
Definition at line 313 of file generic_timer.hh.
const ArmInterruptPin* GenericTimer::CoreTimers::irqVirt |
Definition at line 315 of file generic_timer.hh.
GenericTimer& GenericTimer::CoreTimers::parent |
Generic Timer parent reference.
Definition at line 299 of file generic_timer.hh.
Referenced by CoreTimers().
EventStream GenericTimer::CoreTimers::physEvStream |
Definition at line 344 of file generic_timer.hh.
Referenced by GenericTimer::setMiscReg().
ArchTimerKvm GenericTimer::CoreTimers::physNS |
Definition at line 319 of file generic_timer.hh.
Referenced by GenericTimer::readMiscReg(), and GenericTimer::setMiscReg().
ArchTimerKvm GenericTimer::CoreTimers::physS |
Definition at line 318 of file generic_timer.hh.
Referenced by GenericTimer::readMiscReg(), and GenericTimer::setMiscReg().
ThreadContext* GenericTimer::CoreTimers::threadContext |
Thread (HW) context associated to this PE implementation.
Definition at line 311 of file generic_timer.hh.
ArchTimerKvm GenericTimer::CoreTimers::virt |
Definition at line 320 of file generic_timer.hh.
Referenced by GenericTimer::readMiscReg(), and GenericTimer::setMiscReg().
EventStream GenericTimer::CoreTimers::virtEvStream |
Definition at line 345 of file generic_timer.hh.
Referenced by GenericTimer::setMiscReg().