diff options
author | Andrew Bardsley <Andrew.Bardsley@arm.com> | 2014-11-14 03:54:02 -0500 |
---|---|---|
committer | Andrew Bardsley <Andrew.Bardsley@arm.com> | 2014-11-14 03:54:02 -0500 |
commit | 27b7b9e561000ce7712e6d7a28102b711cefa8a2 (patch) | |
tree | 979bc6e22b58cda64f765166cdb1566020625bfa /util/cxx_config | |
parent | 481eb6ae8018d0478c23fda7c5f9f3fa4db8de89 (diff) | |
download | gem5-27b7b9e561000ce7712e6d7a28102b711cefa8a2.tar.xz |
config: Fix checkpoint restore in C++ config example
This patch fixes the checkpoint restore option in the example of C++
configuration (util/cxx_config).
The fix introduces a call to config_manager->startup() (which calls startup
on all SimObjects managed by that manager) to replicate the loop of
SimObject::startup calls in src/python/m5/simulate.py::simulate guarded by
need_startup. As util/cxx_config/main.cc is a C++ analogue of
src/python/mt/simulate.py, it should make a similar set of calls.
Diffstat (limited to 'util/cxx_config')
-rw-r--r-- | util/cxx_config/main.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/util/cxx_config/main.cc b/util/cxx_config/main.cc index a9a86b424..afc166174 100644 --- a/util/cxx_config/main.cc +++ b/util/cxx_config/main.cc @@ -88,7 +88,7 @@ usage(const std::string &prog_name) " -s <dir> <ticks> -- save checkpoint to dir after" " the given\n" " number of ticks\n" - " -r <dir> -- restore checkpoint to dir\n" + " -r <dir> -- restore checkpoint from dir\n" " -c <from> <to> <ticks> -- switch from cpu 'from' to cpu" " 'to' after\n" " the given number of ticks\n" @@ -226,7 +226,6 @@ main(int argc, char **argv) GlobalSimLoopExitEvent *exit_event = NULL; if (checkpoint_save) { - exit_event = simulate(pre_run_time); DrainManager drain_manager; @@ -265,6 +264,7 @@ main(int argc, char **argv) Serializable::unserializeGlobals(checkpoint); config_manager->loadState(checkpoint); + config_manager->startup(); config_manager->drainResume(); |