alpha: Move some initialization logic from loadState into unserialize.
authorGabe Black <gabeblack@google.com>
Tue, 19 Sep 2017 00:53:29 +0000 (17:53 -0700)
committerGabe Black <gabeblack@google.com>
Thu, 21 Sep 2017 17:43:50 +0000 (17:43 +0000)
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>

src/arch/alpha/process.cc
src/arch/alpha/process.hh

index 9be1d6c85a365bb8d5fad169c11804673a5dfcfa..2a5c9f6162acb75cb209fde168f363f261f98c91 100644 (file)
@@ -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();
index 5851c866db4876a7ca8ad32a12d612ac21219401..a02b8cec465908e3820f07f466cc9f07ee5840eb 100644 (file)
@@ -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);