gem5
v20.1.0.0
|
Derived ThreadContext class for use with the Checker. More...
#include <thread_context.hh>
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 |
BaseTLB * | getITBPtr () override |
BaseTLB * | getDTBPtr () override |
CheckerCPU * | getCheckerCpuPtr () override |
BaseISA * | getIsaPtr () override |
TheISA::Decoder * | getDecoderPtr () override |
System * | getSystemPtr () override |
Process * | getProcessPtr () override |
void | setProcessPtr (Process *p) override |
PortProxy & | getPhysProxy () override |
PortProxy & | getVirtProxy () override |
void | initMemProxies (ThreadContext *tc) override |
Initialise the physical and virtual port proxies and tie them to the data port of the CPU. More... | |
void | connectMemPorts (ThreadContext *tc) |
void | syscall () override |
Executes a syscall in SE mode. More... | |
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 VecRegContainer & | readVecReg (const RegId ®) const override |
VecRegContainer & | getWritableVecReg (const RegId ®) override |
Read vector register for modification, hierarchical indexing. More... | |
const VecElem & | readVecElem (const RegId ®) const override |
const VecPredRegContainer & | readVecPredReg (const RegId ®) const override |
VecPredRegContainer & | getWritableVecPredReg (const RegId ®) 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 ®, const VecRegContainer &val) override |
void | setVecElem (const RegId ®, const VecElem &val) override |
void | setVecPredReg (const RegId ®, const VecPredRegContainer &val) override |
void | setCCReg (RegIndex reg_idx, RegVal val) override |
TheISA::PCState | pcState () const override |
Reads this thread's PC state. More... | |
void | pcState (const TheISA::PCState &val) override |
Sets this thread's PC state. More... | |
void | setNPC (Addr val) |
void | pcStateNoRecord (const TheISA::PCState &val) override |
Addr | instAddr () const override |
Reads this thread's PC. More... | |
Addr | nextInstAddr () const override |
Reads this thread's next PC. More... | |
MicroPC | microPC () const override |
Reads this thread's next PC. More... | |
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 ®Id) const override |
unsigned | readStCondFailures () const override |
void | setStCondFailures (unsigned sc_failures) override |
Counter | readFuncExeInst () const 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 VecRegContainer & | readVecRegFlat (RegIndex idx) const override |
VecRegContainer & | getWritableVecRegFlat (RegIndex idx) override |
Read vector register for modification, flat indexing. More... | |
void | setVecRegFlat (RegIndex idx, const VecRegContainer &val) override |
const VecElem & | readVecElemFlat (RegIndex idx, const ElemIndex &elem_idx) const override |
void | setVecElemFlat (RegIndex idx, const ElemIndex &elem_idx, const VecElem &val) override |
const VecPredRegContainer & | readVecPredRegFlat (RegIndex idx) const override |
VecPredRegContainer & | getWritableVecPredRegFlat (RegIndex idx) override |
void | setVecPredRegFlat (RegIndex idx, const 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 |
BaseHTMCheckpointPtr & | getHtmCheckpointPtr () override |
void | setHtmCheckpointPtr (BaseHTMCheckpointPtr new_cpt) override |
ConstVecLane8 | readVec8BitLaneReg (const RegId ®) const override |
Vector Register Lane Interfaces. More... | |
ConstVecLane16 | readVec16BitLaneReg (const RegId ®) const override |
Reads source vector 16bit operand. More... | |
ConstVecLane32 | readVec32BitLaneReg (const RegId ®) const override |
Reads source vector 32bit operand. More... | |
ConstVecLane64 | readVec64BitLaneReg (const RegId ®) const override |
Reads source vector 64bit operand. More... | |
virtual void | setVecLane (const RegId ®, const LaneData< LaneSize::Byte > &val) override |
Write a lane of the destination vector register. More... | |
virtual void | setVecLane (const RegId ®, const LaneData< LaneSize::TwoByte > &val) override |
virtual void | setVecLane (const RegId ®, const LaneData< LaneSize::FourByte > &val) override |
virtual void | setVecLane (const RegId ®, const LaneData< LaneSize::EightByte > &val) override |
Public Member Functions inherited from ThreadContext | |
virtual | ~ThreadContext () |
void | quiesce () |
Quiesce thread context. More... | |
void | quiesceTick (Tick resume) |
Quiesce, suspend, and schedule activate at resume. More... | |
void | setNPC (Addr val) |
virtual int | exit () |
Private Attributes | |
TC * | actualTC |
The main CPU's ThreadContext, or class that implements the ThreadContext interface. More... | |
SimpleThread * | checkerTC |
The checker's own SimpleThread. More... | |
CheckerCPU * | checkerCPU |
Pointer to the checker CPU. More... | |
Additional Inherited Members | |
Public Types inherited from ThreadContext | |
enum | Status { Active, Suspended, Halting, Halted } |
Static Public Member Functions inherited from ThreadContext | |
static void | compare (ThreadContext *one, ThreadContext *two) |
function to compare two thread contexts (for debugging) More... | |
Public Attributes inherited from ThreadContext | |
int | intResult = DefaultIntResult |
double | floatResult = DefaultFloatResult |
int | intOffset = 0 |
Static Public Attributes inherited from ThreadContext | |
static const int | ints [] |
static const double | floats [] |
static const int | DefaultIntResult = 0 |
static const double | DefaultFloatResult = 0.0 |
Protected Types inherited from ThreadContext | |
typedef TheISA::MachInst | MachInst |
using | VecRegContainer = TheISA::VecRegContainer |
using | VecElem = TheISA::VecElem |
using | VecPredRegContainer = TheISA::VecPredRegContainer |
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 66 of file thread_context.hh.
|
inline |
Definition at line 69 of file thread_context.hh.
|
inlineoverridevirtual |
Set the status to Active.
Implements ThreadContext.
Definition at line 187 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 221 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, and SimpleThread::clearArchRegs().
|
inline |
Definition at line 169 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 112 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 214 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, and SimpleThread::copyArchRegs().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 110 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 96 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and MipsISA::event.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 447 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 135 of file thread_context.hh.
References CheckerThreadContext< TC >::checkerCPU.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 106 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 101 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 143 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 132 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 140 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 130 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 154 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 150 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 148 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 157 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 327 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 535 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Read vector register for modification, hierarchical indexing.
Implements ThreadContext.
Definition at line 252 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Read vector register for modification, flat indexing.
Implements ThreadContext.
Definition at line 504 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Set the status to Halted.
Implements ThreadContext.
Definition at line 193 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Initialise the physical and virtual port proxies and tie them to the data port of the CPU.
tc ThreadContext for the virtual-to-physical translation
Implements ThreadContext.
Definition at line 163 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Reads this thread's PC.
Implements ThreadContext.
Definition at line 408 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Reads this thread's next PC.
Implements ThreadContext.
Definition at line 414 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Reads this thread's next PC.
Implements ThreadContext.
Definition at line 411 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Reads this thread's PC state.
Implements ThreadContext.
Definition at line 381 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Sets this thread's PC state.
Implements ThreadContext.
Definition at line 385 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerCPU, CheckerThreadContext< TC >::checkerTC, DPRINTF, SimpleThread::pcState(), CheckerCPU::recordPCChange(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 402 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 333 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 547 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 237 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 483 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 465 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 231 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
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 ThreadContext.
Definition at line 471 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 209 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 210 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 423 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 417 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 453 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Reads source vector 16bit operand.
Implements ThreadContext.
Definition at line 268 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Reads source vector 32bit operand.
Implements ThreadContext.
Definition at line 275 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Reads source vector 64bit operand.
Implements ThreadContext.
Definition at line 282 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Vector Register Lane Interfaces.
Reads source vector 8bit operand.
Implements ThreadContext.
Definition at line 261 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 315 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 516 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 321 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 529 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 243 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::reg.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 495 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Reimplemented from ThreadContext.
Definition at line 203 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, name(), and ThreadContext::regStats().
|
inlineoverridevirtual |
Implements PCEventScope.
Definition at line 88 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and ArmISA::e.
|
inlineoverridevirtual |
Implements PCEventScope.
Definition at line 87 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and ArmISA::e.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 91 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, X86ISA::count, and MipsISA::event.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 374 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, SimpleThread::setCCReg(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 553 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 115 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, and SimpleThread::setContextId().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 346 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, SimpleThread::setFloatReg(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 489 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::val.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 339 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, SimpleThread::setIntReg(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 477 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 438 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, DPRINTF, SimpleThread::setMiscReg(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 429 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, DPRINTF, SimpleThread::setMiscRegNoEffect(), and X86ISA::val.
|
inline |
Definition at line 395 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, ThreadContext::setNPC(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 152 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and MipsISA::p.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 180 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, and SimpleThread::setStatus().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 459 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 124 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, and SimpleThread::setThreadId().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 360 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, X86ISA::reg, SimpleThread::setVecElem(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 522 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::val.
|
inlineoverridevirtual |
Write a lane of the destination vector register.
Implements ThreadContext.
Definition at line 289 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, X86ISA::reg, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 307 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, X86ISA::reg, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 301 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, X86ISA::reg, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 295 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, X86ISA::reg, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 367 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, X86ISA::reg, SimpleThread::setVecPredReg(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 541 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 353 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, X86ISA::reg, SimpleThread::setVecReg(), and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 510 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, and X86ISA::val.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 108 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 177 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Set the status to Suspended.
Implements ThreadContext.
Definition at line 190 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Executes a syscall in SE mode.
Implements ThreadContext.
Definition at line 175 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 196 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC, CheckerThreadContext< TC >::checkerTC, and SimpleThread::copyState().
|
inlineoverridevirtual |
Returns this thread's ID number.
Implements ThreadContext.
Definition at line 122 of file thread_context.hh.
References CheckerThreadContext< TC >::actualTC.
|
private |
The main CPU's ThreadContext, or class that implements the ThreadContext interface.
Definition at line 78 of file thread_context.hh.
Referenced by CheckerThreadContext< TC >::activate(), CheckerThreadContext< TC >::clearArchRegs(), CheckerThreadContext< TC >::connectMemPorts(), CheckerThreadContext< TC >::contextId(), CheckerThreadContext< TC >::copyArchRegs(), CheckerThreadContext< TC >::cpuId(), CheckerThreadContext< TC >::descheduleInstCountEvent(), CheckerThreadContext< TC >::flattenRegId(), CheckerThreadContext< TC >::getCpuPtr(), CheckerThreadContext< TC >::getCurrentInstCount(), CheckerThreadContext< TC >::getDecoderPtr(), CheckerThreadContext< TC >::getDTBPtr(), CheckerThreadContext< TC >::getIsaPtr(), CheckerThreadContext< TC >::getITBPtr(), CheckerThreadContext< TC >::getPhysProxy(), CheckerThreadContext< TC >::getProcessPtr(), CheckerThreadContext< TC >::getSystemPtr(), CheckerThreadContext< TC >::getVirtProxy(), CheckerThreadContext< TC >::getWritableVecPredReg(), CheckerThreadContext< TC >::getWritableVecPredRegFlat(), CheckerThreadContext< TC >::getWritableVecReg(), CheckerThreadContext< TC >::getWritableVecRegFlat(), CheckerThreadContext< TC >::halt(), CheckerThreadContext< TC >::initMemProxies(), CheckerThreadContext< TC >::instAddr(), CheckerThreadContext< TC >::microPC(), CheckerThreadContext< TC >::nextInstAddr(), CheckerThreadContext< TC >::pcState(), CheckerThreadContext< TC >::pcStateNoRecord(), CheckerThreadContext< TC >::readCCReg(), CheckerThreadContext< TC >::readCCRegFlat(), CheckerThreadContext< TC >::readFloatReg(), CheckerThreadContext< TC >::readFloatRegFlat(), CheckerThreadContext< TC >::readFuncExeInst(), CheckerThreadContext< TC >::readIntReg(), CheckerThreadContext< TC >::readIntRegFlat(), CheckerThreadContext< TC >::readLastActivate(), CheckerThreadContext< TC >::readLastSuspend(), CheckerThreadContext< TC >::readMiscReg(), CheckerThreadContext< TC >::readMiscRegNoEffect(), CheckerThreadContext< TC >::readStCondFailures(), CheckerThreadContext< TC >::readVec16BitLaneReg(), CheckerThreadContext< TC >::readVec32BitLaneReg(), CheckerThreadContext< TC >::readVec64BitLaneReg(), CheckerThreadContext< TC >::readVec8BitLaneReg(), CheckerThreadContext< TC >::readVecElem(), CheckerThreadContext< TC >::readVecElemFlat(), CheckerThreadContext< TC >::readVecPredReg(), CheckerThreadContext< TC >::readVecPredRegFlat(), CheckerThreadContext< TC >::readVecReg(), CheckerThreadContext< TC >::readVecRegFlat(), CheckerThreadContext< TC >::regStats(), CheckerThreadContext< TC >::remove(), CheckerThreadContext< TC >::schedule(), CheckerThreadContext< TC >::scheduleInstCountEvent(), CheckerThreadContext< TC >::setCCReg(), CheckerThreadContext< TC >::setCCRegFlat(), CheckerThreadContext< TC >::setContextId(), CheckerThreadContext< TC >::setFloatReg(), CheckerThreadContext< TC >::setFloatRegFlat(), CheckerThreadContext< TC >::setIntReg(), CheckerThreadContext< TC >::setIntRegFlat(), CheckerThreadContext< TC >::setMiscReg(), CheckerThreadContext< TC >::setMiscRegNoEffect(), CheckerThreadContext< TC >::setNPC(), CheckerThreadContext< TC >::setProcessPtr(), CheckerThreadContext< TC >::setStatus(), CheckerThreadContext< TC >::setStCondFailures(), CheckerThreadContext< TC >::setThreadId(), CheckerThreadContext< TC >::setVecElem(), CheckerThreadContext< TC >::setVecElemFlat(), CheckerThreadContext< TC >::setVecLane(), CheckerThreadContext< TC >::setVecPredReg(), CheckerThreadContext< TC >::setVecPredRegFlat(), CheckerThreadContext< TC >::setVecReg(), CheckerThreadContext< TC >::setVecRegFlat(), CheckerThreadContext< TC >::socketId(), CheckerThreadContext< TC >::status(), CheckerThreadContext< TC >::suspend(), CheckerThreadContext< TC >::syscall(), CheckerThreadContext< TC >::takeOverFrom(), and CheckerThreadContext< TC >::threadId().
|
private |
Pointer to the checker CPU.
Definition at line 84 of file thread_context.hh.
Referenced by CheckerThreadContext< TC >::getCheckerCpuPtr(), and CheckerThreadContext< TC >::pcState().
|
private |
The checker's own SimpleThread.
Will be updated any time anything uses this ThreadContext to externally update a thread's state.
Definition at line 82 of file thread_context.hh.
Referenced by CheckerThreadContext< TC >::clearArchRegs(), CheckerThreadContext< TC >::copyArchRegs(), CheckerThreadContext< TC >::pcState(), CheckerThreadContext< TC >::regStats(), CheckerThreadContext< TC >::setCCReg(), CheckerThreadContext< TC >::setContextId(), CheckerThreadContext< TC >::setFloatReg(), CheckerThreadContext< TC >::setIntReg(), CheckerThreadContext< TC >::setMiscReg(), CheckerThreadContext< TC >::setMiscRegNoEffect(), CheckerThreadContext< TC >::setNPC(), CheckerThreadContext< TC >::setStatus(), CheckerThreadContext< TC >::setThreadId(), CheckerThreadContext< TC >::setVecElem(), CheckerThreadContext< TC >::setVecPredReg(), CheckerThreadContext< TC >::setVecReg(), and CheckerThreadContext< TC >::takeOverFrom().