[PATCH 1/4] ARM: mvebu: fix big endian booting after coherency code rework
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu May 22 05:47:59 PDT 2014
As part of the introduction of the cpuidle support for Armada XP, the
coherency code was significantly reworked, especially in the
coherency_ll.S file. However, when the ll_get_cpuid function was
created, the big-endian specific code that switches the endianess of
the register was not updated properly.
This patch fixes this code, and therefore makes big endian systems
bootable again.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Fixes: 2e8a5942f875 ("ARM: mvebu: Split low level functions to manipulate HW coherency")
Reported-by: Kevin Hilman <khilman at linaro.org>
Cc: Kevin Hilman <khilman at linaro.org>
---
Jason, the offending commit is only scheduled for 3.16, so there is no
need to push this patch for 3.15 or stable.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
arch/arm/mach-mvebu/coherency_ll.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-mvebu/coherency_ll.S b/arch/arm/mach-mvebu/coherency_ll.S
index 6828f9f..a5e62c6 100644
--- a/arch/arm/mach-mvebu/coherency_ll.S
+++ b/arch/arm/mach-mvebu/coherency_ll.S
@@ -49,7 +49,7 @@ ENTRY(ll_get_cpuid)
and r3, r3, #15
mov r2, #(1 << 24)
lsl r3, r2, r3
-ARM_BE8(rev r1, r1)
+ARM_BE8(rev r3, r3)
mov pc, lr
ENDPROC(ll_get_cpuid)
--
1.9.3
More information about the linux-arm-kernel
mailing list