diff options
author | Will Deacon <will.deacon@arm.com> | 2010-09-28 09:02:02 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-10-04 14:20:14 -0400 |
commit | 475d92fc6e72cd123dc5dbb9e70cdb80b0cfdf2d (patch) | |
tree | c2c3e98575957a0eab1492da35921c982c5d2e1e /arch/arm/Kconfig | |
parent | c6ea21e35bf3691cad59647c771e6606067f627d (diff) |
ARM: 6416/1: errata: faulty hazard checking in the Store Buffer may lead to data corruption
On the r2p0, r2p1 and r2p2 versions of the Cortex-A9, data corruption
can occur under very rare conditions due to a store buffer optimisation.
This workaround sets a bit in the diagnostic register of the Cortex-A9,
disabling the optimisation and preventing the problem from occurring.
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/Kconfig | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 88c97bc7a6f5..9c26ba7244fb 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -1101,6 +1101,20 @@ config ARM_ERRATA_720789 | |||
1101 | invalidated are not, resulting in an incoherency in the system page | 1101 | invalidated are not, resulting in an incoherency in the system page |
1102 | tables. The workaround changes the TLB flushing routines to invalidate | 1102 | tables. The workaround changes the TLB flushing routines to invalidate |
1103 | entries regardless of the ASID. | 1103 | entries regardless of the ASID. |
1104 | |||
1105 | config ARM_ERRATA_743622 | ||
1106 | bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" | ||
1107 | depends on CPU_V7 | ||
1108 | help | ||
1109 | This option enables the workaround for the 743622 Cortex-A9 | ||
1110 | (r2p0..r2p2) erratum. Under very rare conditions, a faulty | ||
1111 | optimisation in the Cortex-A9 Store Buffer may lead to data | ||
1112 | corruption. This workaround sets a specific bit in the diagnostic | ||
1113 | register of the Cortex-A9 which disables the Store Buffer | ||
1114 | optimisation, preventing the defect from occurring. This has no | ||
1115 | visible impact on the overall performance or power consumption of the | ||
1116 | processor. | ||
1117 | |||
1104 | endmenu | 1118 | endmenu |
1105 | 1119 | ||
1106 | source "arch/arm/common/Kconfig" | 1120 | source "arch/arm/common/Kconfig" |