summaryrefslogtreecommitdiff
path: root/src/sim/serialize.cc
diff options
context:
space:
mode:
authorAndrew Bardsley <Andrew.Bardsley@arm.com>2014-10-16 05:49:32 -0400
committerAndrew Bardsley <Andrew.Bardsley@arm.com>2014-10-16 05:49:32 -0400
commitd8502ee46d356830698d7b96b29e4b27906a2d79 (patch)
treec7d052a7e276126bd1630658b386ac715f75238d /src/sim/serialize.cc
parenta63ba6c7b7fe6620478c0d8d7812661c6a36d55a (diff)
downloadgem5-d8502ee46d356830698d7b96b29e4b27906a2d79.tar.xz
config: Add a --without-python option to build process
Add the ability to build libgem5 without embedded Python or the ability to configure with Python. This is a prelude to a patch to allow config.ini files to be loaded into libgem5 using only C++ which would make embedding gem5 within other simulation systems easier. This adds a few registration interfaces to things which cross between Python and C++. Namely: stats dumping and SimObject resolving
Diffstat (limited to 'src/sim/serialize.cc')
-rw-r--r--src/sim/serialize.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/sim/serialize.cc b/src/sim/serialize.cc
index 27bf87254..99426b5a6 100644
--- a/src/sim/serialize.cc
+++ b/src/sim/serialize.cc
@@ -58,8 +58,6 @@
using namespace std;
-extern SimObject *resolveSimObject(const string &);
-
//
// The base implementations use to_number for parsing and '<<' for
// displaying, suitable for integer types.
@@ -600,8 +598,8 @@ Checkpoint::dir()
}
-Checkpoint::Checkpoint(const string &cpt_dir)
- : db(new IniFile), cptDir(setDir(cpt_dir))
+Checkpoint::Checkpoint(const string &cpt_dir, SimObjectResolver &resolver)
+ : db(new IniFile), objNameResolver(resolver), cptDir(setDir(cpt_dir))
{
string filename = cptDir + "/" + Checkpoint::baseFilename;
if (!db->load(filename)) {
@@ -630,7 +628,7 @@ Checkpoint::findObj(const string &section, const string &entry,
if (!db->find(section, entry, path))
return false;
- value = resolveSimObject(path);
+ value = objNameResolver.resolveSimObject(path);
return true;
}