gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::GlobalSimLoopExitEvent Class Reference

#include <sim_events.hh>

Inheritance diagram for gem5::GlobalSimLoopExitEvent:
gem5::GlobalEvent gem5::BaseGlobalEventTemplate< GlobalEvent > gem5::BaseGlobalEvent gem5::EventBase gem5::MonitorCallEvent

Public Member Functions

 GlobalSimLoopExitEvent (Tick when, const std::string &_cause, int c, Tick repeat=0)
 
 GlobalSimLoopExitEvent (const std::string &_cause, int c, Tick repeat=0)
 
const std::string getCause () const
 
int getCode () const
 
virtual void process ()
 
virtual void clean ()
 
 ~GlobalSimLoopExitEvent ()
 
virtual const char * description () const
 
- Public Member Functions inherited from gem5::GlobalEvent
 GlobalEvent (Priority p, Flags f)
 
 GlobalEvent (Tick when, Priority p, Flags f)
 
- Public Member Functions inherited from gem5::BaseGlobalEvent
 BaseGlobalEvent (Priority p, Flags f)
 
virtual ~BaseGlobalEvent ()
 
void schedule (Tick when)
 
bool scheduled () const
 
Tick when () const
 
void deschedule ()
 
void reschedule (Tick when)
 

Protected Attributes

std::string cause
 
int code
 
Tick repeat
 
- Protected Attributes inherited from gem5::BaseGlobalEvent
Barrier barrier
 The barrier that all threads wait on before performing the global event.
 
std::vector< BarrierEvent * > barrierEvent
 The individual local event instances (one per thread/event queue).
 

Additional Inherited Members

- Public Types inherited from gem5::GlobalEvent
typedef BaseGlobalEventTemplate< GlobalEventBase
 
- Public Types inherited from gem5::EventBase
typedef int8_t Priority
 
- Static Public Attributes inherited from gem5::EventBase
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 inherited from gem5::EventBase
typedef unsigned short FlagsType
 
typedef ::gem5::Flags< FlagsTypeFlags
 
- Protected Member Functions inherited from gem5::BaseGlobalEventTemplate< GlobalEvent >
 BaseGlobalEventTemplate (Priority p, Flags f)
 
virtual ~BaseGlobalEventTemplate ()
 
- Static Protected Attributes inherited from gem5::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.
 
static const FlagsType IsExitEvent = 0x0010
 
static const FlagsType IsMainQueue = 0x0020
 
static const FlagsType Initialized = 0x7a40
 
static const FlagsType InitMask = 0xffc0
 

Detailed Description

Definition at line 55 of file sim_events.hh.

Constructor & Destructor Documentation

◆ GlobalSimLoopExitEvent() [1/2]

gem5::GlobalSimLoopExitEvent::GlobalSimLoopExitEvent ( Tick when,
const std::string & _cause,
int c,
Tick repeat = 0 )

Definition at line 55 of file sim_events.cc.

◆ GlobalSimLoopExitEvent() [2/2]

gem5::GlobalSimLoopExitEvent::GlobalSimLoopExitEvent ( const std::string & _cause,
int c,
Tick repeat = 0 )

Definition at line 63 of file sim_events.cc.

◆ ~GlobalSimLoopExitEvent()

gem5::GlobalSimLoopExitEvent::~GlobalSimLoopExitEvent ( )
inline

Definition at line 73 of file sim_events.hh.

References DPRINTF.

Member Function Documentation

◆ clean()

virtual void gem5::GlobalSimLoopExitEvent::clean ( )
inlinevirtual

Reimplemented in gem5::MonitorCallEvent.

Definition at line 72 of file sim_events.hh.

Referenced by gem5::simulate().

◆ description()

const char * gem5::GlobalSimLoopExitEvent::description ( ) const
virtual

Implements gem5::BaseGlobalEvent.

Definition at line 71 of file sim_events.cc.

◆ getCause()

const std::string gem5::GlobalSimLoopExitEvent::getCause ( ) const
inline

Definition at line 68 of file sim_events.hh.

References cause.

Referenced by gem5::pybind_init_event().

◆ getCode()

int gem5::GlobalSimLoopExitEvent::getCode ( ) const
inline

Definition at line 69 of file sim_events.hh.

References code.

Referenced by gem5::pybind_init_event().

◆ process()

void gem5::GlobalSimLoopExitEvent::process ( )
virtual

Implements gem5::GlobalEvent.

Reimplemented in gem5::MonitorCallEvent.

Definition at line 80 of file sim_events.cc.

References gem5::curTick(), repeat, and gem5::BaseGlobalEvent::schedule().

Referenced by gem5::MonitorCallEvent::process().

Member Data Documentation

◆ cause

std::string gem5::GlobalSimLoopExitEvent::cause
protected

Definition at line 59 of file sim_events.hh.

Referenced by getCause().

◆ code

int gem5::GlobalSimLoopExitEvent::code
protected

Definition at line 60 of file sim_events.hh.

Referenced by getCode().

◆ repeat

Tick gem5::GlobalSimLoopExitEvent::repeat
protected

Definition at line 61 of file sim_events.hh.

Referenced by process().


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

Generated on Tue Jun 18 2024 16:24:11 for gem5 by doxygen 1.11.0