sc_module.cc (12951:9db2476bea4e) sc_module.cc (12952:94fca7e8120b)
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 18 unchanged lines hidden (view full) ---

27 * Authors: Gabe Black
28 */
29
30#include <memory>
31#include <vector>
32
33#include "base/logging.hh"
34#include "systemc/core/module.hh"
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 18 unchanged lines hidden (view full) ---

27 * Authors: Gabe Black
28 */
29
30#include <memory>
31#include <vector>
32
33#include "base/logging.hh"
34#include "systemc/core/module.hh"
35#include "systemc/core/process.hh"
35#include "systemc/ext/core/sc_module.hh"
36#include "systemc/ext/core/sc_module_name.hh"
37
36#include "systemc/ext/core/sc_module.hh"
37#include "systemc/ext/core/sc_module_name.hh"
38
39namespace sc_gem5
40{
41
42Process *
43newMethodProcess(const char *name, ProcessFuncWrapper *func)
44{
45 return new Method(name, func);
46}
47
48Process *
49newThreadProcess(const char *name, ProcessFuncWrapper *func)
50{
51 return new Thread(name, func);
52}
53
54Process *
55newCThreadProcess(const char *name, ProcessFuncWrapper *func)
56{
57 return new CThread(name, func);
58}
59
60} // namespace sc_gem5
61
38namespace sc_core
39{
40
41sc_bind_proxy::sc_bind_proxy(const sc_interface &_interface) :
42 _interface(&_interface), _port(nullptr)
43{}
44
45sc_bind_proxy::sc_bind_proxy(const sc_port_base &_port) :

--- 83 unchanged lines hidden (view full) ---

129
130const std::vector<sc_event *> &
131sc_module::get_child_events() const
132{
133 return _gem5_module->obj()->get_child_events();
134}
135
136sc_module::sc_module() :
62namespace sc_core
63{
64
65sc_bind_proxy::sc_bind_proxy(const sc_interface &_interface) :
66 _interface(&_interface), _port(nullptr)
67{}
68
69sc_bind_proxy::sc_bind_proxy(const sc_port_base &_port) :

--- 83 unchanged lines hidden (view full) ---

153
154const std::vector<sc_event *> &
155sc_module::get_child_events() const
156{
157 return _gem5_module->obj()->get_child_events();
158}
159
160sc_module::sc_module() :
137 sc_object(sc_gem5::currentModule()->name()),
161 sc_object(sc_gem5::newModule()->name()),
138 _gem5_module(sc_gem5::currentModule())
139{}
140
141sc_module::sc_module(const sc_module_name &) : sc_module() {}
142sc_module::sc_module(const char *_name) : sc_module(sc_module_name(_name)) {}
143sc_module::sc_module(const std::string &_name) :
144 sc_module(sc_module_name(_name.c_str()))
145{}

--- 476 unchanged lines hidden ---
162 _gem5_module(sc_gem5::currentModule())
163{}
164
165sc_module::sc_module(const sc_module_name &) : sc_module() {}
166sc_module::sc_module(const char *_name) : sc_module(sc_module_name(_name)) {}
167sc_module::sc_module(const std::string &_name) :
168 sc_module(sc_module_name(_name.c_str()))
169{}

--- 476 unchanged lines hidden ---