aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2010-08-05 06:20:51 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-08-10 17:10:54 -0400
commitcdf357f1e13a08a11261edacb3083746f65c1ed9 (patch)
treebb49c4536929906b69f6e99e2457fc2ccc7944d9 /arch/arm/Kconfig
parent988257cfcbc468cb26b3addfcab1d0187c4e2399 (diff)
ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID
On versions of the Cortex-A9 prior to r2p0, performing TLB invalidations by ASID match can result in the incorrect ASID being broadcast to other CPUs. As a consequence of this, the targetted TLB entries are not invalidated across the system. This workaround changes the TLB flushing routines to invalidate entries regardless of the ASID. Cc: <stable@kernel.org> Tested-by: Rob Clark <rob@ti.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 232f0c758252..e3956042892c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1040,6 +1040,18 @@ config PL310_ERRATA_588369
1040 is not correctly implemented in PL310 as clean lines are not 1040 is not correctly implemented in PL310 as clean lines are not
1041 invalidated as a result of these operations. Note that this errata 1041 invalidated as a result of these operations. Note that this errata
1042 uses Texas Instrument's secure monitor api. 1042 uses Texas Instrument's secure monitor api.
1043
1044config ARM_ERRATA_720789
1045 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
1046 depends on CPU_V7 && SMP
1047 help
1048 This option enables the workaround for the 720789 Cortex-A9 (prior to
1049 r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1050 broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1051 As a consequence of this erratum, some TLB entries which should be
1052 invalidated are not, resulting in an incoherency in the system page
1053 tables. The workaround changes the TLB flushing routines to invalidate
1054 entries regardless of the ASID.
1043endmenu 1055endmenu
1044 1056
1045source "arch/arm/common/Kconfig" 1057source "arch/arm/common/Kconfig"