Hi All,

 

I'm encountering an "event scheduled in the past" assertion error when
loading a checkpoint using ALPHA_FS.  I believe the specific problem is
the MC146818 model schedules its RTC clock tick event for cycle
1000000000000, but its unserialized function doesn't reschedule it for
the future.  Instead it only reschedules the RTC timer interrupt.  I
tried fixing this problem by adding the following line to the
unserialized function:

 

void

MC146818::unserialize(const string &base, Checkpoint *cp,

                      const string &section)

{

    arrayParamIn(cp, section, base + ".clock_data", clock_data,

                 sizeof(clock_data));

    paramIn(cp, section, base + ".stat_regA", stat_regA);

    paramIn(cp, section, base + ".stat_regB", stat_regB);

 

    // We're not unserializing the event here, but we need to

    // rescehedule the event since curTick was moved forward by the

    // checkpoint

    reschedule(event, curTick + event.interval);

+    reschedule(tickEvent, curTick + tickEvent.when());

}

 

However, when I tried using this fix, I now encounter a cpu break event
later in the execution.  Specific Error:

 

system.cpu.break_event: break event panic triggered

 

I'm pretty unfamiliar with the MC146818 code, so I'm not sure my current
problem was caused by my attempt to fix the MC146818 model or if it
completely unrelated.

 

Any advice you have would be greatly appreciated.

 

Thanks,

 

Brad

_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to