From cd884aa6fb763a50671695071af7ce14c26d522d Mon Sep 17 00:00:00 2001 From: "Andrew F. Davis" Date: Wed, 24 Apr 2019 16:11:03 -0400 Subject: Cortex-A53: Fix reporting of missing errata when not needed Errata 819472, 824069, and 827319 are currently reported in a warning as missing during boot for platforms that do not need them. Only warn when the errata is needed for a given revision but not compiled in like other errata workarounds. Fixes: bd393704d2b1 ("Cortex-A53: Workarounds for 819472, 824069 and 827319") Signed-off-by: Andrew F. Davis Change-Id: Ifd757b3d0e73a9bd465b98dc20648b6c13397d8d --- lib/cpus/aarch64/cortex_a53.S | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'lib') diff --git a/lib/cpus/aarch64/cortex_a53.S b/lib/cpus/aarch64/cortex_a53.S index f20082d2d..6fd3c53fd 100644 --- a/lib/cpus/aarch64/cortex_a53.S +++ b/lib/cpus/aarch64/cortex_a53.S @@ -45,31 +45,35 @@ endfunc cortex_a53_disable_smp /* --------------------------------------------------- * Errata Workaround for Cortex A53 Errata #819472. * This applies only to revision <= r0p1 of Cortex A53. + * Due to the nature of the errata it is applied unconditionally + * when built in, report it as applicable in this case * --------------------------------------------------- */ func check_errata_819472 - /* - * Even though this is only needed for revision <= r0p1, it - * is always applied due to limitations of the current - * errata framework. - */ - mov x0, #ERRATA_APPLIES +#if ERRATA_A53_819472 + mov x0, #ERRATA_APPLIES ret +#else + mov x1, #0x01 + b cpu_rev_var_ls +#endif endfunc check_errata_819472 /* --------------------------------------------------- * Errata Workaround for Cortex A53 Errata #824069. * This applies only to revision <= r0p2 of Cortex A53. + * Due to the nature of the errata it is applied unconditionally + * when built in, report it as applicable in this case * --------------------------------------------------- */ func check_errata_824069 - /* - * Even though this is only needed for revision <= r0p2, it - * is always applied due to limitations of the current - * errata framework. - */ - mov x0, #ERRATA_APPLIES +#if ERRATA_A53_824069 + mov x0, #ERRATA_APPLIES ret +#else + mov x1, #0x02 + b cpu_rev_var_ls +#endif endfunc check_errata_824069 /* -------------------------------------------------- @@ -103,16 +107,18 @@ endfunc check_errata_826319 /* --------------------------------------------------- * Errata Workaround for Cortex A53 Errata #827319. * This applies only to revision <= r0p2 of Cortex A53. + * Due to the nature of the errata it is applied unconditionally + * when built in, report it as applicable in this case * --------------------------------------------------- */ func check_errata_827319 - /* - * Even though this is only needed for revision <= r0p2, it - * is always applied due to limitations of the current - * errata framework. - */ - mov x0, #ERRATA_APPLIES +#if ERRATA_A53_827319 + mov x0, #ERRATA_APPLIES ret +#else + mov x1, #0x02 + b cpu_rev_var_ls +#endif endfunc check_errata_827319 /* --------------------------------------------------------------------- -- cgit v1.2.3