Hi,
i'm using CP0_Count/CP0_Compare to get timer interrupts. They should be
turned off while being in kernel mode (performing syscalls / handling
tlb-misses etc) and enabled in user mode.
Whenever a timer interrupt happens in kernel mode, the exception should be
delayed until it is switched back to the user. Up to now I set
CP0_Status(IE) to zero when entering the kernel. Does this allow pending
interrupts or are incoming interrupts totally ignored then ??
The problem that might arise (in the second case) is that CP0_Count reaches
and passes CP0_Compare while interrupts are turned off. Back in user mode,
the running user process would get an unacceptable excessive time slice.
Thanks,
Thomas
--
Telefonieren Sie schon oder sparen Sie noch?
NEU: GMX Phone_Flat http://www.gmx.net/de/go/telefonie
|