ARM: omap4: Provide do_wfi() for Thumb-2

For CONFIG_THUMB2_KERNEL, the existing definition of do_wfi() will
insert invalid code into the instruction stream.

Any assembler which can assemble Thumb-2 is guaranteed to accept
the "wfi" mnemonic, so for the Thumb-2 case, just use the mnemonic.

The ARM case is left as-is.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
Dave Martin 2011-03-04 15:33:53 +00:00 committed by Kevin Hilman
parent 2de0baefaa
commit 85243a7624
1 changed files with 4 additions and 0 deletions

View File

@ -17,8 +17,12 @@
* wfi used in low power code. Directly opcode is used instead * wfi used in low power code. Directly opcode is used instead
* of instruction to avoid mulit-omap build break * of instruction to avoid mulit-omap build break
*/ */
#ifdef CONFIG_THUMB2_KERNEL
#define do_wfi() __asm__ __volatile__ ("wfi" : : : "memory")
#else
#define do_wfi() \ #define do_wfi() \
__asm__ __volatile__ (".word 0xe320f003" : : : "memory") __asm__ __volatile__ (".word 0xe320f003" : : : "memory")
#endif
#ifdef CONFIG_CACHE_L2X0 #ifdef CONFIG_CACHE_L2X0
extern void __iomem *l2cache_base; extern void __iomem *l2cache_base;