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.hh9
1 files changed, 9 insertions, 0 deletions
diff --git a/sim/sim_object.hh b/sim/sim_object.hh
index 5db62dd51..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
@@ -96,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;