gem5
|
The SimpleThread object provides a combination of the ThreadState object and the ThreadContext interface. More...
#include <simple_thread.hh>
Public Types | |
typedef ThreadContext::Status | Status |
Public Types inherited from ThreadState | |
typedef ThreadContext::Status | Status |
Public Member Functions | |
std::string | name () const |
SimpleThread (BaseCPU *_cpu, int _thread_num, System *_system, TheISA::TLB *_itb, TheISA::TLB *_dtb, TheISA::ISA *_isa, bool use_kernel_stats=true) | |
SimpleThread (BaseCPU *_cpu, int _thread_num, System *_system, Process *_process, TheISA::TLB *_itb, TheISA::TLB *_dtb, TheISA::ISA *_isa) | |
virtual | ~SimpleThread () |
virtual void | takeOverFrom (ThreadContext *oldContext) |
void | regStats (const std::string &name) |
void | copyState (ThreadContext *oldContext) |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
void | startup () |
ThreadContext * | getTC () |
Returns the pointer to this SimpleThread's ThreadContext. More... | |
void | demapPage (Addr vaddr, uint64_t asn) |
void | demapInstPage (Addr vaddr, uint64_t asn) |
void | demapDataPage (Addr vaddr, uint64_t asn) |
void | dumpFuncProfile () |
Fault | hwrei () |
bool | simPalCheck (int palFunc) |
Check for special simulator handling of specific PAL calls. More... | |
BaseCPU * | getCpuPtr () |
TheISA::TLB * | getITBPtr () |
TheISA::TLB * | getDTBPtr () |
CheckerCPU * | getCheckerCpuPtr () |
TheISA::Decoder * | getDecoderPtr () |
System * | getSystemPtr () |
Status | status () const |
void | setStatus (Status newStatus) |
void | activate () |
Set the status to Active. More... | |
void | suspend () |
Set the status to Suspended. More... | |
void | halt () |
Set the status to Halted. More... | |
void | copyArchRegs (ThreadContext *tc) |
void | clearArchRegs () |
uint64_t | readIntReg (int reg_idx) |
FloatReg | readFloatReg (int reg_idx) |
FloatRegBits | readFloatRegBits (int reg_idx) |
CCReg | readCCReg (int reg_idx) |
void | setIntReg (int reg_idx, uint64_t val) |
void | setFloatReg (int reg_idx, FloatReg val) |
void | setFloatRegBits (int reg_idx, FloatRegBits val) |
void | setCCReg (int reg_idx, CCReg val) |
TheISA::PCState | pcState () |
void | pcState (const TheISA::PCState &val) |
void | pcStateNoRecord (const TheISA::PCState &val) |
Addr | instAddr () |
Addr | nextInstAddr () |
void | setNPC (Addr val) |
MicroPC | microPC () |
bool | readPredicate () |
void | setPredicate (bool val) |
MiscReg | readMiscRegNoEffect (int misc_reg, ThreadID tid=0) const |
MiscReg | readMiscReg (int misc_reg, ThreadID tid=0) |
void | setMiscRegNoEffect (int misc_reg, const MiscReg &val, ThreadID tid=0) |
void | setMiscReg (int misc_reg, const MiscReg &val, ThreadID tid=0) |
int | flattenIntIndex (int reg) |
int | flattenFloatIndex (int reg) |
int | flattenCCIndex (int reg) |
int | flattenMiscIndex (int reg) |
unsigned | readStCondFailures () |
void | setStCondFailures (unsigned sc_failures) |
void | syscall (int64_t callnum, Fault *fault) |
uint64_t | readIntRegFlat (int idx) |
void | setIntRegFlat (int idx, uint64_t val) |
FloatReg | readFloatRegFlat (int idx) |
void | setFloatRegFlat (int idx, FloatReg val) |
FloatRegBits | readFloatRegBitsFlat (int idx) |
void | setFloatRegBitsFlat (int idx, FloatRegBits val) |
CCReg | readCCRegFlat (int idx) |
void | setCCRegFlat (int idx, CCReg val) |
Public Member Functions inherited from ThreadState | |
ThreadState (BaseCPU *cpu, ThreadID _tid, Process *_process) | |
virtual | ~ThreadState () |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
int | cpuId () const |
uint32_t | socketId () const |
ContextID | contextId () const |
void | setContextId (ContextID id) |
void | setThreadId (ThreadID id) |
ThreadID | threadId () const |
Tick | readLastActivate () const |
Tick | readLastSuspend () const |
void | initMemProxies (ThreadContext *tc) |
Initialise the physical and virtual port proxies and tie them to the data port of the CPU. More... | |
void | dumpFuncProfile () |
EndQuiesceEvent * | getQuiesceEvent () |
void | profileClear () |
void | profileSample () |
TheISA::Kernel::Statistics * | getKernelStats () |
PortProxy & | getPhysProxy () |
FSTranslatingPortProxy & | getVirtProxy () |
Process * | getProcessPtr () |
void | setProcessPtr (Process *p) |
SETranslatingPortProxy & | getMemProxy () |
Counter | readFuncExeInst () |
Reads the number of instructions functionally executed and committed. More... | |
void | setFuncExeInst (Counter new_val) |
Sets the total number of instructions functionally executed and committed. More... | |
Status | status () const |
Returns the status of this thread. More... | |
void | setStatus (Status new_status) |
Sets the status of this thread. 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) |
Public Attributes | |
ProxyThreadContext < SimpleThread > * | tc |
System * | system |
TheISA::TLB * | itb |
TheISA::TLB * | dtb |
TheISA::Decoder | decoder |
FloatReg | f [TheISA::NumFloatRegs] |
FloatRegBits | i [TheISA::NumFloatRegs] |
Public Attributes inherited from ThreadState | |
Counter | numInst |
Number of instructions committed. More... | |
Stats::Scalar | numInsts |
Stat for number instructions committed. More... | |
Counter | numOp |
Number of ops (including micro ops) committed. More... | |
Stats::Scalar | numOps |
Stat for number ops (including micro ops) committed. More... | |
Stats::Scalar | numMemRefs |
Stat for number of memory references. More... | |
Counter | numLoad |
Number of simulated loads, used for tracking events based on the number of loads committed. More... | |
Counter | startNumLoad |
The number of simulated loads committed prior to this run. More... | |
Tick | lastActivate |
Last time activate was called on this thread. More... | |
Tick | lastSuspend |
Last time suspend was called on this thread. More... | |
FunctionProfile * | profile |
ProfileNode * | profileNode |
Addr | profilePC |
EndQuiesceEvent * | quiesceEvent |
TheISA::Kernel::Statistics * | kernelStats |
Counter | funcExeInst |
unsigned | storeCondFailures |
Protected Types | |
typedef TheISA::MachInst | MachInst |
typedef TheISA::MiscReg | MiscReg |
typedef TheISA::FloatReg | FloatReg |
typedef TheISA::FloatRegBits | FloatRegBits |
typedef TheISA::CCReg | CCReg |
Protected Attributes | |
union { | |
FloatReg f [TheISA::NumFloatRegs] | |
FloatRegBits i [TheISA::NumFloatRegs] | |
} | floatRegs |
TheISA::IntReg | intRegs [TheISA::NumIntRegs] |
TheISA::ISA *const | isa |
TheISA::PCState | _pcState |
bool | predicate |
Did this instruction execute or is it predicated false. More... | |
Protected Attributes inherited from ThreadState | |
ThreadContext::Status | _status |
BaseCPU * | baseCpu |
ContextID | _contextId |
ThreadID | _threadId |
Process * | process |
PortProxy * | physProxy |
A port proxy outgoing only for functional accesses to physical addresses. More... | |
FSTranslatingPortProxy * | virtProxy |
A translating port proxy, outgoing only, for functional accesse to virtual addresses. More... | |
SETranslatingPortProxy * | proxy |
Additional Inherited Members | |
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) |
Static Public Attributes inherited from Serializable | |
static int | ckptCount = 0 |
static int | ckptMaxCount = 0 |
static int | ckptPrevCount = -1 |
The SimpleThread object provides a combination of the ThreadState object and the ThreadContext interface.
It implements the ThreadContext interface so that a ProxyThreadContext class can be made using SimpleThread as the template parameter (see thread_context.hh). It adds to the ThreadState object by adding all the objects needed for simple functional execution, including a simple architectural register file, and pointers to the ITB and DTB in full system mode. For CPU models that do not need more advanced ways to hold state (i.e. a separate physical register file, or separate fetch and commit PC's), this SimpleThread class provides all the necessary state for full architecture-level functional simulation. See the AtomicSimpleCPU or TimingSimpleCPU for examples.
Definition at line 97 of file simple_thread.hh.
|
protected |
Definition at line 104 of file simple_thread.hh.
|
protected |
Definition at line 102 of file simple_thread.hh.
|
protected |
Definition at line 103 of file simple_thread.hh.
|
protected |
Definition at line 100 of file simple_thread.hh.
|
protected |
Definition at line 101 of file simple_thread.hh.
Definition at line 106 of file simple_thread.hh.
SimpleThread::SimpleThread | ( | BaseCPU * | _cpu, |
int | _thread_num, | ||
System * | _system, | ||
TheISA::TLB * | _itb, | ||
TheISA::TLB * | _dtb, | ||
TheISA::ISA * | _isa, | ||
bool | use_kernel_stats = true |
||
) |
Definition at line 76 of file simple_thread.cc.
References ThreadState::baseCpu, clearArchRegs(), dumpFuncProfile(), ThreadState::kernelStats, System::kernelSymtab, ThreadState::profile, ThreadState::profileNode, ThreadState::profilePC, ThreadState::quiesceEvent, registerExitCallback(), system, and tc.
SimpleThread::SimpleThread | ( | BaseCPU * | _cpu, |
int | _thread_num, | ||
System * | _system, | ||
Process * | _process, | ||
TheISA::TLB * | _itb, | ||
TheISA::TLB * | _dtb, | ||
TheISA::ISA * | _isa | ||
) |
Definition at line 64 of file simple_thread.cc.
References clearArchRegs(), ThreadState::quiesceEvent, and tc.
|
virtual |
Definition at line 106 of file simple_thread.cc.
References tc.
void SimpleThread::activate | ( | ) |
Set the status to Active.
Definition at line 165 of file simple_thread.cc.
References ThreadState::_status, ThreadState::_threadId, ThreadContext::Active, ThreadState::baseCpu, curTick(), ThreadState::lastActivate, and status().
Referenced by BaseKvmCPU::wakeup().
|
inline |
Definition at line 225 of file simple_thread.hh.
References _pcState, floatRegs, intRegs, and isa.
Referenced by CheckerThreadContext< TC >::clearArchRegs(), and SimpleThread().
void SimpleThread::copyArchRegs | ( | ThreadContext * | tc | ) |
Definition at line 207 of file simple_thread.cc.
References AlphaISA::copyRegs(), and tc.
Referenced by CheckerThreadContext< TC >::copyArchRegs(), and copyState().
void SimpleThread::copyState | ( | ThreadContext * | oldContext | ) |
Definition at line 123 of file simple_thread.cc.
References ThreadState::_contextId, ThreadState::_status, ThreadState::_threadId, ThreadContext::contextId(), copyArchRegs(), FullSystem, ThreadState::funcExeInst, ThreadContext::readFuncExeInst(), ThreadContext::status(), and ThreadContext::threadId().
Referenced by CheckerThreadContext< TC >::takeOverFrom().
|
inline |
Definition at line 183 of file simple_thread.hh.
References dtb.
|
inline |
Definition at line 178 of file simple_thread.hh.
References itb.
|
inline |
Definition at line 172 of file simple_thread.hh.
Referenced by SimpleExecContext::demapPage().
void SimpleThread::dumpFuncProfile | ( | ) |
Definition at line 157 of file simple_thread.cc.
References ThreadState::baseCpu, OutputDirectory::close(), OutputDirectory::create(), csprintf(), FunctionProfile::dump(), X86ISA::os, ThreadState::profile, simout, and tc.
Referenced by SimpleThread().
|
inline |
Definition at line 417 of file simple_thread.hh.
References isa.
|
inline |
Definition at line 411 of file simple_thread.hh.
References isa.
|
inline |
Definition at line 405 of file simple_thread.hh.
References isa.
|
inline |
Definition at line 423 of file simple_thread.hh.
References isa.
|
inline |
Definition at line 204 of file simple_thread.hh.
|
inline |
Definition at line 198 of file simple_thread.hh.
References ThreadState::baseCpu.
|
inline |
Definition at line 206 of file simple_thread.hh.
References decoder.
|
inline |
Definition at line 202 of file simple_thread.hh.
References dtb.
Referenced by Minor::ExecContext::demapDataPage(), and Minor::ExecContext::demapPage().
|
inline |
Definition at line 200 of file simple_thread.hh.
References itb.
Referenced by Minor::ExecContext::demapInstPage(), and Minor::ExecContext::demapPage().
|
inline |
Definition at line 208 of file simple_thread.hh.
References system.
|
inline |
Returns the pointer to this SimpleThread's ThreadContext.
Used when a ThreadContext must be passed to objects outside of the CPU.
Definition at line 170 of file simple_thread.hh.
References tc.
Referenced by BaseKvmCPU::BaseKvmCPU(), BaseSimpleCPU::BaseSimpleCPU(), BaseSimpleCPU::checkForInterrupts(), BaseKvmCPU::doMMIOAccess(), TimingSimpleCPU::fetch(), TimingSimpleCPU::handleReadPacket(), TimingSimpleCPU::handleWritePacket(), TimingSimpleCPU::initiateMemRead(), MinorCPU::MinorCPU(), BaseSimpleCPU::preExecute(), AtomicSimpleCPU::readMem(), CheckerCPU::setSystem(), Minor::ExecContext::tcBase(), SimpleExecContext::tcBase(), AtomicSimpleCPU::tick(), AtomicSimpleCPU::writeMem(), and TimingSimpleCPU::writeMem().
void SimpleThread::halt | ( | ) |
Set the status to Halted.
Definition at line 189 of file simple_thread.cc.
References ThreadState::_status, ThreadState::_threadId, ThreadState::baseCpu, ThreadContext::Halted, and status().
Fault SimpleThread::hwrei | ( | ) |
Definition at line 467 of file ev5.cc.
References CPA::cpa(), AlphaISA::IPR_EXC_ADDR, NoFault, GenericISA::SimplePCState< MachInst >::npc(), pc, GenericISA::SimplePCState< MachInst >::pc(), and CPA::swAutoBegin().
Referenced by Minor::ExecContext::hwrei(), SimpleExecContext::hwrei(), and CheckerCPU::hwrei().
|
inline |
Definition at line 347 of file simple_thread.hh.
References _pcState.
Referenced by TimingSimpleCPU::initiateMemRead(), CheckerCPU::instAddr(), BaseSimpleCPU::setupFetchRequest(), and TimingSimpleCPU::writeMem().
|
inline |
Definition at line 365 of file simple_thread.hh.
References _pcState.
Referenced by AtomicSimpleCPU::isDrained(), TimingSimpleCPU::isDrained(), and CheckerCPU::microPC().
|
inline |
Definition at line 125 of file simple_thread.hh.
References ThreadState::baseCpu, csprintf(), tc, and ProxyThreadContext< TC >::threadId().
|
inline |
Definition at line 353 of file simple_thread.hh.
References _pcState.
Referenced by CheckerCPU::nextInstAddr().
|
inline |
Definition at line 329 of file simple_thread.hh.
References _pcState.
Referenced by BaseSimpleCPU::advancePC(), CheckerCPU::dumpAndExit(), TimingSimpleCPU::fetch(), Minor::ExecContext::pcState(), CheckerThreadContext< TC >::pcState(), SimpleExecContext::pcState(), CheckerCPU::pcState(), BaseSimpleCPU::preExecute(), SimPoint::profile(), AtomicSimpleCPU::readMem(), CheckerCPU::readMem(), AtomicSimpleCPU::tick(), Minor::LSQ::tryToSendToTransfers(), AtomicSimpleCPU::writeMem(), and CheckerCPU::writeMem().
|
inline |
Definition at line 335 of file simple_thread.hh.
References _pcState, and X86ISA::val.
|
inline |
Definition at line 341 of file simple_thread.hh.
References _pcState, and X86ISA::val.
|
inline |
Definition at line 269 of file simple_thread.hh.
References DPRINTF, isa, AlphaISA::NumCCRegs, panic, and readCCRegFlat().
Referenced by SimpleExecContext::readCCRegOperand(), CheckerCPU::readCCRegOperand(), and Minor::ExecContext::readCCRegOperand().
|
inline |
|
inline |
Definition at line 249 of file simple_thread.hh.
References DPRINTF, floatRegs, isa, AlphaISA::NumFloatRegs, and readFloatRegFlat().
Referenced by Minor::ExecContext::readFloatRegOperand(), SimpleExecContext::readFloatRegOperand(), and CheckerCPU::readFloatRegOperand().
|
inline |
Definition at line 259 of file simple_thread.hh.
References DPRINTF, floatRegs, isa, AlphaISA::NumFloatRegs, and readFloatRegBitsFlat().
Referenced by Minor::ExecContext::readFloatRegOperandBits(), SimpleExecContext::readFloatRegOperandBits(), CheckerCPU::readFloatRegOperandBits(), and Minor::ExecContext::readRegOtherThread().
|
inline |
Definition at line 444 of file simple_thread.hh.
References floatRegs.
Referenced by readFloatRegBits().
|
inline |
Definition at line 441 of file simple_thread.hh.
References floatRegs.
Referenced by readFloatReg().
|
inline |
Definition at line 239 of file simple_thread.hh.
References DPRINTF, isa, AlphaISA::NumIntRegs, and readIntRegFlat().
Referenced by Minor::ExecContext::readIntRegOperand(), SimpleExecContext::readIntRegOperand(), CheckerCPU::readIntRegOperand(), and Minor::ExecContext::readRegOtherThread().
|
inline |
Definition at line 387 of file simple_thread.hh.
Referenced by Minor::ExecContext::readMiscReg(), SimpleExecContext::readMiscReg(), CheckerCPU::readMiscReg(), Minor::ExecContext::readMiscRegOperand(), SimpleExecContext::readMiscRegOperand(), CheckerCPU::readMiscRegOperand(), and Minor::ExecContext::readRegOtherThread().
Definition at line 381 of file simple_thread.hh.
References isa.
Referenced by Minor::ExecContext::readMiscRegNoEffect(), and CheckerCPU::readMiscRegNoEffect().
|
inline |
Definition at line 370 of file simple_thread.hh.
References predicate.
Referenced by Minor::ExecContext::readPredicate(), CheckerCPU::readPredicate(), and SimpleExecContext::readPredicate().
|
inline |
Definition at line 428 of file simple_thread.hh.
References ThreadState::storeCondFailures.
Referenced by SimpleExecContext::readStCondFailures(), and CheckerCPU::readStCondFailures().
void SimpleThread::regStats | ( | const std::string & | name | ) |
Definition at line 200 of file simple_thread.cc.
References FullSystem, and ThreadState::kernelStats.
Referenced by CheckerThreadContext< TC >::regStats().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 136 of file simple_thread.cc.
References ThreadState::serialize(), and tc.
Referenced by BaseKvmCPU::serializeThread().
|
inline |
Definition at line 315 of file simple_thread.hh.
References DPRINTF, isa, AlphaISA::NumCCRegs, panic, and setCCRegFlat().
Referenced by CheckerThreadContext< TC >::setCCReg(), SimpleExecContext::setCCRegOperand(), CheckerCPU::setCCRegOperand(), and Minor::ExecContext::setCCRegOperand().
|
inline |
|
inline |
Definition at line 294 of file simple_thread.hh.
References DPRINTF, floatRegs, isa, AlphaISA::NumFloatRegs, and setFloatRegFlat().
Referenced by Minor::ExecContext::ExecContext(), BaseSimpleCPU::preExecute(), CheckerThreadContext< TC >::setFloatReg(), Minor::ExecContext::setFloatRegOperand(), SimpleExecContext::setFloatRegOperand(), and CheckerCPU::setFloatRegOperand().
|
inline |
Definition at line 303 of file simple_thread.hh.
References DPRINTF, floatRegs, isa, AlphaISA::NumFloatRegs, and setFloatRegBitsFlat().
Referenced by CheckerThreadContext< TC >::setFloatRegBits(), Minor::ExecContext::setFloatRegOperandBits(), SimpleExecContext::setFloatRegOperandBits(), CheckerCPU::setFloatRegOperandBits(), and Minor::ExecContext::setRegOtherThread().
|
inline |
Definition at line 445 of file simple_thread.hh.
References floatRegs, and X86ISA::val.
Referenced by setFloatRegBits().
|
inline |
Definition at line 442 of file simple_thread.hh.
References floatRegs, and X86ISA::val.
Referenced by setFloatReg().
|
inline |
Definition at line 285 of file simple_thread.hh.
References DPRINTF, isa, AlphaISA::NumIntRegs, and setIntRegFlat().
Referenced by Minor::ExecContext::ExecContext(), BaseSimpleCPU::preExecute(), CheckerThreadContext< TC >::setIntReg(), Minor::ExecContext::setIntRegOperand(), SimpleExecContext::setIntRegOperand(), CheckerCPU::setIntRegOperand(), and Minor::ExecContext::setRegOtherThread().
|
inline |
Definition at line 439 of file simple_thread.hh.
References intRegs, and X86ISA::val.
Referenced by setIntReg().
Definition at line 399 of file simple_thread.hh.
Referenced by Minor::ExecContext::setMiscReg(), SimpleExecContext::setMiscReg(), CheckerThreadContext< TC >::setMiscReg(), CheckerCPU::setMiscReg(), Minor::ExecContext::setMiscRegOperand(), SimpleExecContext::setMiscRegOperand(), and Minor::ExecContext::setRegOtherThread().
|
inline |
Definition at line 393 of file simple_thread.hh.
References isa.
Referenced by CheckerThreadContext< TC >::setMiscRegNoEffect(), and CheckerCPU::setMiscRegNoEffect().
|
inline |
Definition at line 359 of file simple_thread.hh.
References _pcState.
Referenced by CheckerThreadContext< TC >::setNPC().
|
inline |
Definition at line 375 of file simple_thread.hh.
References predicate, and X86ISA::val.
Referenced by Minor::ExecContext::setPredicate(), CheckerCPU::setPredicate(), and SimpleExecContext::setPredicate().
|
inline |
Definition at line 212 of file simple_thread.hh.
References ThreadState::_status.
Referenced by BaseKvmCPU::BaseKvmCPU(), MinorCPU::MinorCPU(), and CheckerThreadContext< TC >::setStatus().
|
inline |
Definition at line 430 of file simple_thread.hh.
References ThreadState::storeCondFailures.
Referenced by SimpleExecContext::setStCondFailures().
bool SimpleThread::simPalCheck | ( | int | palFunc | ) |
Check for special simulator handling of specific PAL calls.
If return value is false, actual PAL call will be suppressed.
Definition at line 490 of file ev5.cc.
References PAL::bpt, PAL::bugchk, exitSimLoop(), PAL::halt, MipsISA::halt, System::numSystemsRunning, and ArmISA::system.
Referenced by Minor::ExecContext::simPalCheck(), SimpleExecContext::simPalCheck(), and CheckerCPU::simPalCheck().
void SimpleThread::startup | ( | ) |
Definition at line 151 of file simple_thread.cc.
Referenced by BaseKvmCPU::startup().
|
inline |
Definition at line 210 of file simple_thread.hh.
References ThreadState::_status.
Referenced by activate(), halt(), suspend(), and BaseKvmCPU::wakeup().
void SimpleThread::suspend | ( | ) |
Set the status to Suspended.
Definition at line 176 of file simple_thread.cc.
References ThreadState::_status, ThreadState::_threadId, ThreadState::baseCpu, curTick(), ThreadState::lastActivate, ThreadState::lastSuspend, status(), and ThreadContext::Suspended.
Referenced by X86KvmCPU::deliverInterrupts(), and BaseKvmCPU::handleKvmExit().
|
inline |
Definition at line 433 of file simple_thread.hh.
References ThreadState::process, Process::syscall(), and tc.
Referenced by Minor::ExecContext::syscall(), and SimpleExecContext::syscall().
|
virtual |
Definition at line 112 of file simple_thread.cc.
References decoder, ThreadState::funcExeInst, ThreadContext::getDecoderPtr(), ThreadContext::getKernelStats(), ThreadState::kernelStats, ThreadContext::readFuncExeInst(), ThreadState::storeCondFailures, and tc.
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 144 of file simple_thread.cc.
References tc, and ThreadState::unserialize().
Referenced by BaseKvmCPU::unserializeThread().
|
protected |
Definition at line 119 of file simple_thread.hh.
Referenced by clearArchRegs(), instAddr(), microPC(), nextInstAddr(), pcState(), pcStateNoRecord(), and setNPC().
TheISA::Decoder SimpleThread::decoder |
Definition at line 137 of file simple_thread.hh.
Referenced by BaseSimpleCPU::advancePC(), BaseSimpleCPU::checkForInterrupts(), getDecoderPtr(), BaseSimpleCPU::preExecute(), and takeOverFrom().
TheISA::TLB* SimpleThread::dtb |
Definition at line 135 of file simple_thread.hh.
Referenced by demapDataPage(), demapPage(), getDTBPtr(), TimingSimpleCPU::initiateMemRead(), Minor::ExecContext::mwaitAtomic(), CheckerCPU::mwaitAtomic(), SimpleExecContext::mwaitAtomic(), AtomicSimpleCPU::readMem(), AtomicSimpleCPU::writeMem(), and TimingSimpleCPU::writeMem().
FloatReg SimpleThread::f[TheISA::NumFloatRegs] |
Definition at line 110 of file simple_thread.hh.
union { ... } SimpleThread::floatRegs |
FloatRegBits SimpleThread::i[TheISA::NumFloatRegs] |
Definition at line 111 of file simple_thread.hh.
|
protected |
Definition at line 113 of file simple_thread.hh.
Referenced by clearArchRegs(), readIntRegFlat(), and setIntRegFlat().
|
protected |
Definition at line 117 of file simple_thread.hh.
Referenced by clearArchRegs(), flattenCCIndex(), flattenFloatIndex(), flattenIntIndex(), flattenMiscIndex(), readCCReg(), readFloatReg(), readFloatRegBits(), readIntReg(), readMiscReg(), readMiscRegNoEffect(), setCCReg(), setFloatReg(), setFloatRegBits(), setIntReg(), setMiscReg(), setMiscRegNoEffect(), and startup().
TheISA::TLB* SimpleThread::itb |
Definition at line 134 of file simple_thread.hh.
Referenced by demapInstPage(), demapPage(), TimingSimpleCPU::fetch(), getITBPtr(), and AtomicSimpleCPU::tick().
|
protected |
Did this instruction execute or is it predicated false.
Definition at line 122 of file simple_thread.hh.
Referenced by readPredicate(), and setPredicate().
System* SimpleThread::system |
Definition at line 132 of file simple_thread.hh.
Referenced by getSystemPtr(), and SimpleThread().
ProxyThreadContext<SimpleThread>* SimpleThread::tc |
Definition at line 130 of file simple_thread.hh.
Referenced by copyArchRegs(), dumpFuncProfile(), getTC(), name(), readMiscReg(), serialize(), setMiscReg(), SimpleThread(), startup(), syscall(), takeOverFrom(), unserialize(), and ~SimpleThread().