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.
" -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"
GlobalSimLoopExitEvent *exit_event = NULL;
if (checkpoint_save) {
-
exit_event = simulate(pre_run_time);
DrainManager drain_manager;
Serializable::unserializeGlobals(checkpoint);
config_manager->loadState(checkpoint);
+ config_manager->startup();
config_manager->drainResume();