linux/arch/arm
Will Deacon f0c4b8d653 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>
2012-04-23 14:21:52 +01:00
..
boot Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2012-04-15 17:35:19 -07:00
common ARM: 7377/1: vic: re-read status register before dispatching each IRQ handler 2012-04-10 09:27:42 +01:00
configs Merge branch 'fixes-for-arm-soc-20120416' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes 2012-04-18 21:28:16 -07:00
include/asm ARM: 7386/1: jump_label: fixup for rename to static_key 2012-04-15 22:00:31 +01:00
kernel Revert "ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus" 2012-04-19 19:35:10 +01:00
lib ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts 2012-01-25 11:07:40 +00:00
mach-at91 ARM: at91: fix at91sam9261ek Ethernet dm9000 irq 2012-04-16 11:08:26 +02:00
mach-bcmring ARM: bcmring: fix UART declarations 2012-04-18 21:21:45 -07:00
mach-clps711x ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-cns3xxx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-davinci Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-03-30 16:45:39 -07:00
mach-dove ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-ebsa110 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-ep93xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-exynos ARM: EXYNOS: Fix Kconfig dependencies for device tree enabled machine files 2012-04-14 07:53:51 -07:00
mach-footbridge ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-gemini ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mach-h720x ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-highbank ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-imx ARM: imx: Fix imx5 idle logic bug 2012-04-18 11:52:24 +02:00
mach-integrator ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-iop13xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-iop32x ARM: kill off __mem_pci 2012-03-06 21:34:45 -06:00
mach-iop33x ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-ixp4xx ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-ixp23xx ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-ixp2000 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-kirkwood Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-03-30 16:45:39 -07:00
mach-ks8695 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-l7200/include/mach
mach-lpc32xx ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
mach-mmp ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-msm ARM: msm: Fix section mismatches in proc_comm.c 2012-04-13 10:23:17 -07:00
mach-mv78xx0 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-mxs MTD merge for 3.4 2012-03-30 17:31:56 -07:00
mach-netx ARM: __io abuse cleanup 2012-03-13 21:25:21 -05:00
mach-nomadik ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-omap1 ARM: OMAP1: DMTIMER: fix broken timer clock source selection 2012-04-17 15:30:16 -07:00
mach-omap2 ARM: SoC fixes for 3.4-rc 2012-04-21 12:45:52 -07:00
mach-orion5x ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-picoxcell ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-pnx4008 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-prima2 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-pxa ARM: fix __io macro for PCMCIA 2012-04-05 11:29:55 -07:00
mach-realview ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-rpc ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s3c24xx ARM: S3C24XX: fix missing common.h in mach-s3c24xx/ 2012-04-02 06:43:23 +09:00
mach-s3c64xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s3c2410 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s3c2412 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s3c2440 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s5p64x0 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s5pc100 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s5pv210 ARM: S5PV210: Fix compiler warning in dma.c file 2012-04-10 08:40:19 -07:00
mach-sa1100 ARM: fix lcd power build failure in collie_defconfig 2012-04-02 22:03:44 -07:00
mach-shark ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-shmobile MTD merge for 3.4 2012-03-30 17:31:56 -07:00
mach-spear3xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-spear6xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-tegra ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
mach-u300 MTD merge for 3.4 2012-03-30 17:31:56 -07:00
mach-ux500 ARM: ux500: Fix unmet direct dependency 2012-04-16 09:00:37 +02:00
mach-versatile ARM: versatile: fix build failure in pci.c 2012-04-02 22:03:35 -07:00
mach-vexpress ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-vt8500 ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mach-w90x900 ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-zynq ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mm ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores 2012-04-23 14:21:52 +01:00
net ARM: 7259/3: net: JIT compiler for packet filters 2012-03-24 09:38:56 +00:00
nwfpe Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
oprofile oprofile, arm/sh: Fix oprofile_arch_exit() linkage issue 2011-12-23 11:58:34 +01:00
plat-iop Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
plat-mxc ARM: 3ds_debugboard: Fix smsc911x driver probe 2012-04-02 11:15:15 +02:00
plat-nomadik Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
plat-omap Fix regression for bad uart muxing and oops when PM is not set. 2012-04-18 21:24:00 -07:00
plat-orion ARM: orion: wdt: use resource vice direct access 2012-03-16 04:28:41 +00:00
plat-pxa Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
plat-s3c24xx ARM: fix builds due to missing <asm/system_misc.h> includes 2012-03-30 15:44:40 -07:00
plat-s5p Merge branch 'samsung/cleanup-exynos-clock' into next/soc 2012-03-20 10:07:48 +00:00
plat-samsung ARM: SAMSUNG: make SAMSUNG_PM_DEBUG select DEBUG_LL 2012-04-14 07:42:24 -07:00
plat-spear Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-03-29 23:17:44 -07:00
plat-versatile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
tools ARM: Update mach-types 2011-12-23 22:58:10 +00:00
vfp Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
Kconfig ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores 2012-04-23 14:21:52 +01:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00