diff options
author | Gabe Black <gabeblack@google.com> | 2018-10-06 04:11:00 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-10-16 01:03:21 +0000 |
commit | e035d680f0051936052ae02c70c8527e194007aa (patch) | |
tree | abbe628745c05ad66cff9f69675600074247cc3d /src/systemc/core/scheduler.cc | |
parent | 226207d43a0897d07448945fab06554b8dfbc684 (diff) | |
download | gem5-e035d680f0051936052ae02c70c8527e194007aa.tar.xz |
systemc: If a process hasn't started, still signal its reset event.
Change-Id: I9c8026cde455070841139d02955f5c083b9e0645
Reviewed-on: https://gem5-review.googlesource.com/c/13314
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/scheduler.cc')
-rw-r--r-- | src/systemc/core/scheduler.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc index d4d70b256..e0a270d4f 100644 --- a/src/systemc/core/scheduler.cc +++ b/src/systemc/core/scheduler.cc @@ -171,6 +171,10 @@ Scheduler::yield() // If the current process needs to be manually started, start it. if (_current && _current->needsStart()) { _current->needsStart(false); + // If a process hasn't started yet, "resetting" it just starts it + // and signals its reset event. + if (_current->inReset()) + _current->resetEvent().notify(); try { _current->run(); } catch (...) { |