sim: Revert [34e3295b0e39] (sim: Fix early termination in mult...)

HG changset 34e3295b0e39 introduced a check in the main simulation
loop that discards exit events that happen at the same tick as another
exit event. This was supposed to fix a problem where a simulation
script got confused by multiple exit events. This obviously breaks the
simulator since it can hide important simulation events, such as a
simulation failure, that happen at the same time as a non-fatal
simulation event.
This commit is contained in:
Andreas Sandberg 2013-06-11 09:24:10 +02:00
parent 0793d0727b
commit 2442aae54f

View file

@ -44,10 +44,6 @@
* terminate the loop. Exported to Python via SWIG.
* @return The SimLoopExitEvent that caused the loop to exit.
*/
// record the clock cycle for last exit event
Tick lastExitTick = 0;
SimLoopExitEvent *
simulate(Tick num_cycles)
{
@ -71,16 +67,6 @@ simulate(Tick num_cycles)
Event *exit_event = mainEventQueue.serviceOne();
if (exit_event != NULL) {
/*
* if there are multiple exit events in the same cycle, drain the
* following exit events since gem5 only allows one * exit event in
* a cycle
*/
if (lastExitTick == curTick())
continue;
else
lastExitTick = curTick();
// hit some kind of exit event; return to Python
// event must be subclass of SimLoopExitEvent...
SimLoopExitEvent *se_event;