|
gem5
v22.0.0.2
|
#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. 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 * | irqPhysEL3 |
| const ArmInterruptPin * | irqPhysEL1 |
| const ArmInterruptPin * | irqVirtEL1 |
| const ArmInterruptPin * | irqPhysNsEL2 |
| const ArmInterruptPin * | irqVirtNsEL2 |
| const ArmInterruptPin * | irqPhysSEL2 |
| const ArmInterruptPin * | 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. 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 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 gem5::csprintf(), gem5::Named::name(), parent, and physEventStreamCallback().
|
private |
| void gem5::GenericTimer::CoreTimers::eventStreamCallback | ( | ) | const |
Definition at line 874 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 889 of file generic_timer.cc.
| void gem5::GenericTimer::CoreTimers::physEventStreamCallback | ( | ) |
Definition at line 860 of file generic_timer.cc.
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().
|
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().
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysEL1 |
Definition at line 329 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysEL3 |
Definition at line 328 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysNsEL2 |
Definition at line 331 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqPhysSEL2 |
Definition at line 333 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqVirtEL1 |
Definition at line 330 of file generic_timer.hh.
| const ArmInterruptPin* gem5::GenericTimer::CoreTimers::irqVirtNsEL2 |
Definition at line 332 of file generic_timer.hh.
| const ArmInterruptPin* 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.
Referenced by CoreTimers().
| ArchTimerKvm gem5::GenericTimer::CoreTimers::physEL1 |
Definition at line 337 of file generic_timer.hh.
Referenced by 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 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().