]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 7678/1: Work around faulty ISAR0 register in some Krait CPUs
authorStepan Moskovchenko <stepanm@codeaurora.org>
Mon, 18 Mar 2013 18:44:16 +0000 (19:44 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 22 Mar 2013 17:16:56 +0000 (17:16 +0000)
commitfdf18b142538f6d6bda4f6bd1b63789fd6cdb835
treea4e97e8a91422e3c76bb2f4b7836724430f3bfd9
parent09b8d5469afe3bdcc832d0a718a7fcbac735d3db
ARM: 7678/1: Work around faulty ISAR0 register in some Krait CPUs

Some early versions of the Krait CPU design incorrectly indicate
that they only support the UDIV and SDIV instructions in Thumb
mode when they actually support them in ARM and Thumb mode. It
seems that these CPUs follow the DDI0406B ARM ARM which has two
possible values for the divide instructions field, instead of the
DDI0406C document which has three possible values.

Work around this problem by checking the MIDR against Krait CPUs
with this faulty ISAR0 register and force the hwcaps to indicate
support in both modes.

[sboyd: Rewrote commit text to reflect real reasoning now that
we autodetect udiv/sdiv]

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/proc-v7.S