From d051b9f1dae199087ed1991cfdb5dd01e4758294 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 30 Nov 2018 16:57:02 -0800 Subject: 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 Maintainer: Gabe Black --- src/systemc/core/scheduler.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3