gem5
|
#include <sim_events.hh>
Public Member Functions | |
LocalSimLoopExitEvent () | |
LocalSimLoopExitEvent (const std::string &_cause, int c, Tick repeat=0) | |
const std::string | getCause () const |
int | getCode () const |
void | process () override |
const char * | description () const override |
Return a C string describing the event. More... | |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
Public Member Functions inherited from Event | |
Event (Priority p=Default_Pri, Flags f=0) | |
virtual | ~Event () |
virtual const std::string | name () const |
void | dump () const |
Dump the current event data. More... | |
bool | scheduled () const |
Determine if the current event is scheduled. More... | |
void | squash () |
Squash the current event. More... | |
bool | squashed () const |
Check whether the event is squashed. More... | |
bool | isExitEvent () const |
See if this is a SimExitEvent (without resorting to RTTI) More... | |
bool | isManaged () const |
Check whether this event will auto-delete. More... | |
bool | isAutoDelete () const |
Tick | when () const |
Get the time that the event is scheduled. More... | |
Priority | priority () const |
Get the event priority. More... | |
virtual BaseGlobalEvent * | globalEvent () |
If this is part of a GlobalEvent, return the pointer to the Global Event. More... | |
Public Member Functions inherited from Serializable | |
Serializable () | |
virtual | ~Serializable () |
void | serializeSection (CheckpointOut &cp, const char *name) const |
Serialize an object into a new section. More... | |
void | serializeSection (CheckpointOut &cp, const std::string &name) const |
void | unserializeSection (CheckpointIn &cp, const char *name) |
Unserialize an a child object. More... | |
void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Static Public Member Functions | |
static Serializable * | createForUnserialize (CheckpointIn &cp, const std::string §ion) |
Static Public Member Functions inherited from Serializable | |
static const std::string & | currentSection () |
Get the fully-qualified name of the active section. More... | |
static void | serializeAll (const std::string &cpt_dir) |
static void | unserializeGlobals (CheckpointIn &cp) |
Protected Attributes | |
std::string | cause |
int | code |
Tick | repeat |
Additional Inherited Members | |
Public Types inherited from EventBase | |
typedef int8_t | Priority |
Static Public Attributes inherited from EventBase | |
static const Priority | Minimum_Pri = SCHAR_MIN |
Event priorities, to provide tie-breakers for events scheduled at the same cycle. More... | |
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). More... | |
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. More... | |
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). More... | |
static const Priority | Delayed_Writeback_Pri = -1 |
For some reason "delayed" inter-cluster writebacks are scheduled before regular writebacks (which have default priority). More... | |
static const Priority | Default_Pri = 0 |
Default is zero for historical reasons. More... | |
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. More... | |
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. More... | |
static const Priority | CPU_Tick_Pri = 50 |
CPU ticks must come after other associated CPU events (such as writebacks). More... | |
static const Priority | Stat_Event_Pri = 90 |
Statistics events (dump, reset, etc.) come after everything else, but before exit. More... | |
static const Priority | Progress_Event_Pri = 95 |
Progress events come at the end. More... | |
static const Priority | Sim_Exit_Pri = 100 |
If we want to exit on this cycle, it's the very last thing we do. More... | |
static const Priority | Maximum_Pri = SCHAR_MAX |
Maximum priority. More... | |
Static Public Attributes inherited from Serializable | |
static int | ckptCount = 0 |
static int | ckptMaxCount = 0 |
static int | ckptPrevCount = -1 |
Protected Types inherited from EventBase | |
typedef unsigned short | FlagsType |
typedef ::Flags< FlagsType > | Flags |
Protected Member Functions inherited from Event | |
Flags | getFlags () const |
Accessor for flags. More... | |
bool | isFlagSet (Flags _flags) const |
void | setFlags (Flags _flags) |
Accessor for flags. More... | |
void | clearFlags (Flags _flags) |
void | clearFlags () |
virtual void | trace (const char *action) |
trace event activity More... | |
void | acquire () |
Memory management hooks for events that have the Managed flag set. More... | |
void | release () |
Managed event removed from the event queue. More... | |
virtual void | acquireImpl () |
virtual void | releaseImpl () |
Static Protected Attributes inherited from EventBase | |
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. More... | |
static const FlagsType | IsExitEvent = 0x0010 |
static const FlagsType | IsMainQueue = 0x0020 |
static const FlagsType | Initialized = 0x7a40 |
static const FlagsType | InitMask = 0xffc0 |
Definition at line 76 of file sim_events.hh.
LocalSimLoopExitEvent::LocalSimLoopExitEvent | ( | ) |
LocalSimLoopExitEvent::LocalSimLoopExitEvent | ( | const std::string & | _cause, |
int | c, | ||
Tick | repeat = 0 |
||
) |
Definition at line 93 of file sim_events.cc.
|
static |
|
overridevirtual |
Return a C string describing the event.
This string should not be dynamically allocated; just a const char array describing the event class.
Reimplemented from Event.
Definition at line 111 of file sim_events.cc.
|
inline |
Definition at line 88 of file sim_events.hh.
References cause.
|
inline |
Definition at line 89 of file sim_events.hh.
References code.
|
overridevirtual |
Implements Event.
Definition at line 104 of file sim_events.cc.
References cause, and exitSimLoop().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Reimplemented from Event.
Definition at line 117 of file sim_events.cc.
References cause, code, repeat, Event::serialize(), and SERIALIZE_SCALAR.
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Reimplemented from Event.
Definition at line 127 of file sim_events.cc.
References cause, code, repeat, Event::unserialize(), and UNSERIALIZE_SCALAR.
|
protected |
Definition at line 80 of file sim_events.hh.
Referenced by getCause(), process(), serialize(), and unserialize().
|
protected |
Definition at line 81 of file sim_events.hh.
Referenced by getCode(), serialize(), and unserialize().
|
protected |
Definition at line 82 of file sim_events.hh.
Referenced by serialize(), and unserialize().