gem5 v24.0.0.0
No Matches
sc_gem5::Thread Class Reference

#include <process_types.hh>

Inheritance diagram for sc_gem5::Thread:
sc_gem5::Process sc_core::sc_process_b sc_gem5::ListNode sc_core::sc_object sc_gem5::CThread


class  Context

Public Member Functions

 Thread (const char *name, ProcessFuncWrapper *func, bool internal=false)
 ~Thread ()
const char * kind () const override
sc_core::sc_curr_proc_kind procKind () const override
gem5::Fiberfiber () override
- Public Member Functions inherited from sc_gem5::Process
bool needsStart () const
void needsStart (bool ns)
bool dynamic () const
bool isUnwinding () const
void isUnwinding (bool v)
bool terminated () const
bool scheduled () const
void scheduled (bool new_val)
void forEachKid (const std::function< void(Process *)> &work)
bool suspended () const
bool disabled () const
void suspend (bool inc_kids)
void resume (bool inc_kids)
void disable (bool inc_kids)
void enable (bool inc_kids)
void kill (bool inc_kids)
void reset (bool inc_kids)
void throw_it (ExceptionWrapperBase &exc, bool inc_kids)
void injectException (ExceptionWrapperBase &exc)
void syncResetOn (bool inc_kids)
void syncResetOff (bool inc_kids)
void signalReset (bool set, bool sync)
void incref ()
void decref ()
::sc_core::sc_eventresetEvent ()
::sc_core::sc_eventterminatedEvent ()
void setStackSize (size_t size)
void run ()
void addStatic (StaticSensitivity *)
void setDynamic (DynamicSensitivity *)
void clearDynamic ()
void addReset (Reset *)
void setTimeout (::sc_core::sc_time t)
void cancelTimeout ()
void satisfySensitivity (Sensitivity *)
void ready ()
void lastReport (::sc_core::sc_report *report)
::sc_core::sc_reportlastReport () const
bool hasStaticSensitivities ()
bool internal ()
bool timedOut ()
bool inReset ()
bool dontInitialize ()
void dontInitialize (bool di)
void joinWait (::sc_core::sc_join *join)
void waitCount (int count)
const char * uniqueName (const char *seed)
- Public Member Functions inherited from sc_core::sc_process_b
 sc_process_b (const char *name)
 sc_process_b ()
- Public Member Functions inherited from sc_core::sc_object
const char * name () const
const char * basename () const
virtual void print (std::ostream &=std::cout) const
virtual void dump (std::ostream &=std::cout) const
virtual const std::vector< sc_object * > & get_child_objects () const
virtual const std::vector< sc_event * > & get_child_events () const
sc_objectget_parent_object () const
bool add_attribute (sc_attr_base &)
sc_attr_baseget_attribute (const std::string &)
sc_attr_baseremove_attribute (const std::string &)
void remove_all_attributes ()
int num_attributes () const
sc_attr_cltnattr_cltn ()
const sc_attr_cltnattr_cltn () const
sc_simcontextsimcontext () const
- Public Member Functions inherited from sc_gem5::ListNode
 ListNode ()
virtual ~ListNode ()
void popListNode ()

Private Attributes



class Context

Additional Inherited Members

- Static Public Member Functions inherited from sc_gem5::Process
static Processnewest ()
- Public Attributes inherited from sc_gem5::Process
ScEvent timeoutEvent
- Public Attributes inherited from sc_core::sc_process_b
const char * file
int lineno
- Public Attributes inherited from sc_gem5::ListNode
- Protected Member Functions inherited from sc_gem5::Process
void timeout ()
 Process (const char *name, ProcessFuncWrapper *func, bool internal=false)
virtual ~Process ()
void terminate ()
- Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 sc_object (const char *)
 sc_object (const sc_object &)
sc_objectoperator= (const sc_object &)
virtual ~sc_object ()
- Protected Attributes inherited from sc_gem5::Process
InternalScEvent _resetEvent
InternalScEvent _terminatedEvent
bool _internal
bool _timedOut
bool _dontInitialize
bool _needsStart
bool _dynamic
bool _isUnwinding
bool _terminated
bool _scheduled
bool _suspended
bool _suspendedReady
bool _disabled
bool _syncReset
int syncResetCount
int asyncResetCount
int _waitCount
int refCount
size_t stackSize
StaticSensitivities staticSensitivities
std::vector< Reset * > resets
std::vector<::sc_core::sc_join * > joinWaiters
UniqueNameGen nameGen
- Static Protected Attributes inherited from sc_gem5::Process
static Process_newest

Detailed Description

Definition at line 53 of file process_types.hh.

Constructor & Destructor Documentation

◆ Thread()

sc_gem5::Thread::Thread ( const char * name,
ProcessFuncWrapper * func,
bool internal = false )

Definition at line 56 of file process_types.hh.

◆ ~Thread()

sc_gem5::Thread::~Thread ( )

Definition at line 60 of file process_types.hh.

References ctx.

Member Function Documentation

◆ fiber()

gem5::Fiber * sc_gem5::Thread::fiber ( )

Reimplemented from sc_gem5::Process.

Definition at line 71 of file process_types.hh.

References Context, ctx, and sc_gem5::Process::stackSize.

◆ kind()

const char * sc_gem5::Thread::kind ( ) const

Reimplemented from sc_core::sc_object.

Definition at line 62 of file process_types.hh.

◆ procKind()

sc_core::sc_curr_proc_kind sc_gem5::Thread::procKind ( ) const

Implements sc_gem5::Process.

Definition at line 65 of file process_types.hh.

References sc_core::SC_THREAD_PROC_.

Friends And Related Symbol Documentation

◆ Context

friend class Context

Definition at line 104 of file process_types.hh.

Referenced by fiber().

Member Data Documentation

◆ ctx

Context* sc_gem5::Thread::ctx

Definition at line 106 of file process_types.hh.

Referenced by fiber(), and ~Thread().

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

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