diff options
Diffstat (limited to 'src/kern')
-rw-r--r-- | src/kern/system_events.cc | 11 | ||||
-rw-r--r-- | src/kern/tru64/tru64.hh | 2 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/kern/system_events.cc b/src/kern/system_events.cc index fd5c12e44..f3b1bf91d 100644 --- a/src/kern/system_events.cc +++ b/src/kern/system_events.cc @@ -71,15 +71,17 @@ FnEvent::process(ExecContext *xc) void IdleStartEvent::process(ExecContext *xc) { - xc->getCpuPtr()->kernelStats->setIdleProcess( - xc->readMiscReg(AlphaISA::IPR_PALtemp23), xc); + if (xc->getKernelStats()) + xc->getKernelStats()->setIdleProcess( + xc->readMiscReg(AlphaISA::IPR_PALtemp23), xc); remove(); } void InterruptStartEvent::process(ExecContext *xc) { - xc->getCpuPtr()->kernelStats->mode(Kernel::interrupt, xc); + if (xc->getKernelStats()) + xc->getKernelStats()->mode(Kernel::interrupt, xc); } void @@ -87,5 +89,6 @@ InterruptEndEvent::process(ExecContext *xc) { // We go back to kernel, if we are user, inside the rti // pal code we will get switched to user because of the ICM write - xc->getCpuPtr()->kernelStats->mode(Kernel::kernel, xc); + if (xc->getKernelStats()) + xc->getKernelStats()->mode(Kernel::kernel, xc); } diff --git a/src/kern/tru64/tru64.hh b/src/kern/tru64/tru64.hh index 91db5bb84..fff91f8ca 100644 --- a/src/kern/tru64/tru64.hh +++ b/src/kern/tru64/tru64.hh @@ -922,7 +922,7 @@ class Tru64 { for (int i = 0; i < process->numCpus(); ++i) { ExecContext *xc = process->execContexts[i]; - if (xc->status() == ExecContext::Unallocated) { + if (xc->status() == ExecContext::Suspended) { // inactive context... grab it init_exec_context(xc, attrp, uniq_val); |