summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/cpu.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2010-01-31 18:28:05 -0500
committerKorey Sewell <ksewell@umich.edu>2010-01-31 18:28:05 -0500
commit5e0b8337ed9c8aa975cd44df5565c2c3dde0c267 (patch)
tree73fb7950d2c9068c09c9f803e9b3773fdb9a0530 /src/cpu/inorder/cpu.hh
parent069b38c0d546708491d0da84668ba32f82ca7cb8 (diff)
downloadgem5-5e0b8337ed9c8aa975cd44df5565c2c3dde0c267.tar.xz
inorder: add/remove halt/deallocate context respectively
Halt is called from the exit() system call while deallocate is unused. So to clear up things, just use halt and remove deallocate.
Diffstat (limited to 'src/cpu/inorder/cpu.hh')
-rw-r--r--src/cpu/inorder/cpu.hh15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/cpu/inorder/cpu.hh b/src/cpu/inorder/cpu.hh
index 1e514e1ed..70013c0f5 100644
--- a/src/cpu/inorder/cpu.hh
+++ b/src/cpu/inorder/cpu.hh
@@ -177,7 +177,7 @@ class InOrderCPU : public BaseCPU
ActivateThread,
ActivateNextReadyThread,
DeactivateThread,
- DeallocateThread,
+ HaltThread,
SuspendThread,
Trap,
InstGraduated,
@@ -357,16 +357,18 @@ class InOrderCPU : public BaseCPU
void deactivateThread(ThreadID tid);
/** Suspend Thread, Remove from Active Threads List, Add to Suspend List */
- void haltContext(ThreadID tid, int delay = 0);
void suspendContext(ThreadID tid, int delay = 0);
void suspendThread(ThreadID tid);
- /** Remove Thread from Active Threads List, Remove Any Loaded Thread State */
- void deallocateContext(ThreadID tid, int delay = 0);
- void deallocateThread(ThreadID tid);
+ /** Halt Thread, Remove from Active Thread List, Place Thread on Halted
+ * Threads List
+ */
+ void haltContext(ThreadID tid, int delay = 0);
+ void haltThread(ThreadID tid);
/** squashFromMemStall() - sets up a squash event
* squashDueToMemStall() - squashes pipeline
+ * @note: maybe squashContext/squashThread would be better?
*/
void squashFromMemStall(DynInstPtr inst, ThreadID tid, int delay = 0);
void squashDueToMemStall(int stage_num, InstSeqNum seq_num, ThreadID tid);
@@ -587,6 +589,9 @@ class InOrderCPU : public BaseCPU
/** Suspended Threads List */
std::list<ThreadID> suspendedThreads;
+ /** Halted Threads List */
+ std::list<ThreadID> haltedThreads;
+
/** Thread Status Functions */
bool isThreadActive(ThreadID tid);
bool isThreadReady(ThreadID tid);