gem5
Public Member Functions | Protected Attributes | List of all members
EventManager Class Reference

#include <eventq.hh>

Inheritance diagram for EventManager:
BasePixelPump DRAMCtrl::Rank Intel8254Timer MC146818 SimObject HDLcd::PixelPump X86ISA::I8254::X86Intel8254Timer MaltaIO::RTC TsunamiIO::RTC X86ISA::Cmos::X86RTC AbstractNVM AbstractReplacementPolicy AlphaISA::Interrupts AlphaISA::ISA ArmISA::Interrupts ArmISA::ISA ArmISA::PMU ArmISA::Stage2MMU ArmSemihosting BaseMemProbe BaseReplacementPolicy BaseTLB BasicLink BPredUnit CacheMemory ClockDomain ClockedObject DirectedGenerator DirectoryMemory DiskImage DVFSHandler EmulatedDriver EtherDump EtherObject FaultModel FUDesc FUPool Gicv2mFrame GoodbyeObject HelloObject I2CDevice IdeDisk IntrControl KvmVM MemChecker MessageBuffer MinorFU MinorFUPool MinorFUTiming MinorOpClass MinorOpClassSet MipsISA::Interrupts MipsISA::ISA OpDesc Platform PowerISA::Interrupts PowerISA::ISA PowerModel PowerModelState Prefetcher ProbeListenerObject Process PS2Device RealViewTemperatureSensor RiscvISA::Interrupts RiscvISA::ISA Root SerialDevice SimpleDisk SimpleObject SnoopFilter SouthBridge SparcISA::Interrupts SparcISA::ISA SubSystem ThermalCapacitor ThermalDomain ThermalNode ThermalReference ThermalResistor TimingExpr Trace::InstTracer UFSHostDevice::UFSSCSIDevice VectorRegisterFile VirtIODeviceBase VncInput VoltageDomain Wavefront WireBuffer X86ISA::ACPI::RSDP X86ISA::ACPI::SysDescTable X86ISA::E820Entry X86ISA::E820Table X86ISA::IntelMP::BaseConfigEntry X86ISA::IntelMP::ConfigTable X86ISA::IntelMP::ExtConfigEntry X86ISA::IntelMP::FloatingPointer X86ISA::IntLine X86ISA::IntSinkPin X86ISA::IntSourcePin X86ISA::ISA X86ISA::SMBios::SMBiosStructure X86ISA::SMBios::SMBiosTable

Public Member Functions

 EventManager (EventManager &em)
 
 EventManager (EventManager *em)
 
 EventManager (EventQueue *eq)
 
EventQueueeventQueue () const
 
void schedule (Event &event, Tick when)
 
void deschedule (Event &event)
 
void reschedule (Event &event, Tick when, bool always=false)
 
void schedule (Event *event, Tick when)
 
void deschedule (Event *event)
 
void reschedule (Event *event, Tick when, bool always=false)
 
void wakeupEventQueue (Tick when=(Tick) -1)
 
void setCurTick (Tick newVal)
 

Protected Attributes

EventQueueeventq
 A pointer to this object's event queue. More...
 

Detailed Description

Definition at line 719 of file eventq.hh.

Constructor & Destructor Documentation

◆ EventManager() [1/3]

EventManager::EventManager ( EventManager em)
inline

Definition at line 726 of file eventq.hh.

◆ EventManager() [2/3]

EventManager::EventManager ( EventManager em)
inline

Definition at line 727 of file eventq.hh.

◆ EventManager() [3/3]

EventManager::EventManager ( EventQueue eq)
inline

Definition at line 728 of file eventq.hh.

Member Function Documentation

◆ deschedule() [1/2]

void EventManager::deschedule ( Event event)
inline

◆ deschedule() [2/2]

void EventManager::deschedule ( Event event)
inline

Definition at line 761 of file eventq.hh.

References EventQueue::deschedule().

◆ eventQueue()

EventQueue* EventManager::eventQueue ( ) const
inline

◆ reschedule() [1/2]

void EventManager::reschedule ( Event event,
Tick  when,
bool  always = false 
)
inline

◆ reschedule() [2/2]

void EventManager::reschedule ( Event event,
Tick  when,
bool  always = false 
)
inline

Definition at line 767 of file eventq.hh.

References EventQueue::reschedule().

◆ schedule() [1/2]

void EventManager::schedule ( Event event,
Tick  when 
)
inline

Definition at line 737 of file eventq.hh.

References EventQueue::schedule().

