Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/12047
Change subject: systemc: Ignore direct requests to mark a process as ready.
......................................................................
systemc: Ignore direct requests to mark a process as ready.
That might happen when a process is being marked as ready at the start
of simulation.
Because the process might not end up on the ready list, displacing it
from the init list, excplicitly pop it off the init list as well.
Change-Id: Iebf972e3e1baedec17b9b99b4da9dd44cd8e6957
---
M src/systemc/core/process.cc
M src/systemc/core/scheduler.cc
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/systemc/core/process.cc b/src/systemc/core/process.cc
index ec5c57c..39ee9e0 100644
--- a/src/systemc/core/process.cc
+++ b/src/systemc/core/process.cc
@@ -325,6 +325,8 @@
void
Process::ready()
{
+ if (disabled())
+ return;
if (suspended())
_suspendedReady = true;
else
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc
index 085602d..7d2e9ef 100644
--- a/src/systemc/core/scheduler.cc
+++ b/src/systemc/core/scheduler.cc
@@ -59,6 +59,7 @@
for (Process *p = initList.getNext(); p; p = initList.getNext()) {
p->finalize();
+ p->popListNode();
p->ready();
}
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/12047
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: Iebf972e3e1baedec17b9b99b4da9dd44cd8e6957
Gerrit-Change-Number: 12047
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev