summaryrefslogtreecommitdiff
path: root/src/sim/serialize.cc
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-07-07 16:46:08 -0400
committerKevin Lim <ktlim@umich.edu>2006-07-07 16:46:08 -0400
commit1faada9bd98a6425624a97813d4c8cdc5b78aa1f (patch)
tree162d9d5f008e69edb60e4edae9250803b7ea36ed /src/sim/serialize.cc
parent018ba50f2c05e07c7bd1c951db8ba33402c323dc (diff)
downloadgem5-1faada9bd98a6425624a97813d4c8cdc5b78aa1f.tar.xz
Take the name of the checkpoint directory in when calling checkpoint() or restoreCheckpoint().
src/sim/main.cc: src/sim/serialize.cc: src/sim/serialize.hh: Take in the directory name when checkpointing. --HG-- extra : convert_revision : 040e828622480f1051e2156f4439e24864c38d45
Diffstat (limited to 'src/sim/serialize.cc')
-rw-r--r--src/sim/serialize.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/sim/serialize.cc b/src/sim/serialize.cc
index 7450d7b7e..6a1d084b7 100644
--- a/src/sim/serialize.cc
+++ b/src/sim/serialize.cc
@@ -231,8 +231,9 @@ Globals::unserialize(Checkpoint *cp)
}
void
-Serializable::serializeAll()
+Serializable::serializeAll(const std::string &cpt_dir)
{
+ setCheckpointDir(cpt_dir);
string dir = Checkpoint::dir();
if (mkdir(dir.c_str(), 0775) == -1 && errno != EEXIST)
fatal("couldn't mkdir %s\n", dir);
@@ -247,8 +248,9 @@ Serializable::serializeAll()
}
void
-Serializable::unserializeAll()
+Serializable::unserializeAll(const std::string &cpt_dir)
{
+ setCheckpointDir(cpt_dir);
string dir = Checkpoint::dir();
string cpt_file = dir + Checkpoint::baseFilename;
string section = "";
@@ -289,9 +291,9 @@ Checkpoint::dir()
}
void
-debug_serialize()
+debug_serialize(const std::string &cpt_dir)
{
- Serializable::serializeAll();
+ Serializable::serializeAll(cpt_dir);
}