diff options
author | Andre Przywara <andre.przywara@arm.com> | 2016-10-06 16:54:53 +0100 |
---|---|---|
committer | Andre Przywara <andre.przywara@arm.com> | 2017-03-20 10:57:46 +0000 |
commit | b75dc0e41cbf394fbafb271ea6853011e926a197 (patch) | |
tree | 9501cb13945c36cde5055faccc905d1c0076da2f /docs/cpu-specific-build-macros.md | |
parent | 3944adca5943a050ca7e7e9cc802a9ae04dec186 (diff) |
Add workaround for ARM Cortex-A53 erratum 855873
ARM erratum 855873 applies to all Cortex-A53 CPUs.
The recommended workaround is to promote "data cache clean"
instructions to "data cache clean and invalidate" instructions.
For core revisions of r0p3 and later this can be done by setting a bit
in the CPUACTLR_EL1 register, so that hardware takes care of the promotion.
As CPUACTLR_EL1 is both IMPLEMENTATION DEFINED and can be trapped to EL3,
we set the bit in firmware.
Also we dump this register upon crashing to provide more debug
information.
Enable the workaround for the Juno boards.
Change-Id: I3840114291958a406574ab6c49b01a9d9847fec8
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Diffstat (limited to 'docs/cpu-specific-build-macros.md')
-rw-r--r-- | docs/cpu-specific-build-macros.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/cpu-specific-build-macros.md b/docs/cpu-specific-build-macros.md index 0a575f72..eb23bcd4 100644 --- a/docs/cpu-specific-build-macros.md +++ b/docs/cpu-specific-build-macros.md @@ -60,6 +60,13 @@ For Cortex-A53, following errata build flags are defined : CPU. This needs to be enabled only for revision <= r0p3 of the CPU. From r0p4 and onwards, this errata is enabled by default in hardware. +* `ERRATA_A53_855873`: This applies errata 855873 workaround to Cortex-A53 + CPUs. Though the erratum is present in every revision of the CPU, + this workaround is only applied to CPUs from r0p3 onwards, which feature + a chicken bit in CPUACTLR_EL1 to enable a hardware workaround. + Earlier revisions of the CPU have other errata which require the same + workaround in software, so they should be covered anyway. + For Cortex-A57, following errata build flags are defined : * `ERRATA_A57_806969`: This applies errata 806969 workaround to Cortex-A57 |