Go to the documentation of this file.
30 #ifndef __SIM_GLOBAL_EVENT_HH__
31 #define __SIM_GLOBAL_EVENT_HH__
155 template <
class Derived>
245 #endif // __SIM_GLOBAL_EVENT_HH__
A special global event that synchronizes all threads and forces them to process asynchronously enqueu...
virtual const char * description() const =0
GlobalEvent(Priority p, Flags f)
BaseGlobalEvent(Priority p, Flags f)
GlobalSyncEvent(Tick when, Tick _repeat, Priority p, Flags f)
BaseGlobalEventTemplate< GlobalSyncEvent > Base
virtual ~GlobalSyncEvent()
GlobalEvent(Tick when, Priority p, Flags f)
Barrier barrier
The barrier that all threads wait on before performing the global event.
void reschedule(Tick when)
virtual ~BaseGlobalEvent()
void release()
Managed event removed from the event queue.
BarrierEvent(BaseGlobalEvent *global_event, Priority p, Flags f)
Common base class for GlobalEvent and GlobalSyncEvent.
BaseGlobalEventTemplate< GlobalEvent > Base
std::vector< BarrierEvent * > barrierEvent
The individual local event instances (one per thread/event queue).
uint64_t Tick
Tick count type.
BarrierEvent(Base *global_event, Priority p, Flags f)
BaseGlobalEventTemplate(Priority p, Flags f)
BarrierEvent(Base *global_event, Priority p, Flags f)
const char * description() const
The main global event class.
Funky intermediate class to support CRTP so that we can have a common constructor to create the local...
static std::mutex globalQMutex
Mutex variable for providing exculsive right to schedule global events.
EventQueue * curEventQueue()
uint32_t numMainEventQueues
Current number of allocated main event queues.
virtual ~BaseGlobalEventTemplate()
Common base class for Event and GlobalEvent, so they can share flag and priority definitions and acce...
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
BaseGlobalEvent * _globalEvent
GlobalSyncEvent(Priority p, Flags f)
virtual BaseGlobalEvent * globalEvent()
If this is part of a GlobalEvent, return the pointer to the Global Event.
The base class for the local events that will synchronize threads to perform the global event.
Generated on Sun Jul 30 2023 01:56:59 for gem5 by doxygen 1.8.17