diff -r 18bfdc199fd7 -r 926cfdcf6836 src/cpu/simple/timing.hh --- a/src/cpu/simple/timing.hh Sun Aug 18 16:37:17 2013 +0100 +++ b/src/cpu/simple/timing.hh Sun Aug 18 16:40:34 2013 +0100 @@ -320,11 +320,14 @@ * of a gem5 microcode sequence. * *
  • Stay at PC is true. + * + *
  • A fetch event is scheduled. Normally this would never be the + case with microPC() == 0, but right after a context is + activated it can happen. * */ bool isDrained() { - return microPC() == 0 && - !stayAtPC; + return microPC() == 0 && !stayAtPC && !fetchEvent.scheduled(); } /** diff -r 18bfdc199fd7 -r 926cfdcf6836 src/cpu/simple/timing.cc --- a/src/cpu/simple/timing.cc Sun Aug 18 16:37:17 2013 +0100 +++ b/src/cpu/simple/timing.cc Sun Aug 18 16:40:34 2013 +0100 @@ -109,7 +109,6 @@ if (_status == Idle || (_status == BaseSimpleCPU::Running && isDrained())) { - assert(!fetchEvent.scheduled()); DPRINTF(Drain, "No need to drain.\n"); return 0; } else {