diff options
Diffstat (limited to 'src/cpu/o3')
-rw-r--r-- | src/cpu/o3/cpu.cc | 2 | ||||
-rw-r--r-- | src/cpu/o3/thread_state.hh | 13 |
2 files changed, 5 insertions, 10 deletions
diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc index 441bd4389..371e4d53c 100644 --- a/src/cpu/o3/cpu.cc +++ b/src/cpu/o3/cpu.cc @@ -357,7 +357,7 @@ FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params) #if FULL_SYSTEM // SMT is not supported in FS mode yet. assert(this->numThreads == 1); - this->thread[tid] = new Thread(this, 0); + this->thread[tid] = new Thread(this, 0, NULL); #else if (tid < params->workload.size()) { DPRINTF(O3CPU, "Workload[%i] process is %#x", diff --git a/src/cpu/o3/thread_state.hh b/src/cpu/o3/thread_state.hh index 1171053b9..40e5c049b 100644 --- a/src/cpu/o3/thread_state.hh +++ b/src/cpu/o3/thread_state.hh @@ -75,11 +75,11 @@ struct O3ThreadState : public ThreadState { */ bool trapPending; -#if FULL_SYSTEM - O3ThreadState(O3CPU *_cpu, int _thread_num) - : ThreadState(_cpu, _thread_num), + O3ThreadState(O3CPU *_cpu, int _thread_num, Process *_process) + : ThreadState(_cpu, _thread_num, _process), cpu(_cpu), inSyscall(0), trapPending(0) { +#if FULL_SYSTEM if (cpu->params()->profile) { profile = new FunctionProfile(cpu->params()->system->kernelSymtab); Callback *cb = @@ -93,13 +93,8 @@ struct O3ThreadState : public ThreadState { static ProfileNode dummyNode; profileNode = &dummyNode; profilePC = 3; - } -#else - O3ThreadState(O3CPU *_cpu, int _thread_num, Process *_process) - : ThreadState(_cpu, _thread_num, _process), - cpu(_cpu), inSyscall(0), trapPending(0) - { } #endif + } /** Pointer to the ThreadContext of this thread. */ ThreadContext *tc; |