summaryrefslogtreecommitdiff
path: root/src/sim/process.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2007-10-25 20:13:35 -0400
committerAli Saidi <saidi@eecs.umich.edu>2007-10-25 20:13:35 -0400
commit0711f4f17a4b4ac61b07cbe742f0d193f919ea8f (patch)
tree6fdd5b340696c7506dc85f4eb8cb39421da3ccaa /src/sim/process.cc
parentb0e3aab5df9328ddfd13e396456cebdcaf0c8912 (diff)
downloadgem5-0711f4f17a4b4ac61b07cbe742f0d193f919ea8f.tar.xz
SE: Fix page table and system serialization, don't reinit process if this is a checkpoint restore.
--HG-- extra : convert_revision : 03dcf3c088e57b7abab60efe700d947117888306
Diffstat (limited to 'src/sim/process.cc')
-rw-r--r--src/sim/process.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sim/process.cc b/src/sim/process.cc
index c5be4087d..01155ae32 100644
--- a/src/sim/process.cc
+++ b/src/sim/process.cc
@@ -85,7 +85,7 @@ using namespace TheISA;
int num_processes = 0;
Process::Process(ProcessParams * params)
- : SimObject(params), system(params->system),
+ : SimObject(params), system(params->system), checkpointRestored(false),
max_stack_size(params->max_stack_size)
{
string in = params->input;
@@ -335,6 +335,10 @@ Process::unserialize(Checkpoint *cp, const std::string &section)
UNSERIALIZE_ARRAY(fd_map, MAX_FD);
pTable->unserialize(cp, section);
+
+
+ checkpointRestored = true;
+
}