The ARM doesn't actually say that the WFI instruction will return
immediately if CPSR.I is clear and an instruction is pending, but
this seems to match up with how linux uses it.
Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
if ( cpu_is_offline(smp_processor_id()) )
stop_cpu();
- /* TODO: (*pm_idle)(); */
+ local_irq_disable();
+ if ( cpu_is_haltable(smp_processor_id()) )
+ asm volatile ("dsb; wfi");
+ local_irq_enable();
+
do_tasklet();
do_softirq();
}