diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2009-04-15 13:13:47 -0700 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2009-04-15 13:13:47 -0700 |
commit | 8882dc1283771463a20194c083f4b8940a2d574b (patch) | |
tree | d33aa3b7b59a4a466d43643e0b8bc64acc66e951 /src/cpu/inorder/thread_context.cc | |
parent | 9b66e8289781025bbc4d0e152737fa7c5d024ec8 (diff) | |
download | gem5-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/inorder/thread_context.cc')
-rw-r--r-- | src/cpu/inorder/thread_context.cc | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/src/cpu/inorder/thread_context.cc b/src/cpu/inorder/thread_context.cc index 13f8ecdad..0cac51559 100644 --- a/src/cpu/inorder/thread_context.cc +++ b/src/cpu/inorder/thread_context.cc @@ -46,7 +46,7 @@ InOrderThreadContext::takeOverFrom(ThreadContext *old_context) copyArchRegs(old_context); thread->funcExeInst = old_context->readFuncExeInst(); - old_context->setStatus(ThreadContext::Unallocated); + old_context->setStatus(ThreadContext::Halted); thread->inSyscall = false; thread->trapPending = false; } @@ -80,19 +80,6 @@ InOrderThreadContext::suspend(int delay) } void -InOrderThreadContext::deallocate(int delay) -{ - DPRINTF(InOrderCPU, "Calling deallocate on Thread Context %d\n", - getThreadNum()); - - if (thread->status() == ThreadContext::Unallocated) - return; - - thread->setStatus(ThreadContext::Unallocated); - cpu->deallocateContext(thread->readTid(), delay); -} - -void InOrderThreadContext::halt(int delay) { DPRINTF(InOrderCPU, "Calling halt on Thread Context %d\n", |