summaryrefslogtreecommitdiff
path: root/src/systemc/core/sc_port.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-10-07 05:23:49 -0700
committerGabe Black <gabeblack@google.com>2018-10-16 01:12:58 +0000
commite07f7efb75f0f7322d752608eb1cb1e1145b4a98 (patch)
treec70d86ba3130636fd8c6ff3c0d159727b81932c8 /src/systemc/core/sc_port.cc
parent3420f0e223888bf70cd502efb5a534e651891b5c (diff)
downloadgem5-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.cc13
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);
}