gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 AddrMapper ArmInterruptPinGen ArmISA::PMU ArmISA::Stage2MMU ArmSemihosting BaseCacheCompressor BaseIndexingPolicy BaseInterrupts BaseISA BaseMemProbe BaseReplacementPolicy BaseTLB BasicLink BloomFilter::Base BPredUnit CacheMemory ClockDomain ClockedObject CommMonitor DeltaCorrelatingPredictionTables DirectedGenerator DirectoryMemory DiskImage Display DistEtherLink DVFSHandler EmulatedDriver EtherBus EtherDump EtherLink EtherSwitch EtherTapBase ExternalMaster ExternalSlave FastModel::CortexA76Cluster FaultModel FUDesc FUPool Gicv2mFrame GoodbyeObject HelloObject I2CDevice IdeDisk IndirectPredictor IntrControl KvmVM LoopPredictor MemChecker MemCheckerMonitor MessageBuffer MinorFU MinorFUPool MinorFUTiming MinorOpClass MinorOpClassSet OpDesc Platform PowerModel PowerModelState Prefetcher ProbeListenerObject Process PS2Device QoS::Policy QoS::TurnaroundPolicy RealViewTemperatureSensor RedirectPath Root sc_gem5::Kernel SerialDevice SimpleDisk SimpleMemobj SimpleObject SnoopFilter SouthBridge StatisticalCorrector SubSystem System TAGEBase ThermalCapacitor ThermalDomain ThermalNode ThermalReference ThermalResistor TimingExpr Trace::InstTracer UFSHostDevice::UFSSCSIDevice VectorRegisterFile VirtIODeviceBase VncInput VoltageDomain Wavefront WireBuffer WriteAllocator X86ISA::ACPI::RSDP X86ISA::ACPI::SysDescTable X86ISA::E820Entry X86ISA::E820Table X86ISA::IntelMP::BaseConfigEntry X86ISA::IntelMP::ConfigTable X86ISA::IntelMP::ExtConfigEntry X86ISA::IntelMP::FloatingPointer 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 726 of file eventq.hh.

Constructor & Destructor Documentation

◆ EventManager() [1/3]

EventManager::EventManager ( EventManager em)
inline

Definition at line 733 of file eventq.hh.

◆ EventManager() [2/3]

EventManager::EventManager ( EventManager em)
inline

Definition at line 734 of file eventq.hh.

◆ EventManager() [3/3]

EventManager::EventManager ( EventQueue eq)
inline

Definition at line 735 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 768 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 774 of file eventq.hh.

References EventQueue::reschedule().

◆ schedule() [1/2]

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

Definition at line 744 of file eventq.hh.

References EventQueue::schedule().

