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:
parent
72276af49f
commit
810dcca1d1
|
@ -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 §ion)
|
||||||
{
|
{
|
||||||
int exemode;
|
int exemode;
|
||||||
UNSERIALIZE_SCALAR(exemode);
|
UNSERIALIZE_SCALAR(exemode);
|
||||||
|
UNSERIALIZE_SCALAR(idleProcess);
|
||||||
themode = (cpu_mode)exemode;
|
themode = (cpu_mode)exemode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue