Restoring from a checkpoint fails if either the RTC or the RTC Timer
Interrrupt event is disabled. The restored machine tried incorrectly
to schedule the next event with negative offset.
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
{
assert(!event.scheduled());
assert(!tickEvent.scheduled());
- schedule(event, curTick() + event.offset);
- schedule(tickEvent, curTick() + tickEvent.offset);
+
+ if (stat_regB.pie)
+ schedule(event, curTick() + event.offset);
+ if (!rega_dv_disabled(stat_regA))
+ schedule(tickEvent, curTick() + tickEvent.offset);
}
void