changeset 82a4fa2d19a0 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=82a4fa2d19a0
description:
sim: Fix checkpoint restore for Ticked
This patch makes restoring the 'lastStopped' value for Ticked-containing
objects (including MinorCPU) optional so that Ticked-containing objects
can be restored from non-Ticked-containing objects (such as
AtomicSimpleCPU).
diffstat:
src/sim/ticked_object.cc | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diffs (21 lines):
diff -r 4207f9bfcceb -r 82a4fa2d19a0 src/sim/ticked_object.cc
--- a/src/sim/ticked_object.cc Wed Sep 03 07:42:22 2014 -0400
+++ b/src/sim/ticked_object.cc Wed Sep 03 07:42:25 2014 -0400
@@ -82,9 +82,15 @@
void
Ticked::unserialize(Checkpoint *cp, const std::string §ion)
{
- uint64_t lastStoppedUint;
+ uint64_t lastStoppedUint = 0;
- paramIn(cp, section, "lastStopped", lastStoppedUint);
+ /* lastStopped is optional on checkpoint restore as this object may be
+ * being restored from one which has a common base (and so possibly
+ * many common checkpointed values) but where Ticked is used in the
+ * checkpointed object but not this one.
+ * An example would be a CPU model using Ticked restores from a
+ * simple CPU without without Ticked */
+ optParamIn(cp, section, "lastStopped", lastStoppedUint);
lastStopped = Cycles(lastStoppedUint);
}
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev