gem5  v21.2.0.0
Public Member Functions | Private Attributes | List of all members
gem5::CheckerThreadContext< TC > Class Template Reference

Derived ThreadContext class for use with the Checker. More...

#include <thread_context.hh>

Inheritance diagram for gem5::CheckerThreadContext< TC >:
gem5::ThreadContext gem5::PCEventScope

Public Member Functions

 CheckerThreadContext (TC *actual_tc, CheckerCPU *checker_cpu)
 
bool schedule (PCEvent *e) override
 
bool remove (PCEvent *e) override
 
void scheduleInstCountEvent (Event *event, Tick count) override
 
void descheduleInstCountEvent (Event *event) override
 
Tick getCurrentInstCount () override
 
BaseCPU * getCpuPtr () override
 
uint32_t socketId () const override
 
int cpuId () const override
 
ContextID contextId () const override
 
void setContextId (ContextID id) override
 
int threadId () const override
 Returns this thread's ID number. More...
 
void setThreadId (int id) override
 
BaseMMUgetMMUPtr () override
 
CheckerCPUgetCheckerCpuPtr () override
 
BaseISAgetIsaPtr () override
 
InstDecodergetDecoderPtr () override
 
SystemgetSystemPtr () override
 
ProcessgetProcessPtr () override
 
void setProcessPtr (Process *p) override
 
void connectMemPorts (ThreadContext *tc)
 
Status status () const override
 
void setStatus (Status new_status) override
 
void activate () override
 Set the status to Active. More...
 
void suspend () override
 Set the status to Suspended. More...
 
void halt () override
 Set the status to Halted. More...
 
void takeOverFrom (ThreadContext *oldContext) override
 
void regStats (const std::string &name) override
 
Tick readLastActivate () override
 
Tick readLastSuspend () override
 
void copyArchRegs (ThreadContext *tc) override
 
void clearArchRegs () override
 
RegVal readIntReg (RegIndex reg_idx) const override
 
RegVal readFloatReg (RegIndex reg_idx) const override
 
const TheISA::VecRegContainer & readVecReg (const RegId &reg) const override
 
TheISA::VecRegContainer & getWritableVecReg (const RegId &reg) override
 Read vector register for modification, hierarchical indexing. More...
 
RegVal readVecElem (const RegId &reg) const override
 
const TheISA::VecPredRegContainer & readVecPredReg (const RegId &reg) const override
 
TheISA::VecPredRegContainer & getWritableVecPredReg (const RegId &reg) override
 
RegVal readCCReg (RegIndex reg_idx) const override
 
void setIntReg (RegIndex reg_idx, RegVal val) override
 
void setFloatReg (RegIndex reg_idx, RegVal val) override
 
void setVecReg (const RegId &reg, const TheISA::VecRegContainer &val) override
 
void setVecElem (const RegId &reg, RegVal val) override
 
void setVecPredReg (const RegId &reg, const TheISA::VecPredRegContainer &val) override
 
void setCCReg (RegIndex reg_idx, RegVal val) override
 
const PCStateBasepcState () const override
 Reads this thread's PC state. More...
 
void pcState (const PCStateBase &val) override
 Sets this thread's PC state. More...
 
void pcStateNoRecord (const PCStateBase &val) override
 
RegVal readMiscRegNoEffect (RegIndex misc_reg) const override
 
RegVal readMiscReg (RegIndex misc_reg) override
 
void setMiscRegNoEffect (RegIndex misc_reg, RegVal val) override
 
void setMiscReg (RegIndex misc_reg, RegVal val) override
 
RegId flattenRegId (const RegId &regId) const override
 
unsigned readStCondFailures () const override
 
void setStCondFailures (unsigned sc_failures) override
 
RegVal readIntRegFlat (RegIndex idx) const override
 Flat register interfaces. More...
 
void setIntRegFlat (RegIndex idx, RegVal val) override
 
RegVal readFloatRegFlat (RegIndex idx) const override
 
void setFloatRegFlat (RegIndex idx, RegVal val) override
 
const TheISA::VecRegContainer & readVecRegFlat (RegIndex idx) const override
 
TheISA::VecRegContainer & getWritableVecRegFlat (RegIndex idx) override
 Read vector register for modification, flat indexing. More...
 
void setVecRegFlat (RegIndex idx, const TheISA::VecRegContainer &val) override
 
RegVal readVecElemFlat (RegIndex idx, const ElemIndex &elem_idx) const override
 
void setVecElemFlat (RegIndex idx, const ElemIndex &elem_idx, RegVal val) override
 
const TheISA::VecPredRegContainer & readVecPredRegFlat (RegIndex idx) const override
 
TheISA::VecPredRegContainer & getWritableVecPredRegFlat (RegIndex idx) override
 
void setVecPredRegFlat (RegIndex idx, const TheISA::VecPredRegContainer &val) override
 
RegVal readCCRegFlat (RegIndex idx) const override
 
void setCCRegFlat (RegIndex idx, RegVal val) override
 
void htmAbortTransaction (uint64_t htm_uid, HtmFailureFaultCause cause) override
 
BaseHTMCheckpointPtrgetHtmCheckpointPtr () override
 
void setHtmCheckpointPtr (BaseHTMCheckpointPtr new_cpt) override
 
- Public Member Functions inherited from gem5::ThreadContext
bool getUseForClone ()
 
void setUseForClone (bool new_val)
 
virtual ~ThreadContext ()
 
virtual void sendFunctional (PacketPtr pkt)
 
void quiesce ()
 Quiesce thread context. More...
 
void quiesceTick (Tick resume)
 Quiesce, suspend, and schedule activate at resume. More...
 
void pcState (Addr addr)
 
virtual int exit ()
 

Private Attributes

TC * actualTC
 The main CPU's ThreadContext, or class that implements the ThreadContext interface. More...
 
SimpleThreadcheckerTC
 The checker's own SimpleThread. More...
 
CheckerCPUcheckerCPU
 Pointer to the checker CPU. More...
 

Additional Inherited Members

- Public Types inherited from gem5::ThreadContext
enum  Status { Active, Suspended, Halting, Halted }
 
- Static Public Member Functions inherited from gem5::ThreadContext
static void compare (ThreadContext *one, ThreadContext *two)
 function to compare two thread contexts (for debugging) More...
 
- Public Attributes inherited from gem5::ThreadContext
int intResult = DefaultIntResult
 
double floatResult = DefaultFloatResult
 
int intOffset = 0
 
- Static Public Attributes inherited from gem5::ThreadContext
static const int ints []
 
static const double floats []
 
static const int DefaultIntResult = 0
 
static const double DefaultFloatResult = 0.0
 
- Protected Attributes inherited from gem5::ThreadContext
bool useForClone = false
 

Detailed Description

template<class TC>
class gem5::CheckerThreadContext< TC >

Derived ThreadContext class for use with the Checker.

The template parameter is the ThreadContext class used by the specific CPU being verified. This CheckerThreadContext is then used by the main CPU in place of its usual ThreadContext class. It handles updating the checker's state any time state is updated externally through the ThreadContext.

Definition at line 69 of file thread_context.hh.

Constructor & Destructor Documentation

◆ CheckerThreadContext()

template<class TC >
gem5::CheckerThreadContext< TC >::CheckerThreadContext ( TC *  actual_tc,
CheckerCPU checker_cpu 
)
inline

Definition at line 72 of file thread_context.hh.

Member Function Documentation

◆ activate()

template<class TC >
void gem5::CheckerThreadContext< TC >::activate ( )
inlineoverridevirtual

Set the status to Active.

Implements gem5::ThreadContext.

Definition at line 186 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ clearArchRegs()

template<class TC >
void gem5::CheckerThreadContext< TC >::clearArchRegs ( )
inlineoverridevirtual

◆ connectMemPorts()

template<class TC >
void gem5::CheckerThreadContext< TC >::connectMemPorts ( ThreadContext tc)
inline

Definition at line 171 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ contextId()

template<class TC >
ContextID gem5::CheckerThreadContext< TC >::contextId ( ) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 130 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ copyArchRegs()

template<class TC >
void gem5::CheckerThreadContext< TC >::copyArchRegs ( ThreadContext tc)
inlineoverridevirtual

◆ cpuId()

template<class TC >
int gem5::CheckerThreadContext< TC >::cpuId ( ) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 128 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ descheduleInstCountEvent()

template<class TC >
void gem5::CheckerThreadContext< TC >::descheduleInstCountEvent ( Event event)
inlineoverridevirtual

