summaryrefslogtreecommitdiff
path: root/src/base/time.cc
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2011-02-02 18:05:03 -0800
committerGabe Black <gblack@eecs.umich.edu>2011-02-02 18:05:03 -0800
commit75d34c14fcdf514a09e94547a1d32b1b10f7e793 (patch)
tree19a7c4b35bc7f0f11f0b395b640f76b0aee807a1 /src/base/time.cc
parentc4b81d311e824580666e1a620576a59528702b27 (diff)
downloadgem5-75d34c14fcdf514a09e94547a1d32b1b10f7e793.tar.xz
Time: Add serialization functions to the Time class.
Diffstat (limited to 'src/base/time.cc')
-rw-r--r--src/base/time.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/base/time.cc b/src/base/time.cc
index 0fab938a4..8ce2e2137 100644
--- a/src/base/time.cc
+++ b/src/base/time.cc
@@ -34,6 +34,7 @@
#include "base/time.hh"
#include "config/use_posix_clock.hh"
#include "sim/core.hh"
+#include "sim/serialize.hh"
using namespace std;
@@ -114,6 +115,25 @@ Time::time() const
}
void
+Time::serialize(const std::string &base, ostream &os)
+{
+ paramOut(os, base + ".sec", sec());
+ paramOut(os, base + ".nsec", nsec());
+}
+
+void
+Time::unserialize(const std::string &base, Checkpoint *cp,
+ const string &section)
+{
+ time_t secs;
+ time_t nsecs;
+ paramIn(cp, section, base + ".sec", secs);
+ paramIn(cp, section, base + ".nsec", nsecs);
+ sec(secs);
+ nsec(nsecs);
+}
+
+void
sleep(const Time &time)
{
timespec ts = time;