]> git.karo-electronics.de Git - karo-tx-linux.git/commit
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)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 11 May 2012 12:14:44 +0000 (13:14 +0100)
commit28bd5ddf286b858b8148c3de5854cbc00e701229
tree4bff338a576f0b7d689b1efaa75322bb532a95dd
parentfd81c41a855b671788991872ab0a0dcdcc6ee1fa
ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores

commit f0c4b8d653f5ee091fb8d4d02ed7eaad397491bb upstream.

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.

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