Fixes to kernel to get checkpoints to work again.

kern/kernel_stats.cc:
    Serialize idleProcess.
kern/system_events.cc:
    Remove the idle start event once it runs.

--HG--
extra : convert_revision : 05ac574558a88b86ccfce963e4ca9b037a1a8509
This commit is contained in:
Erik Hallnor 2004-10-02 12:34:54 -04:00
parent 72276af49f
commit 810dcca1d1
2 changed files with 3 additions and 0 deletions

View file

@ -294,6 +294,7 @@ Statistics::serialize(ostream &os)
{ {
int exemode = themode; int exemode = themode;
SERIALIZE_SCALAR(exemode); SERIALIZE_SCALAR(exemode);
SERIALIZE_SCALAR(idleProcess);
} }
void void
@ -301,6 +302,7 @@ Statistics::unserialize(Checkpoint *cp, const string &section)
{ {
int exemode; int exemode;
UNSERIALIZE_SCALAR(exemode); UNSERIALIZE_SCALAR(exemode);
UNSERIALIZE_SCALAR(idleProcess);
themode = (cpu_mode)exemode; themode = (cpu_mode)exemode;
} }

View file

@ -70,6 +70,7 @@ void
IdleStartEvent::process(ExecContext *xc) IdleStartEvent::process(ExecContext *xc)
{ {
xc->kernelStats->setIdleProcess(xc->regs.ipr[AlphaISA::IPR_PALtemp23]); xc->kernelStats->setIdleProcess(xc->regs.ipr[AlphaISA::IPR_PALtemp23]);
remove();
} }
void void