summaryrefslogtreecommitdiff
path: root/src/systemc/core/scheduler.hh
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-08-16 14:42:24 -0700
committerGabe Black <gabeblack@google.com>2018-09-20 01:51:29 +0000
commit7bfb7f3a43f382eb49853f47b140bfd6caad0fb8 (patch)
tree9f6dc20f5cafc65c6b4a0088c7d1b2a1f0051749 /src/systemc/core/scheduler.hh
parente1128dc8eb4afefcf4dad5eb5f863e0da921960a (diff)
downloadgem5-7bfb7f3a43f382eb49853f47b140bfd6caad0fb8.tar.xz
systemc: When sc_start is told to run zero time, do one delta cycle.
This is a special case which is mentioned in the spec but hadn't yet been given any special handling in this implementation. Change-Id: I500d046f09d916a08e22821f8d3e2f490f8ba5bb Reviewed-on: https://gem5-review.googlesource.com/12212 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/scheduler.hh')
-rw-r--r--src/systemc/core/scheduler.hh2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/systemc/core/scheduler.hh b/src/systemc/core/scheduler.hh
index 983c53fde..661a36b78 100644
--- a/src/systemc/core/scheduler.hh
+++ b/src/systemc/core/scheduler.hh
@@ -269,6 +269,7 @@ class Scheduler
void setScMainFiber(Fiber *sc_main) { scMain = sc_main; }
void start(Tick max_tick, bool run_to_time);
+ void oneCycle();
void schedulePause();
void scheduleStop(bool finish_delta);
@@ -323,6 +324,7 @@ class Scheduler
bool initReady;
bool runToTime;
+ bool runOnce;
ProcessList initList;
ProcessList toFinalize;