systemc: Add the nonstandard variable sc_allow_process_control_corners.
authorGabe Black <gabeblack@google.com>
Thu, 14 Jun 2018 23:37:08 +0000 (16:37 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 22 Aug 2018 00:50:50 +0000 (00:50 +0000)
This variable controls what happens in some situations which are left
as undefined in the spec. It's behavior is explained in a big comment
in the Accellera implementation. Since it's used in the regression
tests, we need to at least have that variable so they'll compile and
link properly.

Change-Id: I1ac4592641be3d9dd10e7bf6144704a6fac1b2d4
Reviewed-on: https://gem5-review.googlesource.com/11186
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

src/systemc/core/sc_process_handle.cc
src/systemc/ext/core/sc_process_handle.hh

index 07a07ad97092beaa21ef912d10daddb2318d4407..06fd0b30fb7c5fefb3813e9f709565c940f11f1e 100644 (file)
@@ -278,4 +278,6 @@ sc_is_unwinding()
     return false;
 }
 
+bool sc_allow_process_control_corners;
+
 } // namespace sc_core
index a8f977ba6b0b584043fa86134f2331e76f13f0fa..55fa2b7db3f7feb440fa4c2e888bedc80206d6f8 100644 (file)
@@ -150,6 +150,12 @@ class sc_process_handle
 sc_process_handle sc_get_current_process_handle();
 bool sc_is_unwinding();
 
+// Nonstandard
+// See Accellera's kernel/sim_context.cpp for an explanation of what this is
+// supposed to do. It essentially selects what happens during certain
+// undefined situations.
+extern bool sc_allow_process_control_corners;
+
 } // namespace sc_core
 
 #endif  //__SYSTEMC_EXT_CORE_SC_PROCESS_HANDLE_HH__