diff options
author | Gabe Black <gabeblack@google.com> | 2018-10-07 05:23:49 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-10-16 01:12:58 +0000 |
commit | e07f7efb75f0f7322d752608eb1cb1e1145b4a98 (patch) | |
tree | c70d86ba3130636fd8c6ff3c0d159727b81932c8 /src/systemc/core/sc_port.cc | |
parent | 3420f0e223888bf70cd502efb5a534e651891b5c (diff) | |
download | gem5-e07f7efb75f0f7322d752608eb1cb1e1145b4a98.tar.xz |
systemc: Switch to using predefined messages for channels.
Create and use predefined messages for channels which match the ones
Accellera uses.
Change-Id: I179214838bbd83604e50225926cdc6b5b1b16923
Reviewed-on: https://gem5-review.googlesource.com/c/13330
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/sc_port.cc')
-rw-r--r-- | src/systemc/core/sc_port.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/systemc/core/sc_port.cc b/src/systemc/core/sc_port.cc index 60911f8e1..69fe6f579 100644 --- a/src/systemc/core/sc_port.cc +++ b/src/systemc/core/sc_port.cc @@ -33,6 +33,7 @@ #include "systemc/core/module.hh" #include "systemc/core/port.hh" #include "systemc/core/scheduler.hh" +#include "systemc/ext/channel/messages.hh" #include "systemc/ext/core/sc_main.hh" #include "systemc/ext/core/sc_port.hh" @@ -61,21 +62,19 @@ sc_port_base::sc_port_base(const char *n, int max_size, sc_port_policy p) : sc_object(n), _gem5Port(nullptr) { if (sc_is_running()) { - reportError("(E110) insert port failed", "simulation running", + reportError(SC_ID_INSERT_PORT_, "simulation running", name(), kind()); } if (::sc_gem5::scheduler.elaborationDone()) { - reportError("(E110) insert port failed", "elaboration done", + reportError(SC_ID_INSERT_PORT_, "elaboration done", name(), kind()); } auto m = sc_gem5::pickParentModule(); - if (!m) { - reportError("(E100) port specified outside of module", - nullptr, name(), kind()); - } else { + if (!m) + reportError(SC_ID_PORT_OUTSIDE_MODULE_, nullptr, name(), kind()); + else m->ports.push_back(this); - } _gem5Port = new ::sc_gem5::Port(this, max_size); } |