ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores
authorWill Deacon <will.deacon@arm.com>
Fri, 20 Apr 2012 16:20:08 +0000 (17:20 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 23 Apr 2012 13:21:52 +0000 (14:21 +0100)
commitf0c4b8d653f5ee091fb8d4d02ed7eaad397491bb
treecc7f1d1be2354dee506453f63f92a878384f30a8
parente895bd7992df1ebd1e0c28f7965520482bc83b74
ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores

Erratum #326103 ("FSR write bit incorrect on a SWP to read-only memory")
only affects the ARM 1136 core prior to r1p0. The workaround
disassembles the faulting instruction to determine whether it was a read
or write access on all v6 cores.

An issue has been reported on the ARM 11MPCore whereby loading the
faulting instruction may happen in parallel with that page being
unmapped, resulting in a deadlock due to the lack of TLB broadcasting
in hardware:

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091561.html

This patch limits the workaround so that it is only used on affected
cores, which are known to be UP only. Other v6 cores can rely on the
FSR to indicate the access type correctly.

Cc: stable@vger.kernel.org
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Kconfig
arch/arm/mm/abort-ev6.S