aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2010-09-14 04:51:43 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-09-17 05:16:51 -0400
commit9f05027c7cb3cfe56a31892bd83391138d41a667 (patch)
treeefe9361be8e1b8d78ff44ef13a1e46e1a4b9b23a /arch/arm/Kconfig
parent6491848d1ab246f6d243ddef25085fc1d836ff2c (diff)
ARM: 6388/1: errata: DMB operation may be faulty
On versions of the Cortex-A9 up to and including r2p2, under rare circumstances, a DMB instruction between 2 write operations may not ensure the correct visibility ordering of the 2 writes. This workaround sets a bit in the diagnostic register of the Cortex-A9, causing the DMB instruction to behave like a DSB, which functions correctly on the affected cores. 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 553b7cf17bfb..ab14c0a5d21e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1051,6 +1051,18 @@ config ARM_ERRATA_460075
1051 ACTLR register. Note that setting specific bits in the ACTLR register 1051 ACTLR register. Note that setting specific bits in the ACTLR register
1052 may not be available in non-secure mode. 1052 may not be available in non-secure mode.
1053 1053
1054config ARM_ERRATA_742230
1055 bool "ARM errata: DMB operation may be faulty"
1056 depends on CPU_V7 && SMP
1057 help
1058 This option enables the workaround for the 742230 Cortex-A9
1059 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
1060 between two write operations may not ensure the correct visibility
1061 ordering of the two writes. This workaround sets a specific bit in
1062 the diagnostic register of the Cortex-A9 which causes the DMB
1063 instruction to behave as a DSB, ensuring the correct behaviour of
1064 the two writes.
1065
1054config PL310_ERRATA_588369 1066config PL310_ERRATA_588369
1055 bool "Clean & Invalidate maintenance operations do not invalidate clean lines" 1067 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1056 depends on CACHE_L2X0 && ARCH_OMAP4 1068 depends on CACHE_L2X0 && ARCH_OMAP4