Referenced by DRAMSim2::accessAndRespond(), FlashDevice::accessDevice(), DRAMCtrl::activateBank(), DRAMCtrl::addToReadQueue(), DRAMCtrl::addToWriteQueue(), BasePixelPump::beginLine(), DRAMCtrl::Rank::checkDrainDone(), IGbE::chkInterrupt(), HDLcd::cmdEnable(), Sinic::Base::cpuIntrPost(), NSGigE::cpuIntrPost(), Shader::dispatch_workgroups(), Pl111::dmaDone(), IdeDisk::doDmaDataRead(), IdeDisk::doDmaDataWrite(), IdeDisk::doDmaRead(), IdeDisk::doDmaTransfer(), IdeDisk::doDmaWrite(), ThermalModel::doStep(), DRAMCtrl::drain(), RubySystem::enqueueRubyEvent(), GoodbyeObject::fillBuffer(), GarnetSyntheticTraffic::GarnetSyntheticTraffic(), GpuDispatcher::GpuDispatcher(), SimpleCache::handleRequest(), DmaPort::handleResp(), X86ISA::GpuTLB::handleTranslationReturn(), RubyDirectedTester::hitCallback(), TrafficGen::initState(), Sequencer::insertRequest(), GPUCoalescer::insertRequest(), X86ISA::GpuTLB::issueTLBLookup(), VIPERCoalescer::makeRequest(), GPUCoalescer::makeRequest(), MemTest::MemTest(), ArmISA::TableWalker::nextWalk(), GpuDispatcher::notifyWgCompl(), DVFSHandler::perfLevel(), IGbE::RxDescCache::pktComplete(), IGbE::TxDescCache::pktComplete(), IGbE::postInterrupt(), DRAMCtrl::prechargeBank(), MC146818::RTCEvent::process(), MC146818::RTCTickEvent::process(), HelloObject::processEvent(), DRAMCtrl::processNextReqEvent(), DRAMCtrl::Rank::processPowerEvent(), DRAMCtrl::Rank::processRefreshEvent(), DRAMCtrl::processRespondEvent(), Shader::processTick(), EtherLink::Link::processTxQueue(), Pl111::readFramebuffer(), Cache::recvAtomic(), TrafficGen::recvReqRetry(), MemTest::recvRetry(), StubSlavePort::recvTimingReq(), SimpleMemory::recvTimingReq(), X86ISA::Walker::recvTimingResp(), X86ISA::GpuTLB::MemSidePort::recvTimingResp(), ElasticTrace::regProbeListeners(), BasePixelPump::renderPixels(), IGbE::restartClock(), Sp804::Timer::restartCounter(), A9GlobalTimer::Timer::restartCounter(), CpuLocalTimer::Timer::restartTimerCounter(), CpuLocalTimer::Timer::restartWatchdogCounter(), BasePixelPump::PixelEvent::resume(), PL031::resyncMatch(), EtherTapBase::retransmit(), RubyDirectedTester::RubyDirectedTester(), RubyTester::RubyTester(), NSGigE::rxKick(), CommMonitor::samplePeriodic(), PacketQueue::schedSendEvent(), GpuDispatcher::scheduleDispatch(), MC146818::RTCEvent::scheduleIntr(), DRAMCtrl::Rank::schedulePowerEvent(), DRAMCtrl::Rank::scheduleWakeUpEvent(), EtherBus::send(), ComputeUnit::sendRequest(), DRAMSim2::sendResponse(), EtherTapBase::sendSimulated(), ComputeUnit::sendSyncRequest(), Pl011::setInterrupts(), Intel8254Timer::Counter::CounterEvent::setTo(), BasePixelPump::start(), IdeDisk::startDma(), HelloObject::startup(), CommMonitor::startup(), MC146818::startup(), ThermalModel::startup(), Intel8254Timer::Counter::startup(), DRAMSim2::startup(), DRAMCtrl::Rank::startup(), GarnetSyntheticTraffic::tick(), MemTest::tick(), IGbE::tick(), DRAMSim2::tick(), Root::timeSync(), Root::timeSyncEnable(), X86ISA::GpuTLB::translationReturn(), EtherLink::Link::transmit(), EtherSwitch::Interface::transmit(), NSGigE::transmit(), EtherLink::Link::txDone(), NSGigE::txKick(), Sinic::Base::unserialize(), EtherSwitch::Interface::unserialize(), GpuDispatcher::unserialize(), Uart8250::unserialize(), EtherLink::Link::unserialize(), Sp804::Timer::unserialize(), PL031::unserialize(), EnergyCtrl::unserialize(), A9GlobalTimer::Timer::unserialize(), CpuLocalTimer::Timer::unserialize(), SparcISA::ISA::unserialize(), DVFSHandler::unserialize(), VGic::unserialize(), TrafficGen::unserialize(), X86ISA::Interrupts::unserialize(), Sinic::Device::unserialize(), NSGigE::unserialize(), IdeDisk::unserialize(), Pl390::unserialize(), Pl111::unserialize(), IGbE::unserialize(), TrafficGen::update(), ArchTimer::updateCounter(), TLBCoalescer::updatePhysAddresses(), HDLcd::virtRefresh(), Sequencer::wakeup(), RubyDirectedTester::wakeup(), GPUCoalescer::wakeup(), RubyTester::wakeup(), EnergyCtrl::write(), GpuDispatcher::write(), and MC146818::writeData().

◆ schedule() [2/2]

void EventManager::schedule ( Event event,
Tick  when 
)
inline

Definition at line 755 of file eventq.hh.

References EventQueue::schedule().

◆ setCurTick()

void EventManager::setCurTick ( Tick  newVal)
inline

Definition at line 777 of file eventq.hh.

References EventQueue::setCurTick().

Referenced by RubySystem::memWriteback(), and RubySystem::startup().

◆ wakeupEventQueue()

void EventManager::wakeupEventQueue ( Tick  when = (Tick)-1)
inline

Definition at line 772 of file eventq.hh.

References EventQueue::wakeup().

Member Data Documentation

◆ eventq

EventQueue* EventManager::eventq
protected

A pointer to this object's event queue.

Definition at line 723 of file eventq.hh.

Referenced by RubySystem::eventQueueEmpty(), RubySystem::memWriteback(), Pl390::postInt(), VGic::postVInt(), and RubySystem::startup().


The documentation for this class was generated from the following file:

Generated on Fri Apr 20 2018 09:05:07 for gem5 by doxygen 1.8.13