summaryrefslogtreecommitdiff
path: root/src/systemc/core/process.hh
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-07-18 20:59:56 -0700
committerGabe Black <gabeblack@google.com>2018-09-05 06:09:21 +0000
commit743a1b5cdd8e607f2e1bb5ad182047c512eae3f8 (patch)
tree646432533f331db140547ac1cb4f60feda5928bd /src/systemc/core/process.hh
parent91a6b128198515a7a29ee766715c9a1fe1bf7b0c (diff)
downloadgem5-743a1b5cdd8e607f2e1bb5ad182047c512eae3f8.tar.xz
systemc: Implement pending activity related functions
Track the number of notifications/timeouts that are scheduled at any given time. This lets us implement sc_pending_activity_at_current_time, sc_pending_activity_at_future_time, and sc_time_to_pending_activity. Change-Id: Ia3fcd29bdbfe1a6c77eb52ce4836982d4705263c Reviewed-on: https://gem5-review.googlesource.com/12032 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/process.hh')
-rw-r--r--src/systemc/core/process.hh8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/systemc/core/process.hh b/src/systemc/core/process.hh
index 7c75d6244..afdbb3798 100644
--- a/src/systemc/core/process.hh
+++ b/src/systemc/core/process.hh
@@ -66,8 +66,10 @@ class Sensitivity
class SensitivityTimeout : virtual public Sensitivity
{
private:
- EventWrapper<Sensitivity, &Sensitivity::notify> timeoutEvent;
- ::sc_core::sc_time timeout;
+ void timeout();
+ EventWrapper<SensitivityTimeout,
+ &SensitivityTimeout::timeout> timeoutEvent;
+ ::sc_core::sc_time time;
public:
SensitivityTimeout(Process *p, ::sc_core::sc_time t);
@@ -98,7 +100,7 @@ class SensitivityEventAndList : virtual public Sensitivity
Process *p, const ::sc_core::sc_event_and_list *list);
~SensitivityEventAndList();
- virtual void notifyWork(Event *e) override;
+ void notifyWork(Event *e) override;
};
class SensitivityEventOrList : virtual public Sensitivity