diff options
author | Gabe Black <gabeblack@google.com> | 2018-06-29 16:46:52 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-09-05 06:02:51 +0000 |
commit | 4bd389c9d0370d67464c2a508381abe326de3bdf (patch) | |
tree | 57fb22c26e1df3c0ebe49d406b89f6940217baa4 /src/systemc/ext/core/sc_sensitive.hh | |
parent | aaf0c47c972d3811314db93f0fe1ababf4c408f1 (diff) | |
download | gem5-4bd389c9d0370d67464c2a508381abe326de3bdf.tar.xz |
systemc: Fill out sc_process_handle and create Process classes.
The sc_process_handle class now primarily delegates to a Process object
it points at. The Process object does book keeping as far as its
internal state, but doesn't yet have a way to run its target function
or to schedule itself or inject exceptions into its context of
execution.
Change-Id: I98389778abe29aa26e3e3a91bf02e6721acc8a9c
Reviewed-on: https://gem5-review.googlesource.com/11613
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/ext/core/sc_sensitive.hh')
-rw-r--r-- | src/systemc/ext/core/sc_sensitive.hh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/systemc/ext/core/sc_sensitive.hh b/src/systemc/ext/core/sc_sensitive.hh index 62f18b6d2..72d401f68 100644 --- a/src/systemc/ext/core/sc_sensitive.hh +++ b/src/systemc/ext/core/sc_sensitive.hh @@ -30,12 +30,20 @@ #ifndef __SYSTEMC_EXT_CORE_SC_SENSITIVE_HH__ #define __SYSTEMC_EXT_CORE_SC_SENSITIVE_HH__ +namespace sc_gem5 +{ + +class Process; + +} // namespace sc_gem5 + namespace sc_core { class sc_event; class sc_event_finder; class sc_interface; +class sc_module; class sc_port_base; class sc_sensitive @@ -45,6 +53,20 @@ class sc_sensitive sc_sensitive &operator << (const sc_interface &); sc_sensitive &operator << (const sc_port_base &); sc_sensitive &operator << (sc_event_finder &); + + sc_sensitive &operator << (::sc_gem5::Process *p); + + private: + friend class sc_module; + + // Install all the static events which may not have been ready at + // construction time, like the default_event of the peer of an unbound + // port. + void finalize(); + + sc_sensitive(); + + ::sc_gem5::Process *currentProcess; }; } // namespace sc_core |