summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas@sandberg.pp.se>2013-06-11 09:24:10 +0200
committerAndreas Sandberg <andreas@sandberg.pp.se>2013-06-11 09:24:10 +0200
commit2442aae54f1726b63674e47de1b62bf2af847f70 (patch)
tree5ec4fa62141fe37f8c9a838a1a42a61736ff004b /src/sim
parent0793d0727bf13f3dc1f41ac24cab04f4ab1f6b2a (diff)
downloadgem5-2442aae54f1726b63674e47de1b62bf2af847f70.tar.xz
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.
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/simulate.cc14
1 files changed, 0 insertions, 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;