diff options
Diffstat (limited to 'src/systemc/core/sc_module.cc')
-rw-r--r-- | src/systemc/core/sc_module.cc | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/systemc/core/sc_module.cc b/src/systemc/core/sc_module.cc index 89f74c7f2..44369d751 100644 --- a/src/systemc/core/sc_module.cc +++ b/src/systemc/core/sc_module.cc @@ -32,9 +32,33 @@ #include "base/logging.hh" #include "systemc/core/module.hh" +#include "systemc/core/process.hh" #include "systemc/ext/core/sc_module.hh" #include "systemc/ext/core/sc_module_name.hh" +namespace sc_gem5 +{ + +Process * +newMethodProcess(const char *name, ProcessFuncWrapper *func) +{ + return new Method(name, func); +} + +Process * +newThreadProcess(const char *name, ProcessFuncWrapper *func) +{ + return new Thread(name, func); +} + +Process * +newCThreadProcess(const char *name, ProcessFuncWrapper *func) +{ + return new CThread(name, func); +} + +} // namespace sc_gem5 + namespace sc_core { @@ -134,7 +158,7 @@ sc_module::get_child_events() const } sc_module::sc_module() : - sc_object(sc_gem5::currentModule()->name()), + sc_object(sc_gem5::newModule()->name()), _gem5_module(sc_gem5::currentModule()) {} |