summaryrefslogtreecommitdiff
path: root/src/sim/sim_object.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-07-24 15:48:40 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-07-24 15:48:40 -0700
commit26b1c455e0aed69eda0cc165b5084edb1b557c38 (patch)
tree0b7ffa9259c55f9a639a12f09ddef033d78b084b /src/sim/sim_object.hh
parent02c39000bfc6be620382bf89636e3b1bbb2f4cf6 (diff)
parentabc76f20cb98c90e8dab416dd16dfd4a954013ba (diff)
downloadgem5-26b1c455e0aed69eda0cc165b5084edb1b557c38.tar.xz
Merge with head.
--HG-- extra : convert_revision : 4a34b3f91c4fc90055596245ae3efec45ea33888
Diffstat (limited to 'src/sim/sim_object.hh')
-rw-r--r--src/sim/sim_object.hh23
1 files changed, 7 insertions, 16 deletions
diff --git a/src/sim/sim_object.hh b/src/sim/sim_object.hh
index 536e761e5..2e99a85bf 100644
--- a/src/sim/sim_object.hh
+++ b/src/sim/sim_object.hh
@@ -41,6 +41,7 @@
#include <vector>
#include <iostream>
+#include "params/SimObject.hh"
#include "sim/serialize.hh"
#include "sim/startup.hh"
@@ -55,33 +56,19 @@ class Event;
class SimObject : public Serializable, protected StartupCallback
{
public:
- struct Params {
- std::string name;
- };
-
enum State {
Running,
Draining,
Drained
};
- enum MemoryMode {
- Invalid=0,
- Atomic,
- Timing
- };
-
private:
State state;
protected:
- Params *_params;
-
void changeState(State new_state) { state = new_state; }
public:
- const Params *params() const { return _params; }
-
State getState() { return state; }
private:
@@ -90,10 +77,14 @@ class SimObject : public Serializable, protected StartupCallback
// list of all instantiated simulation objects
static SimObjectList simObjectList;
+ protected:
+ const SimObjectParams *_params;
+
public:
- SimObject(Params *_params);
+ typedef SimObjectParams Params;
+ const Params *params() const { return _params; }
+ SimObject(const Params *_params);
SimObject(const std::string &_name);
-
virtual ~SimObject() {}
virtual const std::string name() const { return params()->name; }