summaryrefslogtreecommitdiff
path: root/src/systemc/core/sc_module.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/core/sc_module.cc')
-rw-r--r--src/systemc/core/sc_module.cc26
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())
{}