linux-stable/arch/arm/mach-exynos
Mark Rutland 2c32c65e37 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>
2014-08-27 15:40:13 +01:00
..
include/mach ARM: EXYNOS: Refactored code for using PMU address via DT 2014-07-23 08:20:30 +09:00
common.h ARM: EXYNOS: Refactored code for using PMU address via DT 2014-07-23 08:20:30 +09:00
exynos-smc.S
exynos.c ARM: SoC device-tree changes for 3.17 2014-08-08 11:16:58 -07:00
firmware.c ARM: EXYNOS: Update secondary boot addr for secure mode 2014-07-08 08:03:49 +09:00
headsmp.S ARM: EXYNOS: Remove file path from comment section 2014-07-15 08:40:32 +09:00
hotplug.c ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
Kconfig ACPI and power management updates for 3.17-rc1 2014-08-06 20:34:19 -07:00
Makefile ARM: SoC driver changes 2014-06-02 16:35:49 -07:00
Makefile.boot
mcpm-exynos.c ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex 2014-08-27 15:40:13 +01:00
mfc.h ARM: SAMSUNG: Reorganize calls to reserve memory for MFC 2014-03-21 02:00:09 +09:00
platsmp.c ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
pm.c ARM: EXYNOS: Fix suspend/resume sequences 2014-08-09 08:24:36 -07:00
pm_domains.c ARM: EXYNOS: Remove regs-pmu.h header dependency from pm_domain 2014-07-15 08:40:32 +09:00
pmu.c ARM: EXYNOS: Refactored code for using PMU address via DT 2014-07-23 08:20:30 +09:00
regs-pmu.h ARM: EXYNOS: Refactored code for using PMU address via DT 2014-07-23 08:20:30 +09:00
regs-sys.h ARM: EXYNOS: Move SYSREG definition into sys-reg specific file 2014-07-15 08:40:31 +09:00
sleep.S ARM: l2c: exynos: convert to common l2c310 early resume functionality 2014-05-30 00:49:12 +01:00
smc.h