diff options
author | Andrew Bardsley <Andrew.Bardsley@arm.com> | 2014-10-16 05:49:32 -0400 |
---|---|---|
committer | Andrew Bardsley <Andrew.Bardsley@arm.com> | 2014-10-16 05:49:32 -0400 |
commit | d8502ee46d356830698d7b96b29e4b27906a2d79 (patch) | |
tree | c7d052a7e276126bd1630658b386ac715f75238d /src/python/swig/stats.i | |
parent | a63ba6c7b7fe6620478c0d8d7812661c6a36d55a (diff) | |
download | gem5-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/python/swig/stats.i')
-rw-r--r-- | src/python/swig/stats.i | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/src/python/swig/stats.i b/src/python/swig/stats.i index 3bdd2c9aa..41115445c 100644 --- a/src/python/swig/stats.i +++ b/src/python/swig/stats.i @@ -43,6 +43,7 @@ #include "base/statistics.hh" #include "sim/core.hh" #include "sim/stat_control.hh" +#include "sim/stat_register.hh" namespace Stats { template <class T> @@ -64,20 +65,6 @@ Stats_Info_flags_set(Info *info, FlagsType flags) info->flags = flags; } -inline void -processResetQueue() -{ - extern CallbackQueue resetQueue; - resetQueue.process(); -} - -inline void -processDumpQueue() -{ - extern CallbackQueue dumpQueue; - dumpQueue.process(); -} - inline char * PCC(const char *string) { @@ -102,13 +89,13 @@ call_module_function(const char *module_name, const char *func_name) } void -dump() +pythonDump() { call_module_function("m5.stats", "dump"); } void -reset() +pythonReset() { call_module_function("m5.stats", "reset"); } @@ -150,6 +137,8 @@ template <class T> T cast_info(Info *info); void initSimStats(); Output *initText(const std::string &filename, bool desc); +void registerPythonStatsHandlers(); + void schedStatEvent(bool dump, bool reset, Tick when = curTick(), Tick repeat = 0); |