summaryrefslogtreecommitdiff
path: root/src/cpu/o3/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/o3/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/o3/thread_context.hh')
-rwxr-xr-xsrc/cpu/o3/thread_context.hh19
1 files changed, 0 insertions, 19 deletions
diff --git a/src/cpu/o3/thread_context.hh b/src/cpu/o3/thread_context.hh
index c402e8fd9..e7c9c3b8f 100755
--- a/src/cpu/o3/thread_context.hh
+++ b/src/cpu/o3/thread_context.hh
@@ -122,9 +122,6 @@ class O3ThreadContext : public ThreadContext
/** Set the status to Suspended. */
virtual void suspend(int delay = 0);
- /** Set the status to Unallocated. */
- virtual void deallocate(int delay = 0);
-
/** Set the status to Halted. */
virtual void halt(int delay = 0);
@@ -273,22 +270,6 @@ class O3ThreadContext : public ThreadContext
#endif
this->cpu->setNextNPC(val, this->thread->threadId());
}
-
- /** This function exits the thread context in the CPU and returns
- * 1 if the CPU has no more active threads (meaning it's OK to exit);
- * Used in syscall-emulation mode when a thread executes the 'exit'
- * syscall.
- */
- virtual int exit()
- {
- this->deallocate();
-
- // If there are still threads executing in the system
- if (this->cpu->numActiveThreads())
- return 0; // don't exit simulation
- else
- return 1; // exit simulation
- }
};
#endif