util: Add DVFS perfLevel to checkpoint upgrade script

This patch updates the checkpoint upgrader script. It adds the _perfLevel
variable in the clock domain and voltage domain simObjects used for DVFS.
This commit is contained in:
Radhika Jagtap 2014-07-01 11:58:22 -04:00
parent 65cea4708e
commit b998a0c6ac
2 changed files with 18 additions and 1 deletions

View 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 = 0x000000000000000a;
static const uint64_t gem5CheckpointVersion = 0x000000000000000b;
template <class T>
void paramOut(std::ostream &os, const std::string &name, const T &param);

View file

@ -553,6 +553,22 @@ def from_9(cpt):
# upgraded checkpoints were not taken with block-size 64!
cpt.set(sec, 'block_size_bytes', '64')
# Checkpoint version 11 (0xB) adds the perfLevel variable in the clock domain
# and voltage domain simObjects used for DVFS and is serialized and
# unserialized.
def from_A(cpt):
for sec in cpt.sections():
import re
if re.match('^.*sys.*[._]clk_domain$', sec):
# Make _perfLevel equal to 0 which means best performance
cpt.set(sec, '_perfLevel', ' '.join('0'))
elif re.match('^.*sys.*[._]voltage_domain$', sec):
# Make _perfLevel equal to 0 which means best performance
cpt.set(sec, '_perfLevel', ' '.join('0'))
else:
continue
migrations = []
migrations.append(from_0)
migrations.append(from_1)
@ -564,6 +580,7 @@ migrations.append(from_6)
migrations.append(from_7)
migrations.append(from_8)
migrations.append(from_9)
migrations.append(from_A)
verbose_print = False