add a new phase to the simulator. Basically the simulator now goes

through the following phases.

1) Construct all param contexts
2) Call the checkParams() on each context
3) Build the configuration hierarchy
4) Construct all SimObjects
5) Initialize all SimObjects by calling init() on each one
6) Unserialize the checkpoint
7) Register all statisitcs
8) Check validity of all statistics (after that, no new stats)
9) Reset all stats.
10) Call SimStartup() which calls startup() on all SimObjects,
ParamContexts, and any other object deriving from StartupCallback

SConscript:
    no more SimInit() we have SimStartup() now
sim/param.hh:
    Make all params have a startup callback.
sim/sim_events.cc:
    the init callbacks no longer exist.  We can simplify code by
    using startup().
sim/sim_object.hh:
    Make all SimObjects derive from StartupCallback

--HG--
extra : convert_revision : ab81e259eb5510cc597f7bacb2bfb619fb4cc15f
This commit is contained in:
Nathan Binkert
2004-11-03 11:47:55 -05:00
parent 64a47b8ec1
commit 78ae8764a9
7 changed files with 108 additions and 28 deletions

View File

@@ -187,8 +187,8 @@ base_sources = Split('''
sim/serialize.cc
sim/sim_events.cc
sim/sim_exit.cc
sim/sim_init.cc
sim/sim_object.cc
sim/startup.cc
sim/stat_context.cc
sim/stat_control.cc
sim/trace_context.cc