diff -r 8225d43e904c -r 8733f4dc09fc src/cpu/o3/cpu.cc --- a/src/cpu/o3/cpu.cc Fri Jul 16 21:23:23 2010 +0100 +++ b/src/cpu/o3/cpu.cc Fri Jul 16 21:23:38 2010 +0100 @@ -1143,7 +1143,7 @@ iew.takeOverFrom(); commit.takeOverFrom(); - assert(!tickEvent.scheduled()); + assert(!tickEvent.scheduled() || tickEvent.squashed()); // @todo: Figure out how to properly select the tid to put onto // the active threads list. @@ -1168,7 +1168,7 @@ ThreadContext *tc = threadContexts[i]; if (tc->status() == ThreadContext::Active && _status != Running) { _status = Running; - schedule(tickEvent, nextCycle()); + reschedule(tickEvent, nextCycle(), true); } } if (!tickEvent.scheduled())