diff options
author | Will Deacon <will.deacon@arm.com> | 2012-02-24 12:12:38 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-12 10:32:59 -0700 |
commit | a55848dfa041f2a2d1e96243fcb242ebadabeb0a (patch) | |
tree | 30cd1684d2c04f7b8ceee55b236c1fbe80220edc /arch/arm | |
parent | 21189f03d3ec3a74d9949907c828410d7a9a86d5 (diff) | |
download | lwn-a55848dfa041f2a2d1e96243fcb242ebadabeb0a.tar.gz lwn-a55848dfa041f2a2d1e96243fcb242ebadabeb0a.zip |
ARM: 7345/1: errata: update workaround for A9 erratum #743622
commit efbc74ace95338484f8d732037b99c7c77098fce upstream.
Erratum #743622 affects all r2 variants of the Cortex-A9 processor, so
ensure that the workaround is applied regardless of the revision.
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-v7.S | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2456badc8634..f9b212e0bc4d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1179,7 +1179,7 @@ config ARM_ERRATA_743622 depends on CPU_V7 help This option enables the workaround for the 743622 Cortex-A9 - (r2p0..r2p2) erratum. Under very rare conditions, a faulty + (r2p*) erratum. Under very rare conditions, a faulty optimisation in the Cortex-A9 Store Buffer may lead to data corruption. This workaround sets a specific bit in the diagnostic register of the Cortex-A9 which disables the Store Buffer diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index b6ba1032a988..7e47888101a1 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S @@ -344,9 +344,7 @@ __v7_setup: mcreq p15, 0, r10, c15, c0, 1 @ write diagnostic register #endif #ifdef CONFIG_ARM_ERRATA_743622 - teq r6, #0x20 @ present in r2p0 - teqne r6, #0x21 @ present in r2p1 - teqne r6, #0x22 @ present in r2p2 + teq r5, #0x00200000 @ only present in r2p* mrceq p15, 0, r10, c15, c0, 1 @ read diagnostic register orreq r10, r10, #1 << 6 @ set bit #6 mcreq p15, 0, r10, c15, c0, 1 @ write diagnostic register |