summaryrefslogtreecommitdiff
path: root/src/cpu/simple_thread.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <steve.reinhardt@amd.com>2009-04-15 13:13:47 -0700
committerSteve Reinhardt <steve.reinhardt@amd.com>2009-04-15 13:13:47 -0700
commit8882dc1283771463a20194c083f4b8940a2d574b (patch)
treed33aa3b7b59a4a466d43643e0b8bc64acc66e951 /src/cpu/simple_thread.cc
parent9b66e8289781025bbc4d0e152737fa7c5d024ec8 (diff)
downloadgem5-8882dc1283771463a20194c083f4b8940a2d574b.tar.xz
Get rid of the Unallocated thread context state.
Basically merge it in with Halted. Also had to get rid of a few other functions that called ThreadContext::deallocate(), including: - InOrderCPU's setThreadRescheduleCondition. - ThreadContext::exit(). This function was there to avoid terminating simulation when one thread out of a multi-thread workload exits, but we need to find a better (non-cpu-centric) way.
Diffstat (limited to 'src/cpu/simple_thread.cc')
-rw-r--r--src/cpu/simple_thread.cc11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/cpu/simple_thread.cc b/src/cpu/simple_thread.cc
index 6ede3f429..73b23f89a 100644
--- a/src/cpu/simple_thread.cc
+++ b/src/cpu/simple_thread.cc
@@ -152,7 +152,7 @@ SimpleThread::takeOverFrom(ThreadContext *oldContext)
storeCondFailures = 0;
- oldContext->setStatus(ThreadContext::Unallocated);
+ oldContext->setStatus(ThreadContext::Halted);
}
void
@@ -253,15 +253,6 @@ SimpleThread::suspend()
cpu->suspendContext(_threadId);
}
-void
-SimpleThread::deallocate()
-{
- if (status() == ThreadContext::Unallocated)
- return;
-
- _status = ThreadContext::Unallocated;
- cpu->deallocateContext(_threadId);
-}
void
SimpleThread::halt()