summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2017-09-18 17:53:29 -0700
committerGabe Black <gabeblack@google.com>2017-09-21 17:43:50 +0000
commit0658925a8f64a9092599afa4a5432df2cc4812dc (patch)
tree10290904d2b0770605391b23d3c77978e398a56e
parentf1b3b2837d886a2101749c0745f5ab215f4ec65c (diff)
downloadgem5-0658925a8f64a9092599afa4a5432df2cc4812dc.tar.xz
alpha: Move some initialization logic from loadState into unserialize.
The primary difference between loadState and unserialize, at least when eventually using the default SimObject implementation of loadState, is that unserialize is called only if there's a corresponding section in the checkpoint being restored. In this particular case, the AlphaProcess class calls the generic Process unserialize function, and that does other critical initialization like set up the processes page table. If the unserialize function isn't called, other serious problems would break the simulation anyway. This removes the final custom implementation of loadState. Change-Id: If50062392196bd37efd5ba04fd7aee6907b00dc6 Reviewed-on: https://gem5-review.googlesource.com/4741 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
-rw-r--r--src/arch/alpha/process.cc4
-rw-r--r--src/arch/alpha/process.hh2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/alpha/process.cc b/src/arch/alpha/process.cc
index 9be1d6c85..2a5c9f616 100644
--- a/src/arch/alpha/process.cc
+++ b/src/arch/alpha/process.cc
@@ -189,9 +189,9 @@ AlphaProcess::setupASNReg()
void
-AlphaProcess::loadState(CheckpointIn &cp)
+AlphaProcess::unserialize(CheckpointIn &cp)
{
- Process::loadState(cp);
+ Process::unserialize(cp);
// need to set up ASN after unserialization since _pid value may
// come from checkpoint
setupASNReg();
diff --git a/src/arch/alpha/process.hh b/src/arch/alpha/process.hh
index 5851c866d..a02b8cec4 100644
--- a/src/arch/alpha/process.hh
+++ b/src/arch/alpha/process.hh
@@ -43,7 +43,7 @@ class AlphaProcess : public Process
protected:
AlphaProcess(ProcessParams *params, ObjectFile *objFile);
- void loadState(CheckpointIn &cp) override;
+ void unserialize(CheckpointIn &cp) override;
void initState() override;
void argsInit(int intSize, int pageSize);