diff --git a/headers/private/kernel/arch/arm/arch_cpu.h b/headers/private/kernel/arch/arm/arch_cpu.h index a165f1ca09..3e557c008c 100644 --- a/headers/private/kernel/arch/arm/arch_cpu.h +++ b/headers/private/kernel/arch/arm/arch_cpu.h @@ -14,6 +14,7 @@ #define isb() __asm__ __volatile__("isb" : : : "memory") #define dsb() __asm__ __volatile__("dsb" : : : "memory") #define dmb() __asm__ __volatile__("dmb" : : : "memory") +#define wfi() __asm__ __volatile__("wfi" : : : "memory") #define set_ac() #define clear_ac() @@ -122,9 +123,7 @@ arch_cpu_pause(void) static inline void arch_cpu_idle(void) { - uint32 Rd = 0; - asm volatile("mcr p15, 0, %[c7format], c7, c0, 4" - : : [c7format] "r" (Rd) ); + wfi(); }