diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2004-04-05 11:00:48 -0700 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2004-04-05 11:00:48 -0700 |
commit | 0ef91aa905df33bc013b223513982da898a8bed3 (patch) | |
tree | 29d598064dae05ff93f0eee6b2fdecbd2432ee18 /sim | |
parent | 65205b82acee56b0034c0122d5f5a89f57c760fc (diff) | |
download | gem5-0ef91aa905df33bc013b223513982da898a8bed3.tar.xz |
Changes to config to allow everything (including 'children'
and 'type') to be specified via instance name and not just
config class. Old code only did instance-name lookup for
SimObject parameters. This feature makes life easier for
transitioning to the Python script-based config.
sim/builder.cc:
Use ConfigNode::find to look for "type" parameter so it can
be found if set under instance name (not config class).
sim/param.cc:
Make Param<bool> accept "1" for true and "0" for false.
--HG--
extra : convert_revision : f40d0878d0f03b2e216f0506c05d0e52db608cca
Diffstat (limited to 'sim')
-rw-r--r-- | sim/builder.cc | 3 | ||||
-rw-r--r-- | sim/param.cc | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/sim/builder.cc b/sim/builder.cc index e2345556e..110c42f25 100644 --- a/sim/builder.cc +++ b/sim/builder.cc @@ -32,6 +32,7 @@ #include "base/misc.hh" #include "sim/builder.hh" #include "sim/configfile.hh" +#include "sim/config_node.hh" #include "sim/host.hh" #include "sim/sim_object.hh" #include "sim/universe.hh" @@ -153,7 +154,7 @@ SimObjectClass::createObject(IniFile &configDB, // (specified by 'type=' parameter) string simObjClassName; - if (!configDB.findDefault(configClassName, "type", simObjClassName)) { + if (!configNode->find("type", simObjClassName)) { cerr << "Configuration class '" << configClassName << "' not found." << endl; abort(); diff --git a/sim/param.cc b/sim/param.cc index 7affe4786..bb372f631 100644 --- a/sim/param.cc +++ b/sim/param.cc @@ -147,14 +147,14 @@ template <> bool parseParam(const string &s, bool &value) { - const string &lower = to_lower(s); + const string &ls = to_lower(s); - if (lower == "true" || lower == "t" || lower == "yes" || lower == "y") { + if (ls == "true" || ls == "t" || ls == "yes" || ls == "y" || ls == "1") { value = true; return true; } - if (lower == "false" || lower == "f" || lower == "no" || lower == "n") { + if (ls == "false" || ls == "f" || ls == "no" || ls == "n" || ls == "0") { value = false; return true; } |