summaryrefslogtreecommitdiff
path: root/src/cpu/o3/cpu.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <steve.reinhardt@amd.com>2009-04-17 16:54:58 -0700
committerSteve Reinhardt <steve.reinhardt@amd.com>2009-04-17 16:54:58 -0700
commit14808ecac9de9fe04eb58a4ca9393e3b4f0a60ae (patch)
tree1f310d1ff055192e736addbdc9e9016923027c85 /src/cpu/o3/cpu.cc
parentb146131d18c1567acdc9bbba5acd73ade086ded8 (diff)
downloadgem5-14808ecac9de9fe04eb58a4ca9393e3b4f0a60ae.tar.xz
o3, inorder: fix FS bug due to initializing ThreadState to Halted.
For some reason o3 FS init() only called initCPU if the thread state was Suspended, which was no longer the case. There's no apparent reason to check, so I whacked the test completely rather than changing the check to Halted. The inorder init() was also updated to be symmetric, though the previous code was just a fancy no-op.
Diffstat (limited to 'src/cpu/o3/cpu.cc')
-rw-r--r--src/cpu/o3/cpu.cc13
1 files changed, 2 insertions, 11 deletions
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)