summaryrefslogtreecommitdiff
path: root/src/systemc/core/process.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-07-25 19:30:30 -0700
committerGabe Black <gabeblack@google.com>2018-09-11 21:48:32 +0000
commitea6b370fe79e043ed949033f9f3a4306b668aa94 (patch)
tree199b1796e5ea9a12d2464d8b62fb7c7848fd229b /src/systemc/core/process.cc
parent802efef3c40a028b0048bc4b8985dcc9bf64322f (diff)
downloadgem5-ea6b370fe79e043ed949033f9f3a4306b668aa94.tar.xz
systemc: Implement most of the sc_report_handler mechanism.
This doesn't include support for the deprecated integer message ids. Change-Id: I309d58df1cdc464428189eb0b7180edf41ca4f67 Reviewed-on: https://gem5-review.googlesource.com/12048 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/process.cc')
-rw-r--r--src/systemc/core/process.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/systemc/core/process.cc b/src/systemc/core/process.cc
index 39ee9e051..6a0e7d5a3 100644
--- a/src/systemc/core/process.cc
+++ b/src/systemc/core/process.cc
@@ -333,6 +333,19 @@ Process::ready()
scheduler.ready(this);
}
+void
+Process::lastReport(::sc_core::sc_report *report)
+{
+ if (report) {
+ _lastReport = std::unique_ptr<::sc_core::sc_report>(
+ new ::sc_core::sc_report(*report));
+ } else {
+ _lastReport = nullptr;
+ }
+}
+
+::sc_core::sc_report *Process::lastReport() const { return _lastReport.get(); }
+
Process::Process(const char *name, ProcessFuncWrapper *func,
bool _dynamic, bool needs_start) :
::sc_core::sc_object(name), excWrapper(nullptr), func(func),