gem5 v24.0.0.0
|
#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. | |
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. | |
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().