/* The idle thread. There's no useful work to be done, so just try to conserve power and have a low exit latency (ie sit in a loop waiting for somebody to say that they'd like to reschedule)  */
void cpu_idle(void)
/* The idle thread. There's no useful work to be done, so just try to conserve power and have a low exit latency (ie sit in a loop waiting for somebody to say that they'd like to reschedule)  */
void cpu_idle(void)
{
	while (1) {
		while (!need_resched()) {
			check_pgt_cache();
			if (!frv_dma_inprogress && idle)
				idle();
		}
		preempt_enable_no_resched();
		schedule();
		preempt_disable();
	}
}