gem5
v20.0.0.0
|
#include <thread_context.hh>
Classes | |
struct | BpInfo |
Public Types | |
typedef std::map< std::string, iris::ResourceInfo > | ResourceMap |
typedef std::vector< iris::ResourceId > | ResourceIds |
typedef std::map< int, std::string > | IdxNameMap |
![]() | |
enum | Status { Active, Suspended, Halting, Halted } |
Public Member Functions | |
ThreadContext (::BaseCPU *cpu, int id, System *system, ::BaseTLB *dtb, ::BaseTLB *itb, iris::IrisConnectionInterface *iris_if, const std::string &iris_path) | |
virtual | ~ThreadContext () |
virtual bool | translateAddress (Addr &paddr, Addr vaddr)=0 |
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 |
int | cpuId () const override |
uint32_t | socketId () const override |
int | threadId () const override |
void | setThreadId (int id) override |
int | contextId () const override |
void | setContextId (int id) override |
BaseTLB * | getITBPtr () override |
BaseTLB * | getDTBPtr () override |
CheckerCPU * | getCheckerCpuPtr () override |
ArmISA::Decoder * | getDecoderPtr () override |
System * | getSystemPtr () override |
BaseISA * | getIsaPtr () override |
Kernel::Statistics * | getKernelStats () override |
PortProxy & | getPhysProxy () override |
PortProxy & | getVirtProxy () override |
void | initMemProxies (::ThreadContext *tc) override |
Process * | getProcessPtr () override |
void | setProcessPtr (Process *p) override |
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 | dumpFuncProfile () override |
void | takeOverFrom (::ThreadContext *old_context) override |
void | regStats (const std::string &name) override |
EndQuiesceEvent * | getQuiesceEvent () override |
Tick | readLastActivate () override |
Tick | readLastSuspend () override |
void | profileClear () override |
void | profileSample () 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 |
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 |
void | pcStateNoRecord (const ArmISA::PCState &val) override |
MicroPC | microPC () const override |
ArmISA::PCState | pcState () const override |
void | pcState (const ArmISA::PCState &val) override |
Addr | instAddr () const override |
Addr | nextInstAddr () const override |
RegVal | readMiscRegNoEffect (RegIndex misc_reg) const override |
RegVal | readMiscReg (RegIndex misc_reg) override |
void | setMiscRegNoEffect (RegIndex misc_reg, const RegVal val) override |
void | setMiscReg (RegIndex misc_reg, const RegVal val) override |
RegId | flattenRegId (const RegId ®Id) const override |
unsigned | readStCondFailures () const override |
void | setStCondFailures (unsigned sc_failures) override |
Counter | readFuncExeInst () const override |
void | syscall (Fault *fault) 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... | |
void | setVecLane (const RegId ®, const LaneData< LaneSize::Byte > &val) override |
Write a lane of the destination vector register. More... | |
void | setVecLane (const RegId ®, const LaneData< LaneSize::TwoByte > &val) override |
void | setVecLane (const RegId ®, const LaneData< LaneSize::FourByte > &val) override |
void | setVecLane (const RegId ®, const LaneData< LaneSize::EightByte > &val) override |
RegVal | readIntRegFlat (RegIndex idx) const override |
Flat register interfaces. More... | |
void | setIntRegFlat (RegIndex idx, uint64_t 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 |
void | setVecRegFlat (RegIndex idx, const VecRegContainer &val) override |
const VecElem & | readVecElemFlat (RegIndex idx, const ElemIndex &elemIdx) const override |
void | setVecElemFlat (RegIndex idx, const ElemIndex &elemIdx, 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 |
![]() | |
virtual void | initMemProxies (ThreadContext *tc)=0 |
Initialise the physical and virtual port proxies and tie them to the data port of the CPU. More... | |
void | quiesce () |
Quiesce thread context. More... | |
void | quiesceTick (Tick resume) |
Quiesce, suspend, and schedule activate at resume. More... | |
virtual void | takeOverFrom (ThreadContext *old_context)=0 |
virtual void | copyArchRegs (ThreadContext *tc)=0 |
virtual void | pcState (const TheISA::PCState &val)=0 |
void | setNPC (Addr val) |
virtual void | pcStateNoRecord (const TheISA::PCState &val)=0 |
virtual int | exit () |
Protected Types | |
using | BpId = uint64_t |
using | BpInfoPtr = std::unique_ptr< BpInfo > |
using | BpInfoMap = std::map< Addr, BpInfoPtr > |
using | BpInfoIt = BpInfoMap::iterator |
![]() | |
typedef TheISA::MachInst | MachInst |
using | VecRegContainer = TheISA::VecRegContainer |
using | VecElem = TheISA::VecElem |
using | VecPredRegContainer = TheISA::VecPredRegContainer |
Protected Member Functions | |
virtual void | initFromIrisInstance (const ResourceMap &resources) |
iris::ResourceId | extractResourceId (const ResourceMap &resources, const std::string &name) |
void | extractResourceMap (ResourceIds &ids, const ResourceMap &resources, const IdxNameMap &idx_names) |
void | maintainStepping () |
BpInfoIt | getOrAllocBp (Addr pc) |
void | installBp (BpInfoIt it) |
void | uninstallBp (BpInfoIt it) |
void | delBp (BpInfoIt it) |
virtual const std::vector< iris::MemorySpaceId > & | getBpSpaceIds () const =0 |
iris::IrisErrorCode | instanceRegistryChanged (uint64_t esId, const iris::IrisValueMap &fields, uint64_t time, uint64_t sInstId, bool syncEc, std::string &error_message_out) |
iris::IrisErrorCode | phaseInitLeave (uint64_t esId, const iris::IrisValueMap &fields, uint64_t time, uint64_t sInstId, bool syncEc, std::string &error_message_out) |
iris::IrisErrorCode | simulationTimeEvent (uint64_t esId, const iris::IrisValueMap &fields, uint64_t time, uint64_t sInstId, bool syncEc, std::string &error_message_out) |
iris::IrisErrorCode | breakpointHit (uint64_t esId, const iris::IrisValueMap &fields, uint64_t time, uint64_t sInstId, bool syncEc, std::string &error_message_out) |
iris::IrisErrorCode | semihostingEvent (uint64_t esId, const iris::IrisValueMap &fields, uint64_t time, uint64_t sInstId, bool syncEc, std::string &error_message_out) |
iris::IrisCppAdapter & | call () const |
iris::IrisCppAdapter & | noThrow () const |
bool | translateAddress (Addr &paddr, iris::MemorySpaceId p_space, Addr vaddr, iris::MemorySpaceId v_space) |
Additional Inherited Members | |
![]() | |
static void | compare (ThreadContext *one, ThreadContext *two) |
function to compare two thread contexts (for debugging) More... | |
![]() | |
int | intResult = DefaultIntResult |
double | floatResult = DefaultFloatResult |
int | intOffset = 0 |
![]() | |
static const int | ints [] |
static const double | floats [] |
static const int | DefaultIntResult = 0 |
static const double | DefaultFloatResult = 0.0 |
Definition at line 47 of file thread_context.hh.
|
protected |
Definition at line 109 of file thread_context.hh.
|
protected |
Definition at line 126 of file thread_context.hh.
|
protected |
Definition at line 125 of file thread_context.hh.
|
protected |
Definition at line 124 of file thread_context.hh.
typedef std::map<int, std::string> Iris::ThreadContext::IdxNameMap |
Definition at line 53 of file thread_context.hh.
typedef std::vector<iris::ResourceId> Iris::ThreadContext::ResourceIds |
Definition at line 52 of file thread_context.hh.
typedef std::map<std::string, iris::ResourceInfo> Iris::ThreadContext::ResourceMap |
Definition at line 50 of file thread_context.hh.
ThreadContext::ThreadContext | ( | ::BaseCPU * | cpu, |
int | id, | ||
System * | system, | ||
::BaseTLB * | dtb, | ||
::BaseTLB * | itb, | ||
iris::IrisConnectionInterface * | iris_if, | ||
const std::string & | iris_path | ||
) |
Definition at line 281 of file thread_context.cc.
References _instId, breakpointEventStreamId, call(), client, enableAfterPseudoEvent, initEventStreamId, noThrow(), regEventStreamId, semihostingEventStreamId, EventBase::Sim_Exit_Pri, and timeEventStreamId.
Referenced by noThrow().
|
virtual |
Reimplemented from ThreadContext.
Definition at line 347 of file thread_context.cc.
References call(), client, EventManager::deschedule(), enableAfterPseudoEvent, getCpuPtr(), initEventStreamId, regEventStreamId, Event::scheduled(), and timeEventStreamId.
Referenced by noThrow().
|
inlineoverridevirtual |
Set the status to Active.
Implements ThreadContext.
Definition at line 242 of file thread_context.hh.
References ThreadContext::Active, and setStatus().
|
protected |
Definition at line 239 of file thread_context.cc.
References ArmISA::e, getOrAllocBp(), MipsISA::pc, and PCEvent::process().
|
inlineprotected |
Definition at line 162 of file thread_context.hh.
Referenced by getCurrentInstCount(), initFromIrisInstance(), installBp(), maintainStepping(), pcState(), phaseInitLeave(), readCCRegFlat(), readIntReg(), readIntRegFlat(), readMiscRegNoEffect(), readVecPredReg(), readVecReg(), scheduleInstCountEvent(), semihostingEvent(), setCCRegFlat(), setIntReg(), setIntRegFlat(), setMiscRegNoEffect(), setStatus(), simulationTimeEvent(), ThreadContext(), uninstallBp(), and ~ThreadContext().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 296 of file thread_context.hh.
References readIntReg(), and warn.
|
inlineoverridevirtual |
|
inlineoverride |
Definition at line 290 of file thread_context.hh.
References panic.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 185 of file thread_context.hh.
References BaseCPU::cpuId().
|
protected |
Definition at line 166 of file thread_context.cc.
References bps, panic_if, and uninstallBp().
Referenced by remove().
|
overridevirtual |
Implements ThreadContext.
Definition at line 435 of file thread_context.cc.
References comInstEventQueue, EventQueue::deschedule(), and maintainStepping().
Referenced by noThrow().
|
inlineoverridevirtual |
|
protected |
Definition at line 81 of file thread_context.cc.
Referenced by extractResourceMap(), and FastModel::CortexA76TC::initFromIrisInstance().
|
protected |
Definition at line 88 of file thread_context.cc.
References extractResourceId(), and name().
Referenced by FastModel::CortexA76TC::initFromIrisInstance().
|
protectedpure virtual |
Implemented in FastModel::CortexA76TC.
Referenced by installBp().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 204 of file thread_context.hh.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 184 of file thread_context.hh.
References _cpu.
Referenced by semihostingEvent(), setStatus(), and ~ThreadContext().
|
overridevirtual |
Implements ThreadContext.
Definition at line 442 of file thread_context.cc.
References _instId, call(), X86ISA::count, and panic_if.
Referenced by maintainStepping(), noThrow(), and scheduleInstCountEvent().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
protected |
Definition at line 133 of file thread_context.cc.
Referenced by breakpointHit(), remove(), and schedule().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 211 of file thread_context.hh.
References BaseCPU::system.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 226 of file thread_context.hh.
References initMemProxies(), and virtProxy.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Set the status to Halted.
Implements ThreadContext.
Definition at line 244 of file thread_context.hh.
References ThreadContext::Halted, and setStatus().
|
protectedvirtual |
Reimplemented in FastModel::CortexA76TC.
Definition at line 44 of file thread_context.cc.
References _instId, _status, ThreadContext::Active, bps, breakpointEventStreamId, call(), client, Stats::enabled(), installBp(), memorySpaces, semihostingEventStreamId, suspend(), ThreadContext::Suspended, and translations.
Referenced by phaseInitLeave().
|
override |
Definition at line 451 of file thread_context.cc.
References _cpu, BaseCPU::cacheLineSize(), FullSystem, Iris::BaseCPU::getSendFunctional(), SETranslatingPortProxy::NextPage, physProxy, and virtProxy.
Referenced by getVirtProxy().
|
overridevirtual |
Implements ThreadContext.
Definition at line 525 of file thread_context.cc.
References pcState().
Referenced by microPC().
|
protected |
Definition at line 146 of file thread_context.cc.
References _instId, call(), getBpSpaceIds(), ArmISA::id, and MipsISA::pc.
Referenced by initFromIrisInstance(), and schedule().
|
protected |
Definition at line 178 of file thread_context.cc.
References _instId, _irisPath, MipsISA::event, ArmISA::id, name(), and panic.
|
protected |
Definition at line 104 of file thread_context.cc.
References _instId, call(), comInstEventQueue, EventQueue::empty(), getCurrentInstCount(), EventQueue::nextTick(), and EventQueue::serviceEvents().
Referenced by descheduleInstCountEvent(), scheduleInstCountEvent(), and simulationTimeEvent().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 428 of file thread_context.hh.
References instAddr(), nextInstAddr(), pcState(), and readMiscRegNoEffect().
|
overridevirtual |
Implements ThreadContext.
Definition at line 531 of file thread_context.cc.
References pcState().
Referenced by microPC().
|
inlineprotected |
Definition at line 163 of file thread_context.hh.
References X86ISA::count, descheduleInstCountEvent(), ArmISA::e, MipsISA::event, getCurrentInstCount(), schedule(), scheduleInstCountEvent(), X86ISA::system, ThreadContext(), translateAddress(), MipsISA::vaddr, and ~ThreadContext().
Referenced by ThreadContext(), and translateAddress().
|
overridevirtual |
Implements ThreadContext.
Definition at line 487 of file thread_context.cc.
References _instId, addr, call(), ArmISA::itState(), ArmISA::MISCREG_CPSR, MipsISA::pc, pcRscId, and readMiscRegNoEffect().
Referenced by instAddr(), microPC(), nextInstAddr(), and pcStateNoRecord().
|
override |
Definition at line 512 of file thread_context.cc.
References _instId, call(), ArmISA::MISCREG_CPSR, MipsISA::pc, pcRscId, and readMiscRegNoEffect().
|
inlineoverride |
Definition at line 427 of file thread_context.hh.
References pcState().
|
protected |
Definition at line 200 of file thread_context.cc.
References _instId, call(), and initFromIrisInstance().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 389 of file thread_context.hh.
References readCCRegFlat(), setIntReg(), and X86ISA::val.
Implements ThreadContext.
Definition at line 606 of file thread_context.cc.
References _instId, call(), and ccRegIds.
Referenced by readCCReg(), FastModel::CortexA76TC::readCCRegFlat(), and setVecPredRegFlat().
Implements ThreadContext.
Definition at line 307 of file thread_context.hh.
References panic, readVecReg(), and X86ISA::reg.
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 552 of file thread_context.cc.
References _instId, call(), intReg32Ids, intReg64Ids, ArmISA::MISCREG_CPSR, and readMiscRegNoEffect().
Referenced by clearArchRegs(), and semihostingEvent().
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 581 of file thread_context.cc.
References _instId, call(), and flattenedIntIds.
Referenced by syscall().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 437 of file thread_context.hh.
References readMiscRegNoEffect(), and setMiscRegNoEffect().
Implements ThreadContext.
Definition at line 537 of file thread_context.cc.
References _instId, call(), and miscRegIds.
Referenced by microPC(), pcState(), readIntReg(), FastModel::CortexA76TC::readIntRegFlat(), readMiscReg(), FastModel::CortexA76TC::setCCRegFlat(), setIntReg(), and FastModel::CortexA76TC::setIntRegFlat().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Reads source vector 16bit operand.
Implements ThreadContext.
Definition at line 330 of file thread_context.hh.
References panic.
|
inlineoverridevirtual |
Reads source vector 32bit operand.
Implements ThreadContext.
Definition at line 337 of file thread_context.hh.
References panic.
|
inlineoverridevirtual |
Reads source vector 64bit operand.
Implements ThreadContext.
Definition at line 344 of file thread_context.hh.
References panic.
|
inlineoverridevirtual |
Vector Register Lane Interfaces.
Reads source vector 8bit operand.
Implements ThreadContext.
Definition at line 323 of file thread_context.hh.
References panic.
Implements ThreadContext.
Definition at line 376 of file thread_context.hh.
References panic, and readVecPredReg().
|
overridevirtual |
Implements ThreadContext.
Definition at line 653 of file thread_context.cc.
References _instId, call(), RegId::index(), ArmISA::offset, X86ISA::reg, vecPredRegIds, and vecPredRegs.
Referenced by readVecElem(), and readVecPredRegFlat().
|
overridevirtual |
Implements ThreadContext.
Definition at line 682 of file thread_context.cc.
References readVecPredReg(), and VecPredRegClass.
Referenced by setVecElemFlat().
|
overridevirtual |
Implements ThreadContext.
Definition at line 625 of file thread_context.cc.
References _instId, call(), RegId::index(), X86ISA::reg, vecRegIds, and vecRegs.
Referenced by readFloatReg(), and readVecRegFlat().
|
overridevirtual |
Implements ThreadContext.
Definition at line 647 of file thread_context.cc.
References readVecReg(), and VecRegClass.
Referenced by setFloatRegFlat().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 258 of file thread_context.hh.
|
overridevirtual |
Implements PCEventScope.
Definition at line 382 of file thread_context.cc.
References delBp(), getOrAllocBp(), and PCEvent::pc().
|
overridevirtual |
Implements PCEventScope.
Definition at line 370 of file thread_context.cc.
References _instId, getOrAllocBp(), installBp(), and PCEvent::pc().
Referenced by noThrow().
Implements ThreadContext.
Definition at line 424 of file thread_context.cc.
References call(), comInstEventQueue, getCurrentInstCount(), maintainStepping(), and EventQueue::schedule().
Referenced by noThrow().
|
protected |
Definition at line 260 of file thread_context.cc.
References _instId, call(), ArmSystem::callSemihosting(), curTick(), enableAfterPseudoEvent, getCpuPtr(), readIntReg(), EventManager::schedule(), and Event::scheduled().
Implements ThreadContext.
Definition at line 422 of file thread_context.hh.
References setCCRegFlat().
Implements ThreadContext.
Definition at line 616 of file thread_context.cc.
References _instId, call(), ccRegIds, panic_if, and X86ISA::val.
Referenced by setCCReg(), FastModel::CortexA76TC::setCCRegFlat(), and setVecPredRegFlat().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 503 of file thread_context.hh.
References panic, and readVecRegFlat().
Implements ThreadContext.
Definition at line 565 of file thread_context.cc.
References _instId, call(), intReg32Ids, intReg64Ids, ArmISA::MISCREG_CPSR, readMiscRegNoEffect(), and X86ISA::val.
Referenced by readCCReg().
|
overridevirtual |
Implements ThreadContext.
Definition at line 594 of file thread_context.cc.
References _instId, call(), flattenedIntIds, panic_if, and X86ISA::val.
Referenced by syscall().
Implements ThreadContext.
Definition at line 444 of file thread_context.hh.
References setMiscRegNoEffect().
Referenced by FastModel::CortexA76TC::setIntRegFlat().
Implements ThreadContext.
Definition at line 545 of file thread_context.cc.
References _instId, call(), miscRegIds, and X86ISA::val.
Referenced by readMiscReg(), and setMiscReg().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 235 of file thread_context.hh.
References panic, setStatus(), and status().
|
overridevirtual |
Implements ThreadContext.
Definition at line 472 of file thread_context.cc.
References _instId, _status, ThreadContext::Active, call(), EventManager::deschedule(), enableAfterPseudoEvent, getCpuPtr(), and Event::scheduled().
Referenced by activate(), halt(), setProcessPtr(), and suspend().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 526 of file thread_context.hh.
References panic, and readVecPredRegFlat().
|
inlineoverridevirtual |
Write a lane of the destination vector register.
Implements ThreadContext.
Definition at line 351 of file thread_context.hh.
References panic.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 539 of file thread_context.hh.
References panic, readCCRegFlat(), and setCCRegFlat().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
protected |
Definition at line 217 of file thread_context.cc.
References call(), and maintainStepping().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 186 of file thread_context.hh.
References BaseCPU::socketId().
|
overridevirtual |
Implements ThreadContext.
Definition at line 466 of file thread_context.cc.
References _status.
Referenced by setProcessPtr().
|
inlineoverridevirtual |
Set the status to Suspended.
Implements ThreadContext.
Definition at line 243 of file thread_context.hh.
References setStatus(), and ThreadContext::Suspended.
Referenced by initFromIrisInstance().
|
inlineoverridevirtual |
Implements ThreadContext.
Definition at line 477 of file thread_context.hh.
References panic, readIntRegFlat(), and setIntRegFlat().
|
inlineoverride |
Definition at line 253 of file thread_context.hh.
References panic.
|
inlineoverridevirtual |
|
protected |
Definition at line 394 of file thread_context.cc.
References _instId, noThrow(), panic, translations, and warn.
Referenced by noThrow().
Implemented in FastModel::CortexA76TC.
|
protected |
Definition at line 158 of file thread_context.cc.
References _instId, and call().
Referenced by delBp().
|
protected |
Definition at line 58 of file thread_context.hh.
Referenced by contextId().
|
protected |
Definition at line 56 of file thread_context.hh.
Referenced by getCpuPtr(), and initMemProxies().
|
protected |
Definition at line 60 of file thread_context.hh.
Referenced by getDTBPtr().
|
protected |
Definition at line 64 of file thread_context.hh.
Referenced by getCurrentInstCount(), initFromIrisInstance(), installBp(), instanceRegistryChanged(), maintainStepping(), pcState(), phaseInitLeave(), readCCRegFlat(), readIntReg(), readIntRegFlat(), readMiscRegNoEffect(), readVecPredReg(), readVecReg(), schedule(), semihostingEvent(), setCCRegFlat(), setIntReg(), setIntRegFlat(), setMiscRegNoEffect(), setStatus(), ThreadContext(), translateAddress(), and uninstallBp().
|
protected |
Definition at line 63 of file thread_context.hh.
Referenced by instanceRegistryChanged().
|
protected |
Definition at line 61 of file thread_context.hh.
Referenced by getITBPtr().
Definition at line 71 of file thread_context.hh.
Referenced by initFromIrisInstance(), setStatus(), and status().
|
protected |
Definition at line 59 of file thread_context.hh.
|
protected |
Definition at line 57 of file thread_context.hh.
Referenced by threadId().
|
protected |
Definition at line 128 of file thread_context.hh.
Referenced by delBp(), getOrAllocBp(), and initFromIrisInstance().
|
protected |
Definition at line 158 of file thread_context.hh.
Referenced by initFromIrisInstance(), and ThreadContext().
|
protected |
Definition at line 86 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::initFromIrisInstance(), readCCRegFlat(), and setCCRegFlat().
|
mutableprotected |
Definition at line 161 of file thread_context.hh.
Referenced by initFromIrisInstance(), ThreadContext(), and ~ThreadContext().
|
protected |
Definition at line 102 of file thread_context.hh.
Referenced by descheduleInstCountEvent(), maintainStepping(), and scheduleInstCountEvent().
|
protected |
Definition at line 72 of file thread_context.hh.
Referenced by semihostingEvent(), setStatus(), ThreadContext(), and ~ThreadContext().
|
protected |
Definition at line 85 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::initFromIrisInstance(), readIntRegFlat(), and setIntRegFlat().
|
protected |
Definition at line 89 of file thread_context.hh.
|
protected |
Definition at line 156 of file thread_context.hh.
Referenced by ThreadContext(), and ~ThreadContext().
|
protected |
Definition at line 83 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::initFromIrisInstance(), readIntReg(), and setIntReg().
|
protected |
Definition at line 84 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::initFromIrisInstance(), readIntReg(), and setIntReg().
|
protected |
Definition at line 94 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::getBpSpaceIds(), initFromIrisInstance(), and FastModel::CortexA76TC::translateAddress().
|
protected |
Definition at line 82 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::initFromIrisInstance(), readMiscRegNoEffect(), and setMiscRegNoEffect().
|
protected |
Definition at line 88 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::initFromIrisInstance(), and pcState().
|
protected |
Definition at line 98 of file thread_context.hh.
Referenced by getPhysProxy(), and initMemProxies().
|
protected |
Definition at line 155 of file thread_context.hh.
Referenced by ThreadContext(), and ~ThreadContext().
|
protected |
Definition at line 159 of file thread_context.hh.
Referenced by initFromIrisInstance(), and ThreadContext().
|
protected |
Definition at line 157 of file thread_context.hh.
Referenced by ThreadContext(), and ~ThreadContext().
|
protected |
Definition at line 95 of file thread_context.hh.
Referenced by initFromIrisInstance(), and translateAddress().
|
protected |
Definition at line 92 of file thread_context.hh.
Referenced by readVecPredReg().
|
mutableprotected |
Definition at line 69 of file thread_context.hh.
Referenced by readVecPredReg().
|
protected |
Definition at line 91 of file thread_context.hh.
Referenced by FastModel::CortexA76TC::initFromIrisInstance(), and readVecReg().
|
mutableprotected |
Definition at line 68 of file thread_context.hh.
Referenced by readVecReg().
|
protected |
Definition at line 97 of file thread_context.hh.
Referenced by getVirtProxy(), and initMemProxies().