◆ flattenRegId()

template<class TC >
RegId gem5::CheckerThreadContext< TC >::flattenRegId ( const RegId regId) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 374 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getCheckerCpuPtr()

template<class TC >
CheckerCPU* gem5::CheckerThreadContext< TC >::getCheckerCpuPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 151 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::checkerCPU.

◆ getCpuPtr()

template<class TC >
BaseCPU* gem5::CheckerThreadContext< TC >::getCpuPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 124 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getCurrentInstCount()

template<class TC >
Tick gem5::CheckerThreadContext< TC >::getCurrentInstCount ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 119 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getDecoderPtr()

template<class TC >
InstDecoder* gem5::CheckerThreadContext< TC >::getDecoderPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 159 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getHtmCheckpointPtr()

template<class TC >
BaseHTMCheckpointPtr& gem5::CheckerThreadContext< TC >::getHtmCheckpointPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 488 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getIsaPtr()

template<class TC >
BaseISA* gem5::CheckerThreadContext< TC >::getIsaPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 156 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getMMUPtr()

template<class TC >
BaseMMU* gem5::CheckerThreadContext< TC >::getMMUPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 148 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getProcessPtr()

template<class TC >
Process* gem5::CheckerThreadContext< TC >::getProcessPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 166 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getSystemPtr()

template<class TC >
System* gem5::CheckerThreadContext< TC >::getSystemPtr ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 164 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getWritableVecPredReg()

template<class TC >
TheISA::VecPredRegContainer& gem5::CheckerThreadContext< TC >::getWritableVecPredReg ( const RegId reg)
inlineoverridevirtual

◆ getWritableVecPredRegFlat()

template<class TC >
TheISA::VecPredRegContainer& gem5::CheckerThreadContext< TC >::getWritableVecPredRegFlat ( RegIndex  idx)
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 456 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ getWritableVecReg()

template<class TC >
TheISA::VecRegContainer& gem5::CheckerThreadContext< TC >::getWritableVecReg ( const RegId reg)
inlineoverridevirtual

Read vector register for modification, hierarchical indexing.

Implements gem5::ThreadContext.

Definition at line 251 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC, and gem5::X86ISA::reg.

◆ getWritableVecRegFlat()

template<class TC >
TheISA::VecRegContainer& gem5::CheckerThreadContext< TC >::getWritableVecRegFlat ( RegIndex  idx)
inlineoverridevirtual

Read vector register for modification, flat indexing.

Implements gem5::ThreadContext.

Definition at line 425 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ halt()

template<class TC >
void gem5::CheckerThreadContext< TC >::halt ( )
inlineoverridevirtual

Set the status to Halted.

Implements gem5::ThreadContext.

Definition at line 192 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ htmAbortTransaction()

template<class TC >
void gem5::CheckerThreadContext< TC >::htmAbortTransaction ( uint64_t  htm_uid,
HtmFailureFaultCause  cause 
)
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 482 of file thread_context.hh.

References panic.

◆ pcState() [1/2]

template<class TC >
const PCStateBase& gem5::CheckerThreadContext< TC >::pcState ( ) const
inlineoverridevirtual

Reads this thread's PC state.

Implements gem5::ThreadContext.

Definition at line 324 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ pcState() [2/2]

template<class TC >
void gem5::CheckerThreadContext< TC >::pcState ( const PCStateBase val)
inlineoverridevirtual

◆ pcStateNoRecord()

template<class TC >
void gem5::CheckerThreadContext< TC >::pcStateNoRecord ( const PCStateBase val)
inlineoverridevirtual

◆ readCCReg()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readCCReg ( RegIndex  reg_idx) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 275 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readCCRegFlat()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readCCRegFlat ( RegIndex  idx) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 469 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readFloatReg()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readFloatReg ( RegIndex  reg_idx) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 236 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readFloatRegFlat()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readFloatRegFlat ( RegIndex  idx) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 404 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readIntReg()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readIntReg ( RegIndex  reg_idx) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 230 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readIntRegFlat()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readIntRegFlat ( RegIndex  idx) const
inlineoverridevirtual

Flat register interfaces.

Some architectures have different registers visible in different modes. Such architectures "flatten" a register (see flattenRegId()) to map it into the gem5 register file. This interface provides a flat interface to the underlying register file, which allows for example serialization code to access all registers.

