summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2003-10-30 07:19:47 -0800
committerSteve Reinhardt <stever@eecs.umich.edu>2003-10-30 07:19:47 -0800
commit045eac3bdf9a12f64138dbef501b0b77468ac1c5 (patch)
treeee3875b523f9912f7fbbf60cfb2f51e815f21ea0
parentf60a75f708b80043c4538f4efbcc74d16974b14c (diff)
parentec9d41c46a3fcbf5ce5212c4997cee697ebde706 (diff)
downloadgem5-045eac3bdf9a12f64138dbef501b0b77468ac1c5.tar.xz
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG-- extra : convert_revision : 0bd243f9c3d69d260ca25d0738e730e63c784878
-rw-r--r--cpu/exec_context.hh22
1 files changed, 21 insertions, 1 deletions
diff --git a/cpu/exec_context.hh b/cpu/exec_context.hh
index cb826a15e..e008e3e13 100644
--- a/cpu/exec_context.hh
+++ b/cpu/exec_context.hh
@@ -61,7 +61,27 @@ class MemoryController;
class ExecContext
{
public:
- enum Status { Unallocated, Active, Suspended, Halted };
+ 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,
+
+ /// Temporarily inactive. Entered while waiting for
+ /// synchronization, etc.
+ Suspended,
+
+ /// Permanently shut down. Entered when target executes
+ /// m5exit pseudo-instruction. When all contexts enter
+ /// this state, the simulation will terminate.
+ Halted
+ };
private:
Status _status;