Referenced by DRAMSim2::accessAndRespond(), FlashDevice::accessDevice(), BaseKvmCPU::activateContext(), AtomicSimpleCPU::activateContext(), TimingSimpleCPU::activateContext(), BaseCPU::BaseCPU(), BasePixelPump::beginLine(), TraceCPU::checkAndSchedExitEvent(), DRAMCtrl::Rank::checkDrainDone(), IGbE::chkInterrupt(), HDLcd::cmdEnable(), Sinic::Base::cpuIntrPost(), NSGigE::cpuIntrPost(), CPUProgressEvent::CPUProgressEvent(), TraceCPU::dcacheRetryRecvd(), BOPPrefetcher::delayQueueEventWrapper(), TimingSimpleCPU::TimingCPUPort::TickEvent::description(), Shader::dispatch_workgroups(), Pl111::dmaDone(), IdeDisk::doDmaDataRead(), IdeDisk::doDmaDataWrite(), IdeDisk::doDmaRead(), IdeDisk::doDmaTransfer(), IdeDisk::doDmaWrite(), ThermalModel::doStep(), TimingSimpleCPU::drain(), BaseKvmCPU::drainResume(), AtomicSimpleCPU::drainResume(), TimingSimpleCPU::drainResume(), FullO3CPU< O3CPUImpl >::drainResume(), RubySystem::enqueueRubyEvent(), GoodbyeObject::fillBuffer(), Minor::LSQ::SplitDataRequest::finish(), BaseKvmCPU::finishMMIOPending(), GarnetSyntheticTraffic::GarnetSyntheticTraffic(), GpuDispatcher::GpuDispatcher(), SimpleCache::handleRequest(), DmaPort::handleResp(), X86ISA::GpuTLB::handleTranslationReturn(), RubyDirectedTester::hitCallback(), TraceCPU::icacheRetryRecvd(), TraceCPU::init(), BOPPrefetcher::insertIntoDelayQueue(), Sequencer::insertRequest(), GPUCoalescer::insertRequest(), TimingSimpleCPU::IprEvent::IprEvent(), X86ISA::GpuTLB::issueTLBLookup(), VIPERCoalescer::makeRequest(), GPUCoalescer::makeRequest(), MemTest::MemTest(), ArmISA::TableWalker::nextWalk(), GpuDispatcher::notifyWgCompl(), DVFSHandler::perfLevel(), IGbE::RxDescCache::pktComplete(), IGbE::TxDescCache::pktComplete(), IGbE::postInterrupt(), MC146818::RTCEvent::process(), MC146818::RTCTickEvent::process(), CPUProgressEvent::process(), AccessMapPatternMatching::processEpochEvent(), HelloObject::processEvent(), SparcISA::ISA::processHSTickCompare(), DRAMCtrl::Rank::processPowerEvent(), BaseCPU::processProfileEvent(), DRAMCtrl::Rank::processRefreshEvent(), SparcISA::ISA::processSTickCompare(), Shader::processTick(), EtherLink::Link::processTxQueue(), Pl111::readFramebuffer(), BaseCache::recvAtomic(), MemTest::recvRetry(), StubSlavePort::recvTimingReq(), SimpleMemory::recvTimingReq(), X86ISA::Walker::recvTimingResp(), X86ISA::GpuTLB::MemSidePort::recvTimingResp(), 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(), Gicv3Its::runProcessTiming(), NSGigE::rxKick(), CommMonitor::samplePeriodic(), SMMUv3SlaveInterface::schedAtsTimingResp(), TraceCPU::schedDcacheNextEvent(), TraceCPU::schedIcacheNext(), PacketQueue::schedSendEvent(), MipsISA::ISA::scheduleCP0Update(), SMMUv3SlaveInterface::scheduleDeviceRetry(), GpuDispatcher::scheduleDispatch(), MC146818::RTCEvent::scheduleIntr(), DRAMCtrl::Rank::schedulePowerEvent(), BaseCPU::schedulePowerGatingEvent(), FullO3CPU< O3CPUImpl >::scheduleThreadExitEvent(), FullO3CPU< O3CPUImpl >::scheduleTickEvent(), BaseTrafficGen::scheduleUpdate(), SMMUProcess::scheduleWakeup(), DRAMCtrl::Rank::scheduleWakeUpEvent(), EtherBus::send(), ComputeUnit::sendRequest(), DRAMSim2::sendResponse(), EtherTapBase::sendSimulated(), ComputeUnit::sendSyncRequest(), SparcISA::ISA::setFSReg(), Pl011::setInterrupts(), Intel8254Timer::Counter::CounterEvent::setTo(), BasePixelPump::start(), IdeDisk::startDma(), sc_gem5::Kernel::startup(), HelloObject::startup(), CommMonitor::startup(), BaseKvmCPU::startup(), MC146818::startup(), ThermalModel::startup(), AccessMapPatternMatching::startup(), Intel8254Timer::Counter::startup(), DRAMSim2::startup(), BaseCPU::startup(), DRAMCtrl::Rank::startup(), BaseCPU::suspendContext(), BaseCPU::takeOverFrom(), GarnetSyntheticTraffic::tick(), MemTest::tick(), IGbE::tick(), DRAMSim2::tick(), FullO3CPU< O3CPUImpl >::tick(), BaseKvmCPU::tick(), Root::timeSync(), Root::timeSyncEnable(), X86ISA::GpuTLB::translationReturn(), EtherLink::Link::transmit(), EtherSwitch::Interface::transmit(), NSGigE::transmit(), EtherLink::Link::txDone(), NSGigE::txKick(), ThreadState::unserialize(), 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(), BaseTrafficGen::unserialize(), X86ISA::Interrupts::unserialize(), Sinic::Device::unserialize(), NSGigE::unserialize(), IdeDisk::unserialize(), Pl111::unserialize(), GicV2::unserialize(), IGbE::unserialize(), ArchTimer::updateCounter(), TLBCoalescer::updatePhysAddresses(), HDLcd::virtRefresh(), FullO3CPU< O3CPUImpl >::wakeCPU(), Sequencer::wakeup(), RubyDirectedTester::wakeup(), GPUCoalescer::wakeup(), RubyTester::wakeup(), EnergyCtrl::write(), GpuDispatcher::write(), SMMUv3::writeControl(), and MC146818::writeData().

◆ schedule() [2/2]

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

Definition at line 762 of file eventq.hh.

References EventQueue::schedule().

◆ setCurTick()

void EventManager::setCurTick ( Tick  newVal)
inline

Definition at line 784 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 779 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 730 of file eventq.hh.

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


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

Generated on Fri Feb 28 2020 16:27:11 for gem5 by doxygen 1.8.13