Implements gem5::ThreadContext.

Definition at line 392 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readLastActivate()

template<class TC >
Tick gem5::CheckerThreadContext< TC >::readLastActivate ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 208 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readLastSuspend()

template<class TC >
Tick gem5::CheckerThreadContext< TC >::readLastSuspend ( )
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 209 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readMiscReg()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readMiscReg ( RegIndex  misc_reg)
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 350 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readMiscRegNoEffect()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readMiscRegNoEffect ( RegIndex  misc_reg) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 344 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readStCondFailures()

template<class TC >
unsigned gem5::CheckerThreadContext< TC >::readStCondFailures ( ) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 380 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readVecElem()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readVecElem ( const RegId reg) const
inlineoverridevirtual

◆ readVecElemFlat()

template<class TC >
RegVal gem5::CheckerThreadContext< TC >::readVecElemFlat ( RegIndex  idx,
const ElemIndex elem_idx 
) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 437 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readVecPredReg()

template<class TC >
const TheISA::VecPredRegContainer& gem5::CheckerThreadContext< TC >::readVecPredReg ( const RegId reg) const
inlineoverridevirtual

◆ readVecPredRegFlat()

template<class TC >
const TheISA::VecPredRegContainer& gem5::CheckerThreadContext< TC >::readVecPredRegFlat ( RegIndex  idx) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 450 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ readVecReg()

template<class TC >
const TheISA::VecRegContainer& gem5::CheckerThreadContext< TC >::readVecReg ( const RegId reg) const
inlineoverridevirtual

◆ readVecRegFlat()

template<class TC >
const TheISA::VecRegContainer& gem5::CheckerThreadContext< TC >::readVecRegFlat ( RegIndex  idx) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 416 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ regStats()

template<class TC >
void gem5::CheckerThreadContext< TC >::regStats ( const std::string &  name)
inlineoverridevirtual

◆ remove()

template<class TC >
bool gem5::CheckerThreadContext< TC >::remove ( PCEvent e)
inlineoverridevirtual

◆ schedule()

template<class TC >
bool gem5::CheckerThreadContext< TC >::schedule ( PCEvent e)
inlineoverridevirtual

◆ scheduleInstCountEvent()

template<class TC >
void gem5::CheckerThreadContext< TC >::scheduleInstCountEvent ( Event event,
Tick  count 
)
inlineoverridevirtual

◆ setCCReg()

template<class TC >
void gem5::CheckerThreadContext< TC >::setCCReg ( RegIndex  reg_idx,
RegVal  val 
)
inlineoverridevirtual

◆ setCCRegFlat()

template<class TC >
void gem5::CheckerThreadContext< TC >::setCCRegFlat ( RegIndex  idx,
RegVal  val 
)
inlineoverridevirtual

◆ setContextId()

template<class TC >
void gem5::CheckerThreadContext< TC >::setContextId ( ContextID  id)
inlineoverridevirtual

◆ setFloatReg()

template<class TC >
void gem5::CheckerThreadContext< TC >::setFloatReg ( RegIndex  reg_idx,
RegVal  val 
)
inlineoverridevirtual

◆ setFloatRegFlat()

template<class TC >
void gem5::CheckerThreadContext< TC >::setFloatRegFlat ( RegIndex  idx,
RegVal  val 
)
inlineoverridevirtual

◆ setHtmCheckpointPtr()

template<class TC >
void gem5::CheckerThreadContext< TC >::setHtmCheckpointPtr ( BaseHTMCheckpointPtr  new_cpt)
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 494 of file thread_context.hh.

References panic.

◆ setIntReg()

template<class TC >
void gem5::CheckerThreadContext< TC >::setIntReg ( RegIndex  reg_idx,
RegVal  val 
)
inlineoverridevirtual

◆ setIntRegFlat()

template<class TC >
void gem5::CheckerThreadContext< TC >::setIntRegFlat ( RegIndex  idx,
RegVal  val 
)
inlineoverridevirtual

◆ setMiscReg()

template<class TC >
void gem5::CheckerThreadContext< TC >::setMiscReg ( RegIndex  misc_reg,
RegVal  val 
)
inlineoverridevirtual

◆ setMiscRegNoEffect()

