From 2442aae54f1726b63674e47de1b62bf2af847f70 Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Tue, 11 Jun 2013 09:24:10 +0200 Subject: [PATCH] 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. --- src/sim/simulate.cc | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/sim/simulate.cc b/src/sim/simulate.cc index fb785a91f..6962fab9f 100644 --- a/src/sim/simulate.cc +++ b/src/sim/simulate.cc @@ -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;