|
gem5
v21.2.1.1
|
#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 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... | |
Definition at line 303 of file generic_timer.hh.
| gem5::GenericTimer::CoreTimers::CoreTimers | ( | GenericTimer & | _parent, |
| ArmSystem & | system, | ||
| unsigned | cpu, | ||
| ArmInterruptPin * | _irqPhysS, | ||
| ArmInterruptPin * | _irqPhysNS, | ||
| ArmInterruptPin * | _irqVirt, | ||
| ArmInterruptPin * | _irqHyp | ||
| ) |
Definition at line 727 of file generic_timer.cc.
References gem5::csprintf(), gem5::Named::name(), parent, and physEventStreamCallback().
|
private |
| void gem5::GenericTimer::CoreTimers::eventStreamCallback | ( | ) | const |
Definition at line 779 of file generic_timer.cc.
References gem5::ArmISA::sendEvent().
|
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 794 of file generic_timer.cc.
| void gem5::GenericTimer::CoreTimers::physEventStreamCallback | ( | ) |
Definition at line 765 of file generic_timer.cc.
Referenced by CoreTimers().
| void gem5::GenericTimer::CoreTimers::schedNextEvent | ( | EventStream & | ev_stream, |
| ArchTimer & | timer | ||
| ) |
Definition at line 786 of file generic_timer.cc.
References gem5::GenericTimer::CoreTimers::EventStream::event, gem5::GenericTimer::CoreTimers::EventStream::eventTargetValue(), gem5::ArchTimer::value(), and gem5::ArchTimer::whenValue().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Definition at line 801 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 gem5::Serializable.
Definition at line 832 of file generic_timer.cc.
References UNSERIALIZE_SCALAR.
| void gem5::GenericTimer::CoreTimers::virtEventStreamCallback | ( | ) |
Definition at line 772 of file generic_timer.cc.
| 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().
| 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().
| 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().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::hyp |
Definition at line 333 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqHyp |
Definition at line 328 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysNS |
Definition at line 326 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysS |
Definition at line 325 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqVirt |
Definition at line 327 of file generic_timer.hh.
| GenericTimer& gem5::GenericTimer::CoreTimers::parent |
Generic Timer parent reference.
Definition at line 311 of file generic_timer.hh.
Referenced by CoreTimers().
| EventStream gem5::GenericTimer::CoreTimers::physEvStream |
Definition at line 356 of file generic_timer.hh.
Referenced by gem5::GenericTimer::setMiscReg().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::physNS |
Definition at line 331 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::physS |
Definition at line 330 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| ThreadContext* gem5::GenericTimer::CoreTimers::threadContext |
Thread (HW) context associated to this PE implementation.
Definition at line 323 of file generic_timer.hh.
| ArchTimerKvm gem5::GenericTimer::CoreTimers::virt |
Definition at line 332 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| EventStream gem5::GenericTimer::CoreTimers::virtEvStream |
Definition at line 357 of file generic_timer.hh.
Referenced by gem5::GenericTimer::setMiscReg().