gem5 v24.0.0.0
|
Common base class for Event and GlobalEvent, so they can share flag and priority definitions and accessor functions. More...
#include <eventq.hh>
Public Types | |
typedef int8_t | Priority |
Static Public Attributes | |
static const Priority | Minimum_Pri = SCHAR_MIN |
Event priorities, to provide tie-breakers for events scheduled at the same cycle. | |
static const Priority | Debug_Enable_Pri = -101 |
If we enable tracing on a particular cycle, do that as the very first thing so we don't miss any of the events on that cycle (even if we enter the debugger). | |
static const Priority | Debug_Break_Pri = -100 |
Breakpoints should happen before anything else (except enabling trace output), so we don't miss any action when debugging. | |
static const Priority | CPU_Switch_Pri = -31 |
CPU switches schedule the new CPU's tick event for the same cycle (after unscheduling the old CPU's tick event). | |
static const Priority | Delayed_Writeback_Pri = -1 |
For some reason "delayed" inter-cluster writebacks are scheduled before regular writebacks (which have default priority). | |
static const Priority | Default_Pri = 0 |
Default is zero for historical reasons. | |
static const Priority | DVFS_Update_Pri = 31 |
DVFS update event leads to stats dump therefore given a lower priority to ensure all relevant states have been updated. | |
static const Priority | Serialize_Pri = 32 |
Serailization needs to occur before tick events also, so that a serialize/unserialize is identical to an on-line CPU switch. | |
static const Priority | CPU_Tick_Pri = 50 |
CPU ticks must come after other associated CPU events (such as writebacks). | |
static const Priority | CPU_Exit_Pri = 64 |
If we want to exit a thread in a CPU, it comes after CPU_Tick_Pri. | |
static const Priority | Stat_Event_Pri = 90 |
Statistics events (dump, reset, etc.) come after everything else, but before exit. | |
static const Priority | Progress_Event_Pri = 95 |
Progress events come at the end. | |
static const Priority | Sim_Exit_Pri = 100 |
If we want to exit on this cycle, it's the very last thing we do. | |
static const Priority | Maximum_Pri = SCHAR_MAX |
Maximum priority. | |
Protected Types | |
typedef unsigned short | FlagsType |
typedef ::gem5::Flags< FlagsType > | Flags |
Static Protected Attributes | |
static const FlagsType | PublicRead = 0x003f |
static const FlagsType | PublicWrite = 0x001d |
static const FlagsType | Squashed = 0x0001 |
static const FlagsType | Scheduled = 0x0002 |
static const FlagsType | Managed = 0x0004 |
static const FlagsType | AutoDelete = Managed |
static const FlagsType | Reserved0 = 0x0008 |
This used to be AutoSerialize. | |
static const FlagsType | IsExitEvent = 0x0010 |
static const FlagsType | IsMainQueue = 0x0020 |
static const FlagsType | Initialized = 0x7a40 |
static const FlagsType | InitMask = 0xffc0 |
Common base class for Event and GlobalEvent, so they can share flag and priority definitions and accessor functions.
This class should not be used directly.
|
protected |
|
protected |
Definition at line 110 of file eventq.hh.
Referenced by gem5::AMDGPUSystemHub::AtomicResponseEvent::AtomicResponseEvent(), gem5::AMDGPUInterruptHandler::DmaEvent::DmaEvent(), gem5::EventFunctionWrapper::EventFunctionWrapper(), gem5::MemberEventWrapper< F >::MemberEventWrapper(), gem5::ComputeUnit::ScalarDataPort::MemReqEvent::MemReqEvent(), gem5::ComputeUnit::SQCPort::MemReqEvent::MemReqEvent(), gem5::RegisterFileCache::RegisterCacheEvent::RegisterCacheEvent(), gem5::RegisterFile::RegisterEvent::RegisterEvent(), gem5::AMDGPUSystemHub::ResponseEvent::ResponseEvent(), gem5::ComputeUnit::DataPort::SystemHubEvent::SystemHubEvent(), gem5::ComputeUnit::ScalarDataPort::SystemHubEvent::SystemHubEvent(), gem5::FetchUnit::SystemHubEvent::SystemHubEvent(), and gem5::BaseGlobalEvent::BarrierEvent::~BarrierEvent().
|
staticprotected |
Definition at line 119 of file eventq.hh.
Referenced by gem5::Event::initialized(), and gem5::Event::unserialize().
|
staticprotected |
Definition at line 120 of file eventq.hh.
Referenced by gem5::Event::initialized().
|
staticprotected |
Definition at line 117 of file eventq.hh.
Referenced by gem5::Event::isExitEvent().
|
staticprotected |
Definition at line 118 of file eventq.hh.
Referenced by gem5::EventQueue::serviceOne().
|
staticprotected |
Definition at line 109 of file eventq.hh.
Referenced by gem5::Event::acquire(), gem5::Event::isManaged(), gem5::Event::release(), and gem5::EventQueue::serviceOne().
|
staticprotected |
Definition at line 105 of file eventq.hh.
Referenced by gem5::Event::getFlags(), and gem5::Event::isFlagSet().
|
staticprotected |
Definition at line 106 of file eventq.hh.
Referenced by gem5::Event::clearFlags(), gem5::Event::clearFlags(), gem5::Event::Event(), and gem5::Event::setFlags().
|
staticprotected |
|
staticprotected |
Definition at line 108 of file eventq.hh.
Referenced by gem5::EventQueue::checkpointReschedule(), gem5::EventQueue::deschedule(), gem5::EventQueue::reschedule(), gem5::EventQueue::schedule(), gem5::Event::scheduled(), gem5::EventQueue::serviceOne(), and gem5::Event::unserialize().
|
staticprotected |
Definition at line 107 of file eventq.hh.
Referenced by gem5::EventQueue::deschedule(), gem5::EventQueue::reschedule(), gem5::EventQueue::serviceOne(), gem5::Event::squash(), gem5::Event::squashed(), and gem5::Event::unserialize().