[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linaro-kernel
Subject:    [PATCH 1/2] ARM: EXYNOS: Fix hotplug wfi instruction in BE case
From:       Victor Kamensky <victor.kamensky () linaro ! org>
Date:       2014-03-28 23:57:07
Message-ID: 1396051028-3855-2-git-send-email-victor.kamensky () linaro ! org
[Download RAW message or body]

It is not clear why original code use numeric opcode
for wfi instruction. Maybe toolchain used in that time
did not understand this mnemonics.

Using direct opcode has the following problems:
  x) does not work in BE case; in BE8 case instructions
  are still little endian, so in BE image opcode
  should be byte swapped
  x) ARM opcode does not work in case
  CONFIG_THUMB2_KERNEL kernel even in LE case.

Solution is to replace numeric opcode with proper
wfi asm mnemonics.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
---
 arch/arm/mach-exynos/hotplug.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c
index 4365ec8..f756a3e 100644
--- a/arch/arm/mach-exynos/hotplug.c
+++ b/arch/arm/mach-exynos/hotplug.c
@@ -101,7 +101,7 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious)
 		/*
 		 * here's the WFI
 		 */
-		asm(".word	0xe320f003\n"
+		asm("wfi\n"
 		    :
 		    :
 		    : "memory", "cc");
-- 
1.8.1.4


_______________________________________________
linaro-kernel mailing list
linaro-kernel@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-kernel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic