sim: bump checkpoint version for multiple event queues
authorCurtis Dunham <Curtis.Dunham@arm.com>
Wed, 5 Feb 2014 22:17:41 +0000 (16:17 -0600)
committerCurtis Dunham <Curtis.Dunham@arm.com>
Wed, 5 Feb 2014 22:17:41 +0000 (16:17 -0600)
This patch adds a fix for older checkpoints before support for
multiple event queues were added in changeset 2cce74fe359e. The change
in checkpoint version should really hav ebeen part of the
aforementioned changeset.

src/sim/serialize.hh
util/cpt_upgrader.py

index 05cb7c50f611c7c162fe8b3c25e1fe1e917744d8..2bf85bdf53d7d096a895de5c3a0f16fbaca2da69 100644 (file)
@@ -58,7 +58,7 @@ class EventQueue;
  * SimObject shouldn't cause the version number to increase, only changes to
  * existing objects such as serializing/unserializing more state, changing sizes
  * of serialized arrays, etc. */
-static const uint64_t gem5CheckpointVersion = 0x000000000000000b;
+static const uint64_t gem5CheckpointVersion = 0x000000000000000c;
 
 template <class T>
 void paramOut(std::ostream &os, const std::string &name, const T &param);
index 914de02b46fce9cccc9c1a47e537c46fa07e474c..df36047543a20b028ffd3192c6b94a55ba2be8d5 100755 (executable)
@@ -569,6 +569,12 @@ def from_A(cpt):
         else:
             continue
 
+# The change between versions C and D is the addition of support for multiple
+# event queues, so for old checkpoints we must specify that there's only one.
+def from_B(cpt):
+    cpt.set('Globals', 'numMainEventQueues', '1')
+
+
 migrations = []
 migrations.append(from_0)
 migrations.append(from_1)
@@ -581,6 +587,7 @@ migrations.append(from_7)
 migrations.append(from_8)
 migrations.append(from_9)
 migrations.append(from_A)
+migrations.append(from_B)
 
 verbose_print = False