Merge zizzer:/bk/m5 into vm1.reinhardt.house:/z/stever/bk/m5
[gem5.git] / sim / sim_object.hh
index f4b316ebb7b284c12f389f74bc990f62494b5233..db8d4f4d3834eecaf0b692724ebef0796d2643ad 100644 (file)
  */
 class SimObject : public Serializable, protected StartupCallback
 {
+  public:
+    struct Params {
+        std::string name;
+    };
+
   protected:
-    std::string objName;
+    Params *_params;
+
+  public:
+    const Params *params() const { return _params; }
 
   private:
     friend class Serializer;
@@ -60,11 +68,12 @@ class SimObject : public Serializable, protected StartupCallback
     static SimObjectList simObjectList;
 
   public:
+    SimObject(Params *_params);
     SimObject(const std::string &_name);
 
     virtual ~SimObject() {}
 
-    virtual const std::string name() const { return objName; }
+    virtual const std::string name() const { return params()->name; }
 
     // initialization pass of all objects.
     // Gets invoked after construction, before unserialize.