43 #ifndef __CPU_O3_THREAD_STATE_HH__
44 #define __CPU_O3_THREAD_STATE_HH__
55 class FunctionalMemory;
70 typedef typename Impl::O3CPU
O3CPU;
99 if (
cpu->params()->profile) {
101 cpu->params()->system->kernelSymtab);
157 #endif // __CPU_O3_THREAD_STATE_HH__
void unserialize(CheckpointIn &cp) override
Unserialize an object.
ThreadContext * getTC()
Returns a pointer to the TC of this thread.
Struct for holding general thread state that is needed across CPU models.
bool trapPending
Whether or not the thread is currently waiting on a trap, and thus able to be externally updated with...
ProfileNode * profileNode
O3ThreadState(O3CPU *_cpu, int _thread_num, Process *_process)
void dump(ThreadContext *tc, std::ostream &out) const
FunctionProfile * profile
Class that has various thread state, such as the status, the current instruction being processed...
void unserialize(CheckpointIn &cp) override
Unserialize an object.
OutputStream * create(const std::string &name, bool binary=false, bool no_gz=false)
Creates a file in this directory (optionally compressed).
void serialize(CheckpointOut &cp) const override
Serialize an object.
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Event for timing out quiesce instruction.
std::string csprintf(const char *format, const Args &...args)
ThreadContext::Status Status
O3CPU * cpu
Pointer to the CPU.
void syscall(int64_t callnum, Fault *fault)
Handles the syscall.
void close(OutputStream *file)
Closes an output file and free the corresponding OutputFile.
void registerExitCallback(Callback *callback)
Register an exit callback.
void serialize(CheckpointOut &cp) const override
Serialize an object.
virtual void syscall(int64_t callnum, ThreadContext *tc, Fault *fault)
std::ostream CheckpointOut
ThreadContext * tc
Pointer to the ThreadContext of this thread.
Helper template class to turn a simple class member function into a callback.
std::shared_ptr< FaultBase > Fault