systemc: Add the nonstandard, undocumented halt function.

Used in the tests.

Change-Id: I9b4f10600a50e0def1b5d55428cb4ad49e401295
Reviewed-on: https://gem5-review.googlesource.com/11263
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-06-15 17:29:44 -07:00
parent 00b411d8d2
commit 05e4878798
3 changed files with 22 additions and 0 deletions

View File

@@ -370,6 +370,13 @@ sc_module::wait(double, sc_time_unit, const sc_event_and_list &)
}
void
sc_module::halt()
{
warn("%s not implemented.\n", __PRETTY_FUNCTION__);
}
void
next_trigger()
{
@@ -521,6 +528,12 @@ wait(double, sc_time_unit, const sc_event_and_list &)
warn("%s not implemented.\n", __PRETTY_FUNCTION__);
}
void
halt()
{
warn("%s not implemented.\n", __PRETTY_FUNCTION__);
}
const char *
sc_gen_unique_name(const char *)
{

View File

@@ -87,6 +87,7 @@ using sc_core::SC_BIND_PROXY_NIL;
using sc_core::sc_module;
using sc_core::next_trigger;
using sc_core::wait;
using sc_core::halt;
using sc_core::sc_gen_unique_name;
using sc_core::sc_behavior;
using sc_core::sc_channel;

View File

@@ -186,6 +186,8 @@ class sc_module : public sc_object
void wait(const sc_time &, const sc_event_and_list &);
void wait(double, sc_time_unit, const sc_event_and_list &);
void halt();
virtual void before_end_of_elaboration() {}
virtual void end_of_elaboration() {}
virtual void start_of_simulation() {}
@@ -236,6 +238,12 @@ void wait(double, sc_time_unit, const sc_event_and_list &);
#define SC_THREAD(name) /* Implementation defined */
#define SC_CTHREAD(name, clk) /* Implementation defined */
// Nonstandard
// Documentation for this is very scarce, but it looks like it's supposed to
// stop the currently executing cthread, or if a cthread isn't running report
// an error.
void halt();
const char *sc_gen_unique_name(const char *);
typedef sc_module sc_behavior;