|
gem5 v23.0.0.1
|
#include <generic_timer.hh>
Classes | |
| struct | EventStream |
Public Member Functions | |
| CoreTimers (GenericTimer &_parent, ArmSystem &system, unsigned cpu, ArmInterruptPin *irq_el3_phys, ArmInterruptPin *irq_el1_phys, ArmInterruptPin *irq_el1_virt, ArmInterruptPin *irq_el2_ns_phys, ArmInterruptPin *irq_el2_ns_virt, ArmInterruptPin *irq_el2_s_phys, ArmInterruptPin *irq_el2_s_virt) | |
| 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. | |
| void | serialize (CheckpointOut &cp) const override |
| Serialize an object. | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. | |
| virtual void | notify (void)=0 |
| Called from the SystemCounter when a change in counting speed occurred Events should be rescheduled properly inside this member function. | |
Public Member Functions inherited from gem5::Serializable | |
| Serializable () | |
| virtual | ~Serializable () |
| virtual void | serialize (CheckpointOut &cp) const =0 |
| Serialize an object. | |
| virtual void | unserialize (CheckpointIn &cp)=0 |
| Unserialize an object. | |
| void | serializeSection (CheckpointOut &cp, const char *name) const |
| Serialize an object into a new section. | |
| void | serializeSection (CheckpointOut &cp, const std::string &name) const |
| void | unserializeSection (CheckpointIn &cp, const char *name) |
| Unserialize an a child object. | |
| void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Public Attributes | |
| GenericTimer & | parent |
| Generic Timer parent reference. | |
| uint32_t | cntfrq |
| System counter frequency as visible from this core. | |
| ArmISA::CNTKCTL | cntkctl |
| Kernel control register. | |
| ArmISA::CNTHCTL | cnthctl |
| Hypervisor control register. | |
| ThreadContext * | threadContext |
| Thread (HW) context associated to this PE implementation. | |
| ArmInterruptPin const * | irqPhysEL3 |
| ArmInterruptPin const * | irqPhysEL1 |
| ArmInterruptPin const * | irqVirtEL1 |
| ArmInterruptPin const * | irqPhysNsEL2 |
| ArmInterruptPin const * | irqVirtNsEL2 |
| ArmInterruptPin const * | irqPhysSEL2 |
| ArmInterruptPin const * | irqVirtSEL2 |
| ArchTimerKvm | physEL3 |
| ArchTimerKvm | physEL1 |
| ArchTimerKvm | virtEL1 |
| ArchTimerKvm | physNsEL2 |
| ArchTimerKvm | virtNsEL2 |
| ArchTimerKvm | physSEL2 |
| ArchTimerKvm | virtSEL2 |
| 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. | |
| static void | generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream) |
| Generate a checkpoint file so that the serialization can be routed to it. | |
Definition at line 301 of file generic_timer.hh.
| gem5::GenericTimer::CoreTimers::CoreTimers | ( | GenericTimer & | _parent, |
| ArmSystem & | system, | ||
| unsigned | cpu, | ||
| ArmInterruptPin * | irq_el3_phys, | ||
| ArmInterruptPin * | irq_el1_phys, | ||
| ArmInterruptPin * | irq_el1_virt, | ||
| ArmInterruptPin * | irq_el2_ns_phys, | ||
| ArmInterruptPin * | irq_el2_ns_virt, | ||
| ArmInterruptPin * | irq_el2_s_phys, | ||
| ArmInterruptPin * | irq_el2_s_virt | ||
| ) |
Definition at line 810 of file generic_timer.cc.
References physEventStreamCallback().
|
private |
| void gem5::GenericTimer::CoreTimers::eventStreamCallback | ( | ) | const |
Definition at line 874 of file generic_timer.cc.
References gem5::ArmISA::sendEvent().
Referenced by physEventStreamCallback().
|
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 889 of file generic_timer.cc.
| void gem5::GenericTimer::CoreTimers::physEventStreamCallback | ( | ) |
Definition at line 860 of file generic_timer.cc.
References eventStreamCallback(), physEL1, physEvStream, and schedNextEvent().
Referenced by CoreTimers().
| void gem5::GenericTimer::CoreTimers::schedNextEvent | ( | EventStream & | ev_stream, |
| ArchTimer & | timer | ||
| ) |
Definition at line 881 of file generic_timer.cc.
References gem5::GenericTimer::CoreTimers::EventStream::event, gem5::GenericTimer::CoreTimers::EventStream::eventTargetValue(), gem5::ArchTimer::value(), and gem5::ArchTimer::whenValue().
Referenced by physEventStreamCallback().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Definition at line 896 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 930 of file generic_timer.cc.
References UNSERIALIZE_SCALAR.
| void gem5::GenericTimer::CoreTimers::virtEventStreamCallback | ( | ) |
Definition at line 867 of file generic_timer.cc.
| uint32_t gem5::GenericTimer::CoreTimers::cntfrq |
System counter frequency as visible from this core.
Definition at line 317 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 323 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 320 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| ArmInterruptPin const* gem5::GenericTimer::CoreTimers::irqPhysEL1 |
Definition at line 329 of file generic_timer.hh.
| ArmInterruptPin const* gem5::GenericTimer::CoreTimers::irqPhysEL3 |
Definition at line 328 of file generic_timer.hh.
| ArmInterruptPin const* gem5::GenericTimer::CoreTimers::irqPhysNsEL2 |
Definition at line 331 of file generic_timer.hh.
| ArmInterruptPin const* gem5::GenericTimer::CoreTimers::irqPhysSEL2 |
Definition at line 333 of file generic_timer.hh.
| ArmInterruptPin const* gem5::GenericTimer::CoreTimers::irqVirtEL1 |
Definition at line 330 of file generic_timer.hh.
| ArmInterruptPin const* gem5::GenericTimer::CoreTimers::irqVirtNsEL2 |
Definition at line 332 of file generic_timer.hh.
| ArmInterruptPin const* gem5::GenericTimer::CoreTimers::irqVirtSEL2 |
Definition at line 334 of file generic_timer.hh.
| GenericTimer& gem5::GenericTimer::CoreTimers::parent |
Generic Timer parent reference.
Definition at line 314 of file generic_timer.hh.
| ArchTimerKvm gem5::GenericTimer::CoreTimers::physEL1 |
Definition at line 337 of file generic_timer.hh.
Referenced by physEventStreamCallback(), gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::physEL3 |
Definition at line 336 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| EventStream gem5::GenericTimer::CoreTimers::physEvStream |
Definition at line 365 of file generic_timer.hh.
Referenced by physEventStreamCallback(), and gem5::GenericTimer::setMiscReg().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::physNsEL2 |
Definition at line 339 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::physSEL2 |
Definition at line 341 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 326 of file generic_timer.hh.
| ArchTimerKvm gem5::GenericTimer::CoreTimers::virtEL1 |
Definition at line 338 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| EventStream gem5::GenericTimer::CoreTimers::virtEvStream |
Definition at line 366 of file generic_timer.hh.
Referenced by gem5::GenericTimer::setMiscReg().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::virtNsEL2 |
Definition at line 340 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::virtSEL2 |
Definition at line 342 of file generic_timer.hh.
Referenced by gem5::GenericTimer::readMiscReg(), and gem5::GenericTimer::setMiscReg().