31 #ifndef __CPU_THREAD_STATE_HH__
32 #define __CPU_THREAD_STATE_HH__
34 #include "arch/types.hh"
35 #include "config/the_isa.hh"
216 #endif // __CPU_THREAD_STATE_HH__
A TranslatingPortProxy in FS mode translates a virtual address to a physical address and then calls t...
void setContextId(ContextID id)
Struct for holding general thread state that is needed across CPU models.
ProfileNode * profileNode
EndQuiesceEvent * getQuiesceEvent()
FunctionProfile * profile
Tick lastActivate
Last time activate was called on this thread.
Tick readLastActivate() const
void unserialize(CheckpointIn &cp) override
Unserialize an object.
PortProxy & getPhysProxy()
Tick lastSuspend
Last time suspend was called on this thread.
ThreadState(BaseCPU *cpu, ThreadID _tid, Process *_process)
void setThreadId(ThreadID id)
Stats::Scalar numMemRefs
Stat for number of memory references.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Status status() const
Returns the status of this thread.
FSTranslatingPortProxy & getVirtProxy()
Tick readLastSuspend() const
Event for timing out quiesce instruction.
This is a simple scalar statistic, like a counter.
EndQuiesceEvent * quiesceEvent
ThreadID threadId() const
Counter numInst
Number of instructions committed.
ThreadContext::Status Status
void setStatus(Status new_status)
Sets the status of this thread.
uint32_t socketId() const
void setFuncExeInst(Counter new_val)
Sets the total number of instructions functionally executed and committed.
void setProcessPtr(Process *p)
uint64_t Tick
Tick count type.
PortProxy * physProxy
A port proxy outgoing only for functional accesses to physical addresses.
FSTranslatingPortProxy * virtProxy
A translating port proxy, outgoing only, for functional accesse to virtual addresses.
Stats::Scalar numInsts
Stat for number instructions committed.
Counter startNumLoad
The number of simulated loads committed prior to this run.
void serialize(CheckpointOut &cp) const override
Serialize an object.
Stats::Scalar numOps
Stat for number ops (including micro ops) committed.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int64_t Counter
Statistics counter type.
TheISA::Kernel::Statistics * getKernelStats()
Basic support for object serialization.
SETranslatingPortProxy * proxy
ThreadContext::Status _status
Counter readFuncExeInst()
Reads the number of instructions functionally executed and committed.
void initMemProxies(ThreadContext *tc)
Initialise the physical and virtual port proxies and tie them to the data port of the CPU...
This object is a proxy for a structural port, to be used for debug accesses.
int16_t ThreadID
Thread index/ID type.
TheISA::Kernel::Statistics * kernelStats
Process * getProcessPtr()
std::ostream CheckpointOut
SETranslatingPortProxy & getMemProxy()
Counter numLoad
Number of simulated loads, used for tracking events based on the number of loads committed.
unsigned storeCondFailures
ContextID contextId() const
int ContextID
Globally unique thread context ID.
Counter numOp
Number of ops (including micro ops) committed.