arm-trusted-firmware/lib/cpus/aarch64
Sandrine Bailleux 54035fc467 Disable non-temporal hint on Cortex-A53/57
The LDNP/STNP instructions as implemented on Cortex-A53 and
Cortex-A57 do not behave in a way most programmers expect, and will
most probably result in a significant speed degradation to any code
that employs them. The ARMv8-A architecture (see Document ARM DDI
0487A.h, section D3.4.3) allows cores to ignore the non-temporal hint
and treat LDNP/STNP as LDP/STP instead.

This patch introduces 2 new build flags:
A53_DISABLE_NON_TEMPORAL_HINT and A57_DISABLE_NON_TEMPORAL_HINT
to enforce this behaviour on Cortex-A53 and Cortex-A57. They are
enabled by default.

The string printed in debug builds when a specific CPU errata
workaround is compiled in but skipped at runtime has been
generalised, so that it can be reused for the non-temporal hint use
case as well.

Change-Id: I3e354f4797fd5d3959872a678e160322b13867a1
2016-02-08 09:31:18 +00:00
..
aem_generic.S Fix recursive crash prints on FVP AEM model 2015-04-13 17:21:26 +01:00
cortex_a35.S Add support for ARM Cortex-A35 processor 2016-01-12 09:25:12 +00:00
cortex_a53.S Disable non-temporal hint on Cortex-A53/57 2016-02-08 09:31:18 +00:00
cortex_a57.S Disable non-temporal hint on Cortex-A53/57 2016-02-08 09:31:18 +00:00
cortex_a72.S Add support to indicate size and end of assembly functions 2015-04-08 13:02:59 +01:00
cpu_helpers.S Disable non-temporal hint on Cortex-A53/57 2016-02-08 09:31:18 +00:00
denver.S Add "Project Denver" CPU support 2015-07-24 09:08:27 +05:30