Apply errata workarounds only when major/minor revisions match.
authorSoby Mathew <soby.mathew@arm.com>
Mon, 22 Sep 2014 11:11:36 +0000 (12:11 +0100)
committerSoby Mathew <soby.mathew@arm.com>
Wed, 29 Oct 2014 17:38:56 +0000 (17:38 +0000)
commit7395a725ae74de70820d7b126ba1af727f39e263
tree495f724c1b155df73528758037e068b51827e949
parent8e85791677a334bc7ed0799b18adad91ef3c1db4
Apply errata workarounds only when major/minor revisions match.

Prior to this patch, the errata workarounds were applied for any version
of the CPU in the release build and in the debug build an assert
failure resulted when the revision did not match. This patch applies
errata workarounds in the Cortex-A57 reset handler only if the 'variant'
and 'revision' fields read from the MIDR_EL1 match. In the debug build,
a warning message is printed for each errata workaround which is not
applied.

The patch modifies the register usage in 'reset_handler` so
as to adhere to ARM procedure calling standards.

Fixes ARM-software/tf-issues#242

Change-Id: I51b1f876474599db885afa03346e38a476f84c29
docs/cpu-errata-workarounds.md
include/lib/aarch64/arch.h
lib/cpus/aarch64/cortex_a57.S
lib/cpus/aarch64/cpu_helpers.S