Add some comments explaining ExecContext::Status enum.
authorSteve Reinhardt <stever@eecs.umich.edu>
Thu, 30 Oct 2003 15:08:35 +0000 (07:08 -0800)
committerSteve Reinhardt <stever@eecs.umich.edu>
Thu, 30 Oct 2003 15:08:35 +0000 (07:08 -0800)
cpu/exec_context.hh:
    Add some comments explaining Status enum.

--HG--
extra : convert_revision : 87fdb5d9c09d2a08ab0cff9fa38da2579a550477

cpu/exec_context.hh

index cb826a15ec937a989f1a97aa9c80ceffdeb3c08f..e008e3e1397c33a902b429716bff2970fd3dad21 100644 (file)
@@ -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;