summaryrefslogtreecommitdiff
path: root/src/cpu/thread_context.hh
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/thread_context.hh
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/thread_context.hh')
-rw-r--r--src/cpu/thread_context.hh13
1 files changed, 1 insertions, 12 deletions
diff --git a/src/cpu/thread_context.hh b/src/cpu/thread_context.hh
index 72c9df33d..ca649b40e 100644
--- a/src/cpu/thread_context.hh
+++ b/src/cpu/thread_context.hh
@@ -87,14 +87,9 @@ class ThreadContext
typedef TheISA::MiscRegFile MiscRegFile;
typedef TheISA::MiscReg MiscReg;
public:
+
enum Status
{
- /// Initialized but not running yet. All CPUs start in
- /// this state, but most transition to Active on cycle 1.
- /// In MP or SMT systems, non-primary contexts will stay
- /// in this state until a thread is assigned to them.
- Unallocated,
-
/// Running. Instructions should be executed only when
/// the context is in this state.
Active,
@@ -154,9 +149,6 @@ class ThreadContext
/// Set the status to Suspended.
virtual void suspend(int delay = 0) = 0;
- /// Set the status to Unallocated.
- virtual void deallocate(int delay = 0) = 0;
-
/// Set the status to Halted.
virtual void halt(int delay = 0) = 0;
@@ -337,9 +329,6 @@ class ProxyThreadContext : public ThreadContext
/// Set the status to Suspended.
void suspend(int delay = 0) { actualTC->suspend(); }
- /// Set the status to Unallocated.
- void deallocate(int delay = 0) { actualTC->deallocate(); }
-
/// Set the status to Halted.
void halt(int delay = 0) { actualTC->halt(); }