diff options
Diffstat (limited to 'src/sim/serialize.hh')
-rw-r--r-- | src/sim/serialize.hh | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/sim/serialize.hh b/src/sim/serialize.hh index 561cd5508..9a1170a9e 100644 --- a/src/sim/serialize.hh +++ b/src/sim/serialize.hh @@ -55,6 +55,7 @@ #include <list> #include <map> #include <stack> +#include <set> #include <vector> #include "base/bitunion.hh" @@ -70,15 +71,6 @@ class EventQueue; typedef std::ostream CheckpointOut; -/** The current version of the checkpoint format. - * This should be incremented by 1 and only 1 for every new version, where a new - * version is defined as a checkpoint created before this version won't work on - * the current version until the checkpoint format is updated. Adding a new - * SimObject shouldn't cause the version number to increase, only changes to - * existing objects such as serializing/unserializing more state, changing sizes - * of serialized arrays, etc. */ -static const uint64_t gem5CheckpointVersion = 0x000000000000000f; - template <class T> void paramOut(CheckpointOut &cp, const std::string &name, const T ¶m); @@ -100,13 +92,15 @@ void paramIn(CheckpointIn &cp, const std::string &name, } template <class T> -bool optParamIn(CheckpointIn &cp, const std::string &name, T ¶m); +bool optParamIn(CheckpointIn &cp, const std::string &name, T ¶m, + bool warn = true); template <typename DataType, typename BitUnion> bool optParamIn(CheckpointIn &cp, const std::string &name, - BitfieldBackend::BitUnionOperators<DataType, BitUnion> &p) + BitfieldBackend::BitUnionOperators<DataType, BitUnion> &p, + bool warn = true) { - return optParamIn(cp, name, p.__data); + return optParamIn(cp, name, p.__data, warn); } template <class T> @@ -122,6 +116,10 @@ void arrayParamOut(CheckpointOut &cp, const std::string &name, const std::list<T> ¶m); template <class T> +void arrayParamOut(CheckpointOut &cp, const std::string &name, + const std::set<T> ¶m); + +template <class T> void arrayParamIn(CheckpointIn &cp, const std::string &name, T *param, unsigned size); @@ -133,6 +131,10 @@ template <class T> void arrayParamIn(CheckpointIn &cp, const std::string &name, std::list<T> ¶m); +template <class T> +void arrayParamIn(CheckpointIn &cp, const std::string &name, + std::set<T> ¶m); + void objParamIn(CheckpointIn &cp, const std::string &name, SimObject * ¶m); |