summaryrefslogtreecommitdiff
path: root/src/systemc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-11-30 16:57:02 -0800
committerGabe Black <gabeblack@google.com>2018-12-10 06:41:43 +0000
commitd051b9f1dae199087ed1991cfdb5dd01e4758294 (patch)
tree3a71711813abe29d327b6f452658e869599a5175 /src/systemc
parentb18535019126764052395b036f2ec24271d726e5 (diff)
downloadgem5-d051b9f1dae199087ed1991cfdb5dd01e4758294.tar.xz
systemc: Update signals before initing processes.
We were supposed to do one update phase before adding all processes which didn't have dont_initialize() called to the run queue. We were doing that in the opposite order. Change-Id: I6dd4108040d455dc78029da029a2eb5e7af819cb Reviewed-on: https://gem5-review.googlesource.com/c/14915 Reviewed-by: Matthias Jung <jungma@eit.uni-kl.de> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc')
-rw-r--r--src/systemc/core/scheduler.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc
index a2e52f0ca..465da552f 100644
--- a/src/systemc/core/scheduler.cc
+++ b/src/systemc/core/scheduler.cc
@@ -108,6 +108,8 @@ Scheduler::clear()
void
Scheduler::initPhase()
{
+ runUpdate();
+
for (Process *p = initList.getNext(); p; p = initList.getNext()) {
p->popListNode();
@@ -121,7 +123,6 @@ Scheduler::initPhase()
}
}
- runUpdate();
runDelta();
for (auto ets: eventsToSchedule)