summaryrefslogtreecommitdiff
path: root/kern
diff options
context:
space:
mode:
authorErik Hallnor <ehallnor@umich.edu>2004-10-02 12:34:54 -0400
committerErik Hallnor <ehallnor@umich.edu>2004-10-02 12:34:54 -0400
commit810dcca1d105aade81156c8adf0a91b641d35590 (patch)
tree3ce4a210be34c805372a137d47be19943b071449 /kern
parent72276af49f1113649e97074b5b492ad7b5e25837 (diff)
downloadgem5-810dcca1d105aade81156c8adf0a91b641d35590.tar.xz
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
Diffstat (limited to 'kern')
-rw-r--r--kern/kernel_stats.cc2
-rw-r--r--kern/system_events.cc1
2 files changed, 3 insertions, 0 deletions
diff --git a/kern/kernel_stats.cc b/kern/kernel_stats.cc
index c08ee08f7..c0443aa90 100644
--- a/kern/kernel_stats.cc
+++ b/kern/kernel_stats.cc
@@ -294,6 +294,7 @@ Statistics::serialize(ostream &os)
{
int exemode = themode;
SERIALIZE_SCALAR(exemode);
+ SERIALIZE_SCALAR(idleProcess);
}
void
@@ -301,6 +302,7 @@ Statistics::unserialize(Checkpoint *cp, const string &section)
{
int exemode;
UNSERIALIZE_SCALAR(exemode);
+ UNSERIALIZE_SCALAR(idleProcess);
themode = (cpu_mode)exemode;
}
diff --git a/kern/system_events.cc b/kern/system_events.cc
index b6526d193..9acf2f65a 100644
--- a/kern/system_events.cc
+++ b/kern/system_events.cc
@@ -70,6 +70,7 @@ void
IdleStartEvent::process(ExecContext *xc)
{
xc->kernelStats->setIdleProcess(xc->regs.ipr[AlphaISA::IPR_PALtemp23]);
+ remove();
}
void