summaryrefslogtreecommitdiff
path: root/sim/sim_object.hh
diff options
context:
space:
mode:
Diffstat (limited to 'sim/sim_object.hh')
-rw-r--r--sim/sim_object.hh11
1 files changed, 11 insertions, 0 deletions
diff --git a/sim/sim_object.hh b/sim/sim_object.hh
index 59d9daf45..76aba7ea1 100644
--- a/sim/sim_object.hh
+++ b/sim/sim_object.hh
@@ -41,6 +41,8 @@
#include "sim/serialize.hh"
#include "sim/startup.hh"
+class Serializer;
+
/*
* Abstract superclass for simulation objects. Represents things that
* correspond to physical components and can be specified via the
@@ -78,7 +80,9 @@ class SimObject : public Serializable, protected StartupCallback
// initialization pass of all objects.
// Gets invoked after construction, before unserialize.
virtual void init();
+ virtual void connect();
static void initAll();
+ static void connectAll();
// register statistics for this object
virtual void regStats();
@@ -94,6 +98,13 @@ class SimObject : public Serializable, protected StartupCallback
// static: call nameOut() & serialize() on all SimObjects
static void serializeAll(std::ostream &);
+ // Methods to drain objects in order to take checkpoints
+ // Or switch from timing -> atomic memory model
+ virtual void drain(Serializer *serializer);
+ virtual void resume() { return;} ;
+ virtual void serializationComplete()
+ { assert(0 && "Unimplemented"); };
+
#ifdef DEBUG
public:
bool doDebugBreak;