ARM: mvebu: fix big endian booting after coherency code rework
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@free-electrons.com>
Link: https://lkml.kernel.org/r/1400762882-10116-2-git-send-email-thomas.petazzoni@free-electrons.com
Fixes: 2e8a5942f8
("ARM: mvebu: Split low level functions to manipulate HW coherency")
Reported-by: Kevin Hilman <khilman@linaro.org>
Cc: Kevin Hilman <khilman@linaro.org>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This commit is contained in:
Родитель
8828ccc3f2
Коммит
4fbe63937e
|
@ -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)
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче