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 Reviewed-on: https://gem5-review.googlesource.com/12047 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -325,6 +325,8 @@ Process::satisfySensitivity(Sensitivity *s)
|
||||
void
|
||||
Process::ready()
|
||||
{
|
||||
if (disabled())
|
||||
return;
|
||||
if (suspended())
|
||||
_suspendedReady = true;
|
||||
else
|
||||
|
||||
@@ -59,6 +59,7 @@ Scheduler::prepareForInit()
|
||||
|
||||
for (Process *p = initList.getNext(); p; p = initList.getNext()) {
|
||||
p->finalize();
|
||||
p->popListNode();
|
||||
p->ready();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user