diff options
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/inorder/cpu.cc | 14 | ||||
-rw-r--r-- | src/cpu/o3/cpu.cc | 13 |
2 files changed, 8 insertions, 19 deletions
diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc index 9e3843e20..0b38f39bc 100644 --- a/src/cpu/inorder/cpu.cc +++ b/src/cpu/inorder/cpu.cc @@ -29,6 +29,8 @@ * */ +#include "config/full_system.hh" + #include "arch/utility.hh" #include "cpu/exetrace.hh" #include "cpu/activity.hh" @@ -420,16 +422,12 @@ InOrderCPU::init() for (int i = 0; i < number_of_threads; ++i) thread[i]->inSyscall = true; +#if FULL_SYSTEM for (int tid=0; tid < number_of_threads; tid++) { - - ThreadContext *src_tc = thread[tid]->getTC(); - - // Threads start in the Suspended State - if (src_tc->status() != ThreadContext::Suspended) { - continue; - } - + ThreadContext *src_tc = threadContexts[tid]; + TheISA::initCPU(src_tc, src_tc->contextId()); } +#endif // Clear inSyscall. for (int i = 0; i < number_of_threads; ++i) diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc index 83a012164..038e5daaa 100644 --- a/src/cpu/o3/cpu.cc +++ b/src/cpu/o3/cpu.cc @@ -568,21 +568,12 @@ FullO3CPU<Impl>::init() for (int i = 0; i < number_of_threads; ++i) thread[i]->inSyscall = true; - for (int tid=0; tid < number_of_threads; tid++) { #if FULL_SYSTEM + for (int tid=0; tid < number_of_threads; tid++) { ThreadContext *src_tc = threadContexts[tid]; -#else - ThreadContext *src_tc = thread[tid]->getTC(); -#endif - // Threads start in the Suspended State - if (src_tc->status() != ThreadContext::Suspended) { - continue; - } - -#if FULL_SYSTEM TheISA::initCPU(src_tc, src_tc->contextId()); -#endif } +#endif // Clear inSyscall. for (int i = 0; i < number_of_threads; ++i) |