template<class TC >
void gem5::CheckerThreadContext< TC >::setMiscRegNoEffect ( RegIndex  misc_reg,
RegVal  val 
)
inlineoverridevirtual

◆ setProcessPtr()

template<class TC >
void gem5::CheckerThreadContext< TC >::setProcessPtr ( Process p)
inlineoverridevirtual

◆ setStatus()

template<class TC >
void gem5::CheckerThreadContext< TC >::setStatus ( Status  new_status)
inlineoverridevirtual

◆ setStCondFailures()

template<class TC >
void gem5::CheckerThreadContext< TC >::setStCondFailures ( unsigned  sc_failures)
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 386 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ setThreadId()

template<class TC >
void gem5::CheckerThreadContext< TC >::setThreadId ( int  id)
inlineoverridevirtual

◆ setVecElem()

template<class TC >
void gem5::CheckerThreadContext< TC >::setVecElem ( const RegId reg,
RegVal  val 
)
inlineoverridevirtual

◆ setVecElemFlat()

template<class TC >
void gem5::CheckerThreadContext< TC >::setVecElemFlat ( RegIndex  idx,
const ElemIndex elem_idx,
RegVal  val 
)
inlineoverridevirtual

◆ setVecPredReg()

template<class TC >
void gem5::CheckerThreadContext< TC >::setVecPredReg ( const RegId reg,
const TheISA::VecPredRegContainer &  val 
)
inlineoverridevirtual

◆ setVecPredRegFlat()

template<class TC >
void gem5::CheckerThreadContext< TC >::setVecPredRegFlat ( RegIndex  idx,
const TheISA::VecPredRegContainer &  val 
)
inlineoverridevirtual

◆ setVecReg()

template<class TC >
void gem5::CheckerThreadContext< TC >::setVecReg ( const RegId reg,
const TheISA::VecRegContainer &  val 
)
inlineoverridevirtual

◆ setVecRegFlat()

template<class TC >
void gem5::CheckerThreadContext< TC >::setVecRegFlat ( RegIndex  idx,
const TheISA::VecRegContainer &  val 
)
inlineoverridevirtual

◆ socketId()

template<class TC >
uint32_t gem5::CheckerThreadContext< TC >::socketId ( ) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 126 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ status()

template<class TC >
Status gem5::CheckerThreadContext< TC >::status ( ) const
inlineoverridevirtual

Implements gem5::ThreadContext.

Definition at line 176 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ suspend()

template<class TC >
void gem5::CheckerThreadContext< TC >::suspend ( )
inlineoverridevirtual

Set the status to Suspended.

Implements gem5::ThreadContext.

Definition at line 189 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

◆ takeOverFrom()

template<class TC >
void gem5::CheckerThreadContext< TC >::takeOverFrom ( ThreadContext oldContext)
inlineoverridevirtual

◆ threadId()

template<class TC >
int gem5::CheckerThreadContext< TC >::threadId ( ) const
inlineoverridevirtual

Returns this thread's ID number.

Implements gem5::ThreadContext.

Definition at line 140 of file thread_context.hh.

References gem5::CheckerThreadContext< TC >::actualTC.

Member Data Documentation

◆ actualTC

template<class TC >
TC* gem5::CheckerThreadContext< TC >::actualTC
private

The main CPU's ThreadContext, or class that implements the ThreadContext interface.

Definition at line 81 of file thread_context.hh.

