From 8882dc1283771463a20194c083f4b8940a2d574b Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Wed, 15 Apr 2009 13:13:47 -0700 Subject: 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. --- src/cpu/thread_context.hh | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'src/cpu/thread_context.hh') 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(); } -- cgit v1.2.3