diff -r 3fe158f47f58 -r cb5f6c1e0dfc src/sim/root.hh --- a/src/sim/root.hh Sun Jan 30 22:08:48 2011 -0800 +++ b/src/sim/root.hh Sun Jan 30 22:10:33 2011 -0800 @@ -96,6 +96,9 @@ void timeSyncSpinThreshold(Time newThreshold); Root(RootParams *p); + + void serialize(std::ostream &os); + void unserialize(Checkpoint *cp, const std::string §ion); }; #endif // __SIM_ROOT_HH__ diff -r 3fe158f47f58 -r cb5f6c1e0dfc src/sim/root.cc --- a/src/sim/root.cc Sun Jan 30 22:08:48 2011 -0800 +++ b/src/sim/root.cc Sun Jan 30 22:10:33 2011 -0800 @@ -33,6 +33,9 @@ #include "base/misc.hh" #include "sim/root.hh" +#include "sim/serialize.hh" + +using namespace std; Root *Root::_root = NULL; @@ -111,6 +114,27 @@ timeSyncEnable(p->time_sync_enable); } +void +Root::serialize(ostream &os) +{ + _period.serialize("timeSyncPeriod", os); + SERIALIZE_SCALAR(_periodTick); + _spinThreshold.serialize("timeSyncSpinThreshold", os); + paramOut(os, "timeSyncEnable", _enabled ? 1 : 0); +} + +void +Root::unserialize(Checkpoint *cp, const string §ion) +{ + timeSyncEnable(false); + _period.unserialize("timeSyncPeriod", cp, section); + UNSERIALIZE_SCALAR(_periodTick); + _spinThreshold.unserialize("timeSyncSpinThreshold", cp, section); + int enabled; + paramIn(cp, section, "timeSyncEnable", enabled); + timeSyncEnable(enabled); +} + Root * RootParams::create() {