summaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-orion.c
diff options
context:
space:
mode:
authorMark Rutland <mark.rutland@arm.com>2014-08-15 13:11:50 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-08-27 16:40:13 +0200
commit2c32c65e3726c773760038910be30cce1b4d4149 (patch)
tree5882204a965a7b819f20bc8cc7ae33088d3bde88 /drivers/irqchip/irq-orion.c
parentARM: 8128/1: abort: don't clear the exclusive monitors (diff)
downloadlinux-2c32c65e3726c773760038910be30cce1b4d4149.tar.xz
linux-2c32c65e3726c773760038910be30cce1b4d4149.zip
ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex
On revisions of Cortex-A15 prior to r3p3, a CLREX instruction at PL1 may falsely trigger a watchpoint exception, leading to potential data aborts during exception return and/or livelock. This patch resolves the issue in the following ways: - Replacing our uses of CLREX with a dummy STREX sequence instead (as we did for v6 CPUs). - Removing the clrex code from v7_exit_coherency_flush and derivatives, since this only exists as a minor performance improvement when non-cached exclusives are in use (Linux doesn't use these). Benchmarking on a variety of ARM cores revealed no measurable performance difference with this change applied, so the change is performed unconditionally and no new Kconfig entry is added. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Cc: stable@vger.kernel.org Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/irqchip/irq-orion.c')
0 files changed, 0 insertions, 0 deletions