Gabe Black has submitted this change and it was merged. ( https://gem5-review.googlesource.com/c/public/gem5/+/11351 )

Change subject: systemc: Add a minimal version of the deprecated sc_process_b.
......................................................................

systemc: Add a minimal version of the deprecated sc_process_b.

This type is deprecated, but some tests still rely on it. This change
adds just enough of it to satisfy the tests, and also the several
different mechanisms for retrieving the sc_process_b which refers to
the currently active process.

Change-Id: Id122ae5df23744b5de1e1c97573412f97a73b77a
Reviewed-on: https://gem5-review.googlesource.com/11351
Reviewed-by: Gabe Black <[email protected]>
Maintainer: Gabe Black <[email protected]>
---
M src/systemc/core/sc_process_handle.cc
M src/systemc/ext/core/_using.hh
M src/systemc/ext/core/sc_process_handle.hh
M src/systemc/tests/working.filt
4 files changed, 57 insertions(+), 4 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved



diff --git a/src/systemc/core/sc_process_handle.cc b/src/systemc/core/sc_process_handle.cc
index 06fd0b3..cf81f9f 100644
--- a/src/systemc/core/sc_process_handle.cc
+++ b/src/systemc/core/sc_process_handle.cc
@@ -63,6 +63,29 @@
 }


+const char *
+sc_process_b::name()
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return "";
+}
+
+const char *
+sc_process_b::kind()
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return "";
+}
+
+
+sc_process_b *
+sc_get_curr_process_handle()
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return nullptr;
+}
+
+
 sc_process_handle::sc_process_handle()
 {
     warn("%s not implemented.\n", __PRETTY_FUNCTION__);
diff --git a/src/systemc/ext/core/_using.hh b/src/systemc/ext/core/_using.hh
index efc6341..255df33 100644
--- a/src/systemc/ext/core/_using.hh
+++ b/src/systemc/ext/core/_using.hh
@@ -124,6 +124,11 @@
 using sc_core::SC_NO_DESCENDANTS;
 using sc_core::SC_INCLUDE_DESCENDANTS;
 using sc_core::sc_unwind_exception;
+using sc_core::sc_process_b;
+using sc_core::sc_get_curr_process_handle;
+using sc_core::sc_get_current_process_b;
+using sc_core::sc_curr_proc_info;
+using sc_core::sc_curr_proc_handle;
 using sc_core::sc_process_handle;
 using sc_core::sc_get_current_process_handle;
 using sc_core::sc_is_unwinding;
diff --git a/src/systemc/ext/core/sc_process_handle.hh b/src/systemc/ext/core/sc_process_handle.hh
index 55fa2b7..e577b9e 100644
--- a/src/systemc/ext/core/sc_process_handle.hh
+++ b/src/systemc/ext/core/sc_process_handle.hh
@@ -77,6 +77,34 @@
     sc_unwind_exception();
 };

+// Deprecated
+// An incomplete version of sc_process_b to satisfy the tests.
+class sc_process_b
+{
+  public:
+    const char *file;
+    int lineno;
+    const char *name();
+    const char *kind();
+};
+
+// Deprecated
+sc_process_b *sc_get_curr_process_handle();
+static inline sc_process_b *
+sc_get_current_process_b()
+{
+    return sc_get_curr_process_handle();
+}
+
+// Deprecated/nonstandard
+struct sc_curr_proc_info
+{
+    sc_process_b *process_handle;
+    sc_curr_proc_kind kind;
+    sc_curr_proc_info() : process_handle(NULL), kind(SC_NO_PROC_) {}
+};
+typedef const sc_curr_proc_info *sc_curr_proc_handle;
+
 class sc_process_handle
 {
   private:
diff --git a/src/systemc/tests/working.filt b/src/systemc/tests/working.filt
index 9604768..801a051 100644
--- a/src/systemc/tests/working.filt
+++ b/src/systemc/tests/working.filt
@@ -8,10 +8,6 @@
 path.startswith("systemc/tracing/wif_trace"),
 path.startswith("systemc/misc/stars/wif_trace"),

-# These tests refers to sc_get_current_process_b which is a deprecated type and
-# something we're not currently planning to support.
-path.startswith("systemc/kernel/sc_process_b"),
-
# Phase callbacks are an experimental feature. Also calling all the interested
 # sc_objects whenever time advances would add a non-trivial amount of
 # complexity and is probably not worth implementing in general.
@@ -22,6 +18,7 @@
     # Uses sc_get_curr_simcontext.
     "systemc/kernel/sc_object_manager/test01",
     "systemc/kernel/sc_name_gen/test1",
+    "systemc/kernel/sc_process_b/test2",

     # Uses sc_elab_and_sim.
     "systemc/kernel/sc_main_main",

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/11351
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Id122ae5df23744b5de1e1c97573412f97a73b77a
Gerrit-Change-Number: 11351
Gerrit-PatchSet: 8
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Matthias Jung <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to