ARM: 7946/1: asm: __und_usr_thumb need byteswap instructions in BE case
authorVictor Kamensky <victor.kamensky@linaro.org>
Tue, 21 Jan 2014 05:45:11 +0000 (06:45 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 28 Jan 2014 14:34:02 +0000 (14:34 +0000)
commitf8fe23ec4e89b58e63085ea92348aff3bcca3e14
treec7ecc240b1be5714624b39d08f564fe0b3d33e06
parentb25f3e1c358434bf850220e04f28eebfc45eb634
ARM: 7946/1: asm: __und_usr_thumb need byteswap instructions in BE case

__und_usr_thumb function deals with thumb2 opcodes. In case of BE
image, it needs to byteswap half word thumb2 encoded instructions
before further processing them.

Without this fix BE image user-land thread executing first VFP
instruction encoded in thumb2 fails with SIGILL, because kernel
does not recognize instruction and does not enable VFP.

Reported-by: Corey Melton <comelton@cisco.com>
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/entry-armv.S