config, arm: Unify checkpoint path handling in bL configs
The vanilla bL configuration file and the dist-gem5 configuration file use slightly different code paths when restoring from checkpoints. Unify this by passing the parsed options to the instantiate() method and adding an optional checkpoint keyword argument for checkpoint directories (only used by the dist-gem5 script). Change-Id: I9943ec10bd7a256465e29c8de571142ec3fbaa0e Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Curtis Dunham <curtis.dunham@arm.com> Reviewed-by: Sascha Bischoff <sascha.bischoff@arm.com> Reviewed-by: Gabor Dozsa <gabor.dozsa@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2560 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Weiping Liao <weipingliao@google.com>
This commit is contained in:
parent
66a1016a35
commit
3547af6e44
2 changed files with 13 additions and 13 deletions
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2016 ARM Limited
|
||||
# Copyright (c) 2016-2017 ARM Limited
|
||||
# All rights reserved.
|
||||
#
|
||||
# The license below extends only to copyright in the software and shall
|
||||
|
@ -132,12 +132,7 @@ def main():
|
|||
root = bL.build(options)
|
||||
addEthernet(root.system, options)
|
||||
|
||||
if options.restore_from:
|
||||
checkpoint_path = os.path.join(options.checkpoint_dir,
|
||||
options.restore_from)
|
||||
else:
|
||||
checkpoint_path = None
|
||||
bL.instantiate(checkpoint_path)
|
||||
bL.instantiate(options, checkpoint_dir=options.checkpoint_dir)
|
||||
bL.run(options.checkpoint_dir)
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2016 ARM Limited
|
||||
# Copyright (c) 2016-2017 ARM Limited
|
||||
# All rights reserved.
|
||||
#
|
||||
# The license below extends only to copyright in the software and shall
|
||||
|
@ -209,11 +209,16 @@ def build(options):
|
|||
return root
|
||||
|
||||
|
||||
def instantiate(checkpoint_path=None):
|
||||
def instantiate(options, checkpoint_dir=None):
|
||||
# Get and load from the chkpt or simpoint checkpoint
|
||||
if checkpoint_path is not None:
|
||||
m5.util.inform("Restoring from checkpoint %s", checkpoint_path)
|
||||
m5.instantiate(checkpoint_path)
|
||||
if options.restore_from:
|
||||
if checkpoint_dir and not os.path.isabs(options.restore_from):
|
||||
cpt = os.path.join(checkpoint_dir, options.restore_from)
|
||||
else:
|
||||
cpt = options.restore_from
|
||||
|
||||
m5.util.inform("Restoring from checkpoint %s", cpt)
|
||||
m5.instantiate(cpt)
|
||||
else:
|
||||
m5.instantiate()
|
||||
|
||||
|
@ -241,7 +246,7 @@ def main():
|
|||
addOptions(parser)
|
||||
options = parser.parse_args()
|
||||
root = build(options)
|
||||
instantiate(options.restore_from)
|
||||
instantiate(options)
|
||||
run()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue