Index: kernel/arch/arm32/include/asm.h
===================================================================
--- kernel/arch/arm32/include/asm.h	(revision 2a77eaa2dc1564da07e280c7bd399831905c9223)
+++ kernel/arch/arm32/include/asm.h	(revision f65b8e0c51d255e052c05d720a1d5c24587690cf)
@@ -50,11 +50,15 @@
  * ARM926EJ-S uses the same coprocessor instruction as ARM920T. See ARM926EJ-S
  * chapter 2.3.8 p.2-22 (52 in the PDF)
+ *
+ * @note Although mcr p15, 0, R0, c7, c0, 4 is defined in ARM Architecture
+ * reference manual for armv4/5 CP15 implementation is mandatory only for
+ * armv6+.
  */
 NO_TRACE static inline void cpu_sleep(void)
 {
 #ifdef PROCESSOR_ARCH_armv7_a
-	asm volatile ( "wfe" :: );
-#elif defined(MACHINE_gta02) | defined(MACHINE_integratorcp)
-	asm volatile ( "mcr p15,0,R0,c7,c0,4" :: );
+	asm volatile ( "wfe" );
+#elif defined(PROCESSOR_ARCH_armv6) | defined(PROCESSOR_arm926ej_s) | defined(PROCESSOR_arm920t)
+	asm volatile ( "mcr p15, 0, R0, c7, c0, 4" );
 #endif
 }
