Apply workarounds for A53 Cat A Errata 835769 and 843419
authorDouglas Raillard <douglas.raillard@arm.com>
Mon, 19 Jun 2017 14:38:02 +0000 (15:38 +0100)
committerDouglas Raillard <douglas.raillard@arm.com>
Thu, 22 Jun 2017 17:10:51 +0000 (18:10 +0100)
commita94cc374ab57b80d86974f8771565d65b38403ef
tree3a55972492380ee3c8b2cd980b963ebaff1e7fb3
parent3705cd47b2a431a37e2abb2fb02e513c0c0c14f9
Apply workarounds for A53 Cat A Errata 835769 and 843419

These errata are only applicable to AArch64 state. See the errata notice
for more details:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.epm048406/index.html

Introduce the build options ERRATA_A53_835769 and ERRATA_A53_843419.
Enable both of them for Juno.

Apply the 835769 workaround as following:
* Compile with -mfix-cortex-a53-835769
* Link with --fix-cortex-a53-835769

Apply the 843419 workaround as following:
* Link with --fix-cortex-a53-843419

The erratum 843419 workaround can lead the linker to create new sections
suffixed with "*.stub*" and 4KB aligned. The erratum 835769 can lead the
linker to create new "*.stub" sections with no particular alignment.

Also add support for LDFLAGS_aarch32 and LDFLAGS_aarch64 in Makefile for
architecture-specific linker options.

Change-Id: Iab3337e338b7a0a16b0d102404d9db98c154f8f8
Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
Makefile
lib/cpus/aarch64/cortex_a53.S
lib/cpus/cpu-ops.mk
plat/arm/board/juno/platform.mk