diff options
Diffstat (limited to 'src/cpu/inorder/cpu.hh')
-rw-r--r-- | src/cpu/inorder/cpu.hh | 15 |
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); |