[PATCH] ARM: Fix the secondary_startup function in Big Endian case

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Aug 6 06:52:58 PDT 2015


On Thu, Aug 06, 2015 at 01:27:32PM +0200, Gregory CLEMENT wrote:
> 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.

Patch looks good to me, thanks.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.



More information about the linux-arm-kernel mailing list