| 
    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().