Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7461e9cd authored by Gregory CLEMENT's avatar Gregory CLEMENT Committed by Dmitry Shmidt
Browse files

UPSTREAM: ARM: 8408/1: Fix the secondary_startup function in Big Endian case



Since the commit "b2c3e38a5471 ARM: redo TTBR setup code for LPAE",
the setup code had been reworked. As a result the secondary CPUs
failed to come online in Big Endian.

As explained by Russell, the new code expected the value in r4/r5 to
be the least significant 32bits in r4 and the most significant 32bits
in r5. However, in the secondary code, we load this using ldrd, which
on BE reverses that.

This patch swap r4/r5 after the ldrd. It is done using the xor
instructions in order to not use a temporary register.

Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>

Fixes: Change-Id: I0f073a1e7a85621c771cd862f05710c2bde2cead
       ("UPSTREAM: ARM: redo TTBR setup code for LPAE")
(cherry picked from commit 998ef5d81c74c752d74c7925bc370909b84adb9d)
Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
parent 3327bd3f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment