sim: Make the drain state a global typed enum
The drain state enum is currently a part of the Drainable interface. The same state machine will be used by the DrainManager to identify the global state of the simulator. Make the drain state a global typed enum to better cater for this usage scenario.
This commit is contained in:
6
src/mem/cache/mshr_queue.cc
vendored
6
src/mem/cache/mshr_queue.cc
vendored
@@ -186,7 +186,7 @@ MSHRQueue::deallocateOne(MSHR *mshr)
|
||||
DPRINTF(Drain, "MSHRQueue now empty, signalling drained\n");
|
||||
drainManager->signalDrainDone();
|
||||
drainManager = NULL;
|
||||
setDrainState(Drainable::Drained);
|
||||
setDrainState(DrainState::Drained);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
@@ -269,11 +269,11 @@ unsigned int
|
||||
MSHRQueue::drain(DrainManager *dm)
|
||||
{
|
||||
if (allocated == 0) {
|
||||
setDrainState(Drainable::Drained);
|
||||
setDrainState(DrainState::Drained);
|
||||
return 0;
|
||||
} else {
|
||||
drainManager = dm;
|
||||
setDrainState(Drainable::Draining);
|
||||
setDrainState(DrainState::Draining);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user