Referenced by gem5::CheckerThreadContext< TC >::activate(), gem5::CheckerThreadContext< TC >::clearArchRegs(), gem5::CheckerThreadContext< TC >::connectMemPorts(), gem5::CheckerThreadContext< TC >::contextId(), gem5::CheckerThreadContext< TC >::copyArchRegs(), gem5::CheckerThreadContext< TC >::cpuId(), gem5::CheckerThreadContext< TC >::descheduleInstCountEvent(), gem5::CheckerThreadContext< TC >::flattenRegId(), gem5::CheckerThreadContext< TC >::getCpuPtr(), gem5::CheckerThreadContext< TC >::getCurrentInstCount(), gem5::CheckerThreadContext< TC >::getDecoderPtr(), gem5::CheckerThreadContext< TC >::getHtmCheckpointPtr(), gem5::CheckerThreadContext< TC >::getIsaPtr(), gem5::CheckerThreadContext< TC >::getMMUPtr(), gem5::CheckerThreadContext< TC >::getProcessPtr(), gem5::CheckerThreadContext< TC >::getSystemPtr(), gem5::CheckerThreadContext< TC >::getWritableVecPredReg(), gem5::CheckerThreadContext< TC >::getWritableVecPredRegFlat(), gem5::CheckerThreadContext< TC >::getWritableVecReg(), gem5::CheckerThreadContext< TC >::getWritableVecRegFlat(), gem5::CheckerThreadContext< TC >::halt(), gem5::CheckerThreadContext< TC >::pcState(), gem5::CheckerThreadContext< TC >::pcStateNoRecord(), gem5::CheckerThreadContext< TC >::readCCReg(), gem5::CheckerThreadContext< TC >::readCCRegFlat(), gem5::CheckerThreadContext< TC >::readFloatReg(), gem5::CheckerThreadContext< TC >::readFloatRegFlat(), gem5::CheckerThreadContext< TC >::readIntReg(), gem5::CheckerThreadContext< TC >::readIntRegFlat(), gem5::CheckerThreadContext< TC >::readLastActivate(), gem5::CheckerThreadContext< TC >::readLastSuspend(), gem5::CheckerThreadContext< TC >::readMiscReg(), gem5::CheckerThreadContext< TC >::readMiscRegNoEffect(), gem5::CheckerThreadContext< TC >::readStCondFailures(), gem5::CheckerThreadContext< TC >::readVecElem(), gem5::CheckerThreadContext< TC >::readVecElemFlat(), gem5::CheckerThreadContext< TC >::readVecPredReg(), gem5::CheckerThreadContext< TC >::readVecPredRegFlat(), gem5::CheckerThreadContext< TC >::readVecReg(), gem5::CheckerThreadContext< TC >::readVecRegFlat(), gem5::CheckerThreadContext< TC >::regStats(), gem5::CheckerThreadContext< TC >::remove(), gem5::CheckerThreadContext< TC >::schedule(), gem5::CheckerThreadContext< TC >::scheduleInstCountEvent(), gem5::CheckerThreadContext< TC >::setCCReg(), gem5::CheckerThreadContext< TC >::setCCRegFlat(), gem5::CheckerThreadContext< TC >::setContextId(), gem5::CheckerThreadContext< TC >::setFloatReg(), gem5::CheckerThreadContext< TC >::setFloatRegFlat(), gem5::CheckerThreadContext< TC >::setIntReg(), gem5::CheckerThreadContext< TC >::setIntRegFlat(), gem5::CheckerThreadContext< TC >::setMiscReg(), gem5::CheckerThreadContext< TC >::setMiscRegNoEffect(), gem5::CheckerThreadContext< TC >::setProcessPtr(), gem5::CheckerThreadContext< TC >::setStatus(), gem5::CheckerThreadContext< TC >::setStCondFailures(), gem5::CheckerThreadContext< TC >::setThreadId(), gem5::CheckerThreadContext< TC >::setVecElem(), gem5::CheckerThreadContext< TC >::setVecElemFlat(), gem5::CheckerThreadContext< TC >::setVecPredReg(), gem5::CheckerThreadContext< TC >::setVecPredRegFlat(), gem5::CheckerThreadContext< TC >::setVecReg(), gem5::CheckerThreadContext< TC >::setVecRegFlat(), gem5::CheckerThreadContext< TC >::socketId(), gem5::CheckerThreadContext< TC >::status(), gem5::CheckerThreadContext< TC >::suspend(), gem5::CheckerThreadContext< TC >::takeOverFrom(), and gem5::CheckerThreadContext< TC >::threadId().

◆ checkerCPU

template<class TC >
CheckerCPU* gem5::CheckerThreadContext< TC >::checkerCPU
private

Pointer to the checker CPU.

Definition at line 87 of file thread_context.hh.

Referenced by gem5::CheckerThreadContext< TC >::getCheckerCpuPtr(), and gem5::CheckerThreadContext< TC >::pcState().

◆ checkerTC

template<class TC >
SimpleThread* gem5::CheckerThreadContext< TC >::checkerTC
private

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

Generated on Tue Dec 21 2021 11:34:57 for gem5 by doxygen 1.8.17