Gabe Black has submitted this change and it was merged. ( https://gem5-review.googlesource.com/c/public/gem5/+/13314 )

Change subject: systemc: If a process hasn't started, still signal its reset event.
......................................................................

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 <[email protected]>
Maintainer: Gabe Black <[email protected]>
---
M src/systemc/core/process.hh
M src/systemc/core/scheduler.cc
2 files changed, 6 insertions(+), 2 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved



diff --git a/src/systemc/core/process.hh b/src/systemc/core/process.hh
index 86ca674..d50c829 100644
--- a/src/systemc/core/process.hh
+++ b/src/systemc/core/process.hh
@@ -97,8 +97,8 @@
     void incref() { refCount++; }
     void decref() { refCount--; }

-    const ::sc_core::sc_event &resetEvent() { return _resetEvent; }
- const ::sc_core::sc_event &terminatedEvent() { return _terminatedEvent; }
+    ::sc_core::sc_event &resetEvent() { return _resetEvent; }
+    ::sc_core::sc_event &terminatedEvent() { return _terminatedEvent; }

     void setStackSize(size_t size) { stackSize = size; }

diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc
index d4d70b2..e0a270d 100644
--- a/src/systemc/core/scheduler.cc
+++ b/src/systemc/core/scheduler.cc
@@ -171,6 +171,10 @@
         // 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 (...) {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/13314
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I9c8026cde455070841139d02955f5c083b9e0645
Gerrit-Change-Number: 13314
Gerrit-PatchSet: 4
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Matthias Jung <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to