29 #ifndef __CPU_THREAD_STATE_HH__ 30 #define __CPU_THREAD_STATE_HH__ 32 #include "arch/types.hh" 33 #include "config/the_isa.hh" 65 int cpuId()
const {
return baseCpu->cpuId(); }
67 uint32_t
socketId()
const {
return baseCpu->socketId(); }
89 void dumpFuncProfile();
118 Status
status()
const {
return _status; }
121 void setStatus(Status new_status) { _status = new_status; }
195 #endif // __CPU_THREAD_STATE_HH__ void setContextId(ContextID id)
Tick readLastActivate() const
Struct for holding general thread state that is needed across CPU models.
Tick readLastSuspend() const
ProfileNode * profileNode
EndQuiesceEvent * getQuiesceEvent()
FunctionProfile * profile
Tick lastActivate
Last time activate was called on this thread.
uint32_t socketId() const
Counter readFuncExeInst() const
Reads the number of instructions functionally executed and committed.
Tick lastSuspend
Last time suspend was called on this thread.
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...
Event for timing out quiesce instruction.
This is a simple scalar statistic, like a counter.
EndQuiesceEvent * quiesceEvent
Counter numInst
Number of instructions committed.
ThreadContext::Status Status
void setStatus(Status new_status)
Sets the status of this thread.
void setFuncExeInst(Counter new_val)
Sets the total number of instructions functionally executed and committed.
ContextID contextId() const
void setProcessPtr(Process *p)
uint64_t Tick
Tick count type.
PortProxy * physProxy
A port proxy outgoing only for functional accesses to physical addresses.
Stats::Scalar numInsts
Stat for number instructions committed.
Kernel::Statistics * kernelStats
void serialize(const ThreadContext &tc, CheckpointOut &cp)
Thread context serialization helpers.
Kernel::Statistics * getKernelStats()
Counter startNumLoad
The number of simulated loads committed prior to this run.
Stats::Scalar numOps
Stat for number ops (including micro ops) committed.
ThreadID threadId() const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int64_t Counter
Statistics counter type.
Basic support for object serialization.
ThreadContext::Status _status
This object is a proxy for a port or other object which implements the functional response protocol...
int16_t ThreadID
Thread index/ID type.
Process * getProcessPtr()
std::ostream CheckpointOut
Counter numLoad
Number of simulated loads, used for tracking events based on the number of loads committed.
void unserialize(ThreadContext &tc, CheckpointIn &cp)
unsigned storeCondFailures
Status status() const
Returns the status of this thread.
PortProxy * virtProxy
A translating port proxy, outgoing only, for functional accesse to virtual addresses.
int ContextID
Globally unique thread context ID.
Counter numOp
Number of ops (including micro ops) committed.