15541bb3fSSoby Mathew# 2da6d75a0SJohn Tsichritzis# Copyright (c) 2014-2019, ARM Limited and Contributors. All rights reserved. 35541bb3fSSoby Mathew# 482cb2c1aSdp-arm# SPDX-License-Identifier: BSD-3-Clause 55541bb3fSSoby Mathew# 65541bb3fSSoby Mathew 75541bb3fSSoby Mathew# Cortex A57 specific optimisation to skip L1 cache flush when 85541bb3fSSoby Mathew# cluster is powered down. 95541bb3fSSoby MathewSKIP_A57_L1_FLUSH_PWR_DWN ?=0 105541bb3fSSoby Mathew 1154035fc4SSandrine Bailleux# Flag to disable the cache non-temporal hint. 1254035fc4SSandrine Bailleux# It is enabled by default. 1354035fc4SSandrine BailleuxA53_DISABLE_NON_TEMPORAL_HINT ?=1 1454035fc4SSandrine Bailleux 1554035fc4SSandrine Bailleux# Flag to disable the cache non-temporal hint. 1654035fc4SSandrine Bailleux# It is enabled by default. 1754035fc4SSandrine BailleuxA57_DISABLE_NON_TEMPORAL_HINT ?=1 1854035fc4SSandrine Bailleux 19f62ad322SDimitris PapastamosWORKAROUND_CVE_2017_5715 ?=1 20b8a25bbbSDimitris PapastamosWORKAROUND_CVE_2018_3639 ?=1 21fe007b2eSDimitris PapastamosDYNAMIC_WORKAROUND_CVE_2018_3639 ?=0 22f62ad322SDimitris Papastamos 235541bb3fSSoby Mathew# Process SKIP_A57_L1_FLUSH_PWR_DWN flag 245541bb3fSSoby Mathew$(eval $(call assert_boolean,SKIP_A57_L1_FLUSH_PWR_DWN)) 255541bb3fSSoby Mathew$(eval $(call add_define,SKIP_A57_L1_FLUSH_PWR_DWN)) 265541bb3fSSoby Mathew 2754035fc4SSandrine Bailleux# Process A53_DISABLE_NON_TEMPORAL_HINT flag 2854035fc4SSandrine Bailleux$(eval $(call assert_boolean,A53_DISABLE_NON_TEMPORAL_HINT)) 2954035fc4SSandrine Bailleux$(eval $(call add_define,A53_DISABLE_NON_TEMPORAL_HINT)) 3054035fc4SSandrine Bailleux 3154035fc4SSandrine Bailleux# Process A57_DISABLE_NON_TEMPORAL_HINT flag 3254035fc4SSandrine Bailleux$(eval $(call assert_boolean,A57_DISABLE_NON_TEMPORAL_HINT)) 3354035fc4SSandrine Bailleux$(eval $(call add_define,A57_DISABLE_NON_TEMPORAL_HINT)) 3454035fc4SSandrine Bailleux 35f62ad322SDimitris Papastamos# Process WORKAROUND_CVE_2017_5715 flag 36f62ad322SDimitris Papastamos$(eval $(call assert_boolean,WORKAROUND_CVE_2017_5715)) 37f62ad322SDimitris Papastamos$(eval $(call add_define,WORKAROUND_CVE_2017_5715)) 385541bb3fSSoby Mathew 39b8a25bbbSDimitris Papastamos# Process WORKAROUND_CVE_2018_3639 flag 40b8a25bbbSDimitris Papastamos$(eval $(call assert_boolean,WORKAROUND_CVE_2018_3639)) 41b8a25bbbSDimitris Papastamos$(eval $(call add_define,WORKAROUND_CVE_2018_3639)) 42b8a25bbbSDimitris Papastamos 43fe007b2eSDimitris Papastamos$(eval $(call assert_boolean,DYNAMIC_WORKAROUND_CVE_2018_3639)) 44fe007b2eSDimitris Papastamos$(eval $(call add_define,DYNAMIC_WORKAROUND_CVE_2018_3639)) 45fe007b2eSDimitris Papastamos 46fe007b2eSDimitris Papastamosifneq (${DYNAMIC_WORKAROUND_CVE_2018_3639},0) 47fe007b2eSDimitris Papastamos ifeq (${WORKAROUND_CVE_2018_3639},0) 48fe007b2eSDimitris Papastamos $(error "Error: WORKAROUND_CVE_2018_3639 must be 1 if DYNAMIC_WORKAROUND_CVE_2018_3639 is 1") 49fe007b2eSDimitris Papastamos endif 50fe007b2eSDimitris Papastamosendif 51fe007b2eSDimitris Papastamos 52097b787aSSandrine Bailleux# CPU Errata Build flags. 53097b787aSSandrine Bailleux# These should be enabled by the platform if the erratum workaround needs to be 54097b787aSSandrine Bailleux# applied. 555541bb3fSSoby Mathew 56*75a1ada9SAmbroise Vincent# Flag to apply erratum 816470 workaround during power down. This erratum 57*75a1ada9SAmbroise Vincent# applies only to revision >= r3p0 of the Cortex A15 cpu. 58*75a1ada9SAmbroise VincentERRATA_A15_816470 ?=0 59*75a1ada9SAmbroise Vincent 60bd393704SAmbroise Vincent# Flag to apply erratum 819472 workaround during reset. This erratum applies 61bd393704SAmbroise Vincent# only to revision <= r0p1 of the Cortex A53 cpu. 62bd393704SAmbroise VincentERRATA_A53_819472 ?=0 63bd393704SAmbroise Vincent 64bd393704SAmbroise Vincent# Flag to apply erratum 824069 workaround during reset. This erratum applies 65bd393704SAmbroise Vincent# only to revision <= r0p2 of the Cortex A53 cpu. 66bd393704SAmbroise VincentERRATA_A53_824069 ?=0 67bd393704SAmbroise Vincent 68097b787aSSandrine Bailleux# Flag to apply erratum 826319 workaround during reset. This erratum applies 69097b787aSSandrine Bailleux# only to revision <= r0p2 of the Cortex A53 cpu. 706b0d97b2SJimmy HuangERRATA_A53_826319 ?=0 716b0d97b2SJimmy Huang 72bd393704SAmbroise Vincent# Flag to apply erratum 827319 workaround during reset. This erratum applies 73bd393704SAmbroise Vincent# only to revision <= r0p2 of the Cortex A53 cpu. 74bd393704SAmbroise VincentERRATA_A53_827319 ?=0 75bd393704SAmbroise Vincent 76a94cc374SDouglas Raillard# Flag to apply erratum 835769 workaround at compile and link time. This 77a94cc374SDouglas Raillard# erratum applies to revision <= r0p4 of the Cortex A53 cpu. Enabling this 78a94cc374SDouglas Raillard# workaround can lead the linker to create "*.stub" sections. 79a94cc374SDouglas RaillardERRATA_A53_835769 ?=0 80a94cc374SDouglas Raillard 81097b787aSSandrine Bailleux# Flag to apply erratum 836870 workaround during reset. This erratum applies 82097b787aSSandrine Bailleux# only to revision <= r0p3 of the Cortex A53 cpu. From r0p4 and onwards, this 833fbe46d7SDouglas Raillard# erratum workaround is enabled by default in hardware. 846b0d97b2SJimmy HuangERRATA_A53_836870 ?=0 856b0d97b2SJimmy Huang 86a94cc374SDouglas Raillard# Flag to apply erratum 843419 workaround at link time. 87a94cc374SDouglas Raillard# This erratum applies to revision <= r0p4 of the Cortex A53 cpu. Enabling this 88a94cc374SDouglas Raillard# workaround could lead the linker to emit "*.stub" sections which are 4kB 89a94cc374SDouglas Raillard# aligned. 90a94cc374SDouglas RaillardERRATA_A53_843419 ?=0 91a94cc374SDouglas Raillard 92b75dc0e4SAndre Przywara# Flag to apply errata 855873 during reset. This errata applies to all 93b75dc0e4SAndre Przywara# revisions of the Cortex A53 CPU, but this firmware workaround only works 94b75dc0e4SAndre Przywara# for revisions r0p3 and higher. Earlier revisions are taken care 95b75dc0e4SAndre Przywara# of by the rich OS. 96b75dc0e4SAndre PrzywaraERRATA_A53_855873 ?=0 97b75dc0e4SAndre Przywara 981afeee92SAmbroise Vincent# Flag to apply erratum 768277 workaround during reset. This erratum applies 991afeee92SAmbroise Vincent# only to revision r0p0 of the Cortex A55 cpu. 1001afeee92SAmbroise VincentERRATA_A55_768277 ?=0 1011afeee92SAmbroise Vincent 102a6cc6610SAmbroise Vincent# Flag to apply erratum 778703 workaround during reset. This erratum applies 103a6cc6610SAmbroise Vincent# only to revision r0p0 of the Cortex A55 cpu. 104a6cc6610SAmbroise VincentERRATA_A55_778703 ?=0 105a6cc6610SAmbroise Vincent 1066ab87d29SAmbroise Vincent# Flag to apply erratum 798797 workaround during reset. This erratum applies 1076ab87d29SAmbroise Vincent# only to revision r0p0 of the Cortex A55 cpu. 1086ab87d29SAmbroise VincentERRATA_A55_798797 ?=0 1096ab87d29SAmbroise Vincent 1106e78973eSAmbroise Vincent# Flag to apply erratum 846532 workaround during reset. This erratum applies 1116e78973eSAmbroise Vincent# only to revision <= r0p1 of the Cortex A55 cpu. 1126e78973eSAmbroise VincentERRATA_A55_846532 ?=0 1136e78973eSAmbroise Vincent 11447949f3fSAmbroise Vincent# Flag to apply erratum 903758 workaround during reset. This erratum applies 11547949f3fSAmbroise Vincent# only to revision <= r0p1 of the Cortex A55 cpu. 11647949f3fSAmbroise VincentERRATA_A55_903758 ?=0 11747949f3fSAmbroise Vincent 118097b787aSSandrine Bailleux# Flag to apply erratum 806969 workaround during reset. This erratum applies 119097b787aSSandrine Bailleux# only to revision r0p0 of the Cortex A57 cpu. 1205541bb3fSSoby MathewERRATA_A57_806969 ?=0 1215541bb3fSSoby Mathew 122ccbec91cSAntonio Nino Diaz# Flag to apply erratum 813419 workaround during reset. This erratum applies 123ccbec91cSAntonio Nino Diaz# only to revision r0p0 of the Cortex A57 cpu. 124ccbec91cSAntonio Nino DiazERRATA_A57_813419 ?=0 125ccbec91cSAntonio Nino Diaz 126097b787aSSandrine Bailleux# Flag to apply erratum 813420 workaround during reset. This erratum applies 127097b787aSSandrine Bailleux# only to revision r0p0 of the Cortex A57 cpu. 1285541bb3fSSoby MathewERRATA_A57_813420 ?=0 1295541bb3fSSoby Mathew 1300f6fbbd2SAmbroise Vincent# Flag to apply erratum 814670 workaround during reset. This erratum applies 1310f6fbbd2SAmbroise Vincent# only to revision r0p0 of the Cortex A57 cpu. 1320f6fbbd2SAmbroise VincentERRATA_A57_814670 ?=0 1330f6fbbd2SAmbroise Vincent 1345bd2c24fSAmbroise Vincent# Flag to apply erratum 817169 workaround during power down. This erratum 1355bd2c24fSAmbroise Vincent# applies only to revision <= r0p1 of the Cortex A57 cpu. 1365bd2c24fSAmbroise VincentERRATA_A57_817169 ?=0 1375bd2c24fSAmbroise Vincent 138df22d602SSandrine Bailleux# Flag to apply erratum 826974 workaround during reset. This erratum applies 139df22d602SSandrine Bailleux# only to revision <= r1p1 of the Cortex A57 cpu. 140df22d602SSandrine BailleuxERRATA_A57_826974 ?=0 141df22d602SSandrine Bailleux 14207288865SSandrine Bailleux# Flag to apply erratum 826977 workaround during reset. This erratum applies 14307288865SSandrine Bailleux# only to revision <= r1p1 of the Cortex A57 cpu. 14407288865SSandrine BailleuxERRATA_A57_826977 ?=0 14507288865SSandrine Bailleux 146a8b1c769SSandrine Bailleux# Flag to apply erratum 828024 workaround during reset. This erratum applies 147a8b1c769SSandrine Bailleux# only to revision <= r1p1 of the Cortex A57 cpu. 148a8b1c769SSandrine BailleuxERRATA_A57_828024 ?=0 149a8b1c769SSandrine Bailleux 1500b77197bSSandrine Bailleux# Flag to apply erratum 829520 workaround during reset. This erratum applies 1510b77197bSSandrine Bailleux# only to revision <= r1p2 of the Cortex A57 cpu. 1520b77197bSSandrine BailleuxERRATA_A57_829520 ?=0 1530b77197bSSandrine Bailleux 154adeecf92SSandrine Bailleux# Flag to apply erratum 833471 workaround during reset. This erratum applies 155adeecf92SSandrine Bailleux# only to revision <= r1p2 of the Cortex A57 cpu. 156adeecf92SSandrine BailleuxERRATA_A57_833471 ?=0 157adeecf92SSandrine Bailleux 15845b52c20SEleanor Bonnici# Flag to apply erratum 855972 workaround during reset. This erratum applies 15945b52c20SEleanor Bonnici# only to revision <= r1p3 of the Cortex A57 cpu. 16045b52c20SEleanor BonniciERRATA_A57_859972 ?=0 16145b52c20SEleanor Bonnici 1626de9b336SEleanor Bonnici# Flag to apply erratum 855971 workaround during reset. This erratum applies 1636de9b336SEleanor Bonnici# only to revision <= r0p3 of the Cortex A72 cpu. 1646de9b336SEleanor BonniciERRATA_A72_859971 ?=0 1656de9b336SEleanor Bonnici 16625278eabSLouis Mayencourt# Flag to apply erratum 852427 workaround during reset. This erratum applies 16725278eabSLouis Mayencourt# only to revision r0p0 of the Cortex A73 cpu. 16825278eabSLouis MayencourtERRATA_A73_852427 ?=0 16925278eabSLouis Mayencourt 170e6cab15dSLouis Mayencourt# Flag to apply erratum 855423 workaround during reset. This erratum applies 171e6cab15dSLouis Mayencourt# only to revision <= r0p1 of the Cortex A73 cpu. 172e6cab15dSLouis MayencourtERRATA_A73_855423 ?=0 173e6cab15dSLouis Mayencourt 1745f5d1ed7SLouis Mayencourt# Flag to apply erratum 764081 workaround during reset. This erratum applies 1755f5d1ed7SLouis Mayencourt# only to revision <= r0p0 of the Cortex A75 cpu. 1765f5d1ed7SLouis MayencourtERRATA_A75_764081 ?=0 1775f5d1ed7SLouis Mayencourt 17898551591SLouis Mayencourt# Flag to apply erratum 790748 workaround during reset. This erratum applies 17998551591SLouis Mayencourt# only to revision <= r0p0 of the Cortex A75 cpu. 18098551591SLouis MayencourtERRATA_A75_790748 ?=0 18198551591SLouis Mayencourt 1825c6aa01aSLouis Mayencourt# Flag to apply erratum 1073348 workaround during reset. This erratum applies 1835c6aa01aSLouis Mayencourt# only to revision <= r1p0 of the Cortex A76 cpu. 1845c6aa01aSLouis MayencourtERRATA_A76_1073348 ?=0 1855c6aa01aSLouis Mayencourt 186508d7110SLouis Mayencourt# Flag to apply erratum 1130799 workaround during reset. This erratum applies 187508d7110SLouis Mayencourt# only to revision <= r2p0 of the Cortex A76 cpu. 188508d7110SLouis MayencourtERRATA_A76_1130799 ?=0 189508d7110SLouis Mayencourt 1905cc8c7baSLouis Mayencourt# Flag to apply erratum 1220197 workaround during reset. This erratum applies 1915cc8c7baSLouis Mayencourt# only to revision <= r2p0 of the Cortex A76 cpu. 1925cc8c7baSLouis MayencourtERRATA_A76_1220197 ?=0 1935cc8c7baSLouis Mayencourt 194040b546eSDimitris Papastamos# Flag to apply T32 CLREX workaround during reset. This erratum applies 195da6d75a0SJohn Tsichritzis# only to r0p0 and r1p0 of the Neoverse N1 cpu. 196da6d75a0SJohn TsichritzisERRATA_N1_1043202 ?=1 197040b546eSDimitris Papastamos 1988a677180SJohn Tsichritzis# Flag to apply DSU erratum 936184. This erratum applies to DSUs containing 1998a677180SJohn Tsichritzis# the ACP interface and revision < r2p0. Applying the workaround results in 2008a677180SJohn Tsichritzis# higher DSU power consumption on idle. 2018a677180SJohn TsichritzisERRATA_DSU_936184 ?=0 2028a677180SJohn Tsichritzis 203*75a1ada9SAmbroise Vincent# Process ERRATA_A15_816470 flag 204*75a1ada9SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A15_816470)) 205*75a1ada9SAmbroise Vincent$(eval $(call add_define,ERRATA_A15_816470)) 206*75a1ada9SAmbroise Vincent 207bd393704SAmbroise Vincent# Process ERRATA_A53_819472 flag 208bd393704SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A53_819472)) 209bd393704SAmbroise Vincent$(eval $(call add_define,ERRATA_A53_819472)) 210bd393704SAmbroise Vincent 211bd393704SAmbroise Vincent# Process ERRATA_A53_824069 flag 212bd393704SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A53_824069)) 213bd393704SAmbroise Vincent$(eval $(call add_define,ERRATA_A53_824069)) 214bd393704SAmbroise Vincent 2156b0d97b2SJimmy Huang# Process ERRATA_A53_826319 flag 2166b0d97b2SJimmy Huang$(eval $(call assert_boolean,ERRATA_A53_826319)) 2176b0d97b2SJimmy Huang$(eval $(call add_define,ERRATA_A53_826319)) 2186b0d97b2SJimmy Huang 219bd393704SAmbroise Vincent# Process ERRATA_A53_827319 flag 220bd393704SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A53_827319)) 221bd393704SAmbroise Vincent$(eval $(call add_define,ERRATA_A53_827319)) 222bd393704SAmbroise Vincent 223a94cc374SDouglas Raillard# Process ERRATA_A53_835769 flag 224a94cc374SDouglas Raillard$(eval $(call assert_boolean,ERRATA_A53_835769)) 225a94cc374SDouglas Raillard$(eval $(call add_define,ERRATA_A53_835769)) 226a94cc374SDouglas Raillard 2276b0d97b2SJimmy Huang# Process ERRATA_A53_836870 flag 2286b0d97b2SJimmy Huang$(eval $(call assert_boolean,ERRATA_A53_836870)) 2296b0d97b2SJimmy Huang$(eval $(call add_define,ERRATA_A53_836870)) 2306b0d97b2SJimmy Huang 231a94cc374SDouglas Raillard# Process ERRATA_A53_843419 flag 232a94cc374SDouglas Raillard$(eval $(call assert_boolean,ERRATA_A53_843419)) 233a94cc374SDouglas Raillard$(eval $(call add_define,ERRATA_A53_843419)) 234a94cc374SDouglas Raillard 235b75dc0e4SAndre Przywara# Process ERRATA_A53_855873 flag 236b75dc0e4SAndre Przywara$(eval $(call assert_boolean,ERRATA_A53_855873)) 237b75dc0e4SAndre Przywara$(eval $(call add_define,ERRATA_A53_855873)) 238b75dc0e4SAndre Przywara 2391afeee92SAmbroise Vincent# Process ERRATA_A55_768277 flag 2401afeee92SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A55_768277)) 2411afeee92SAmbroise Vincent$(eval $(call add_define,ERRATA_A55_768277)) 2421afeee92SAmbroise Vincent 243a6cc6610SAmbroise Vincent# Process ERRATA_A55_778703 flag 244a6cc6610SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A55_778703)) 245a6cc6610SAmbroise Vincent$(eval $(call add_define,ERRATA_A55_778703)) 246a6cc6610SAmbroise Vincent 2476ab87d29SAmbroise Vincent# Process ERRATA_A55_798797 flag 2486ab87d29SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A55_798797)) 2496ab87d29SAmbroise Vincent$(eval $(call add_define,ERRATA_A55_798797)) 2506ab87d29SAmbroise Vincent 2516e78973eSAmbroise Vincent# Process ERRATA_A55_846532 flag 2526e78973eSAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A55_846532)) 2536e78973eSAmbroise Vincent$(eval $(call add_define,ERRATA_A55_846532)) 2546e78973eSAmbroise Vincent 25547949f3fSAmbroise Vincent# Process ERRATA_A55_903758 flag 25647949f3fSAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A55_903758)) 25747949f3fSAmbroise Vincent$(eval $(call add_define,ERRATA_A55_903758)) 25847949f3fSAmbroise Vincent 2595541bb3fSSoby Mathew# Process ERRATA_A57_806969 flag 2605541bb3fSSoby Mathew$(eval $(call assert_boolean,ERRATA_A57_806969)) 2615541bb3fSSoby Mathew$(eval $(call add_define,ERRATA_A57_806969)) 2625541bb3fSSoby Mathew 263ccbec91cSAntonio Nino Diaz# Process ERRATA_A57_813419 flag 264ccbec91cSAntonio Nino Diaz$(eval $(call assert_boolean,ERRATA_A57_813419)) 265ccbec91cSAntonio Nino Diaz$(eval $(call add_define,ERRATA_A57_813419)) 266ccbec91cSAntonio Nino Diaz 2675541bb3fSSoby Mathew# Process ERRATA_A57_813420 flag 2685541bb3fSSoby Mathew$(eval $(call assert_boolean,ERRATA_A57_813420)) 2695541bb3fSSoby Mathew$(eval $(call add_define,ERRATA_A57_813420)) 270df22d602SSandrine Bailleux 2710f6fbbd2SAmbroise Vincent# Process ERRATA_A57_814670 flag 2720f6fbbd2SAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A57_814670)) 2730f6fbbd2SAmbroise Vincent$(eval $(call add_define,ERRATA_A57_814670)) 2740f6fbbd2SAmbroise Vincent 2755bd2c24fSAmbroise Vincent# Process ERRATA_A57_817169 flag 2765bd2c24fSAmbroise Vincent$(eval $(call assert_boolean,ERRATA_A57_817169)) 2775bd2c24fSAmbroise Vincent$(eval $(call add_define,ERRATA_A57_817169)) 2785bd2c24fSAmbroise Vincent 279df22d602SSandrine Bailleux# Process ERRATA_A57_826974 flag 280df22d602SSandrine Bailleux$(eval $(call assert_boolean,ERRATA_A57_826974)) 281df22d602SSandrine Bailleux$(eval $(call add_define,ERRATA_A57_826974)) 282a8b1c769SSandrine Bailleux 28307288865SSandrine Bailleux# Process ERRATA_A57_826977 flag 28407288865SSandrine Bailleux$(eval $(call assert_boolean,ERRATA_A57_826977)) 28507288865SSandrine Bailleux$(eval $(call add_define,ERRATA_A57_826977)) 28607288865SSandrine Bailleux 287a8b1c769SSandrine Bailleux# Process ERRATA_A57_828024 flag 288a8b1c769SSandrine Bailleux$(eval $(call assert_boolean,ERRATA_A57_828024)) 289a8b1c769SSandrine Bailleux$(eval $(call add_define,ERRATA_A57_828024)) 2900b77197bSSandrine Bailleux 2910b77197bSSandrine Bailleux# Process ERRATA_A57_829520 flag 2920b77197bSSandrine Bailleux$(eval $(call assert_boolean,ERRATA_A57_829520)) 2930b77197bSSandrine Bailleux$(eval $(call add_define,ERRATA_A57_829520)) 294adeecf92SSandrine Bailleux 295adeecf92SSandrine Bailleux# Process ERRATA_A57_833471 flag 296adeecf92SSandrine Bailleux$(eval $(call assert_boolean,ERRATA_A57_833471)) 297adeecf92SSandrine Bailleux$(eval $(call add_define,ERRATA_A57_833471)) 298a94cc374SDouglas Raillard 29945b52c20SEleanor Bonnici# Process ERRATA_A57_859972 flag 30045b52c20SEleanor Bonnici$(eval $(call assert_boolean,ERRATA_A57_859972)) 30145b52c20SEleanor Bonnici$(eval $(call add_define,ERRATA_A57_859972)) 30245b52c20SEleanor Bonnici 3036de9b336SEleanor Bonnici# Process ERRATA_A72_859971 flag 3046de9b336SEleanor Bonnici$(eval $(call assert_boolean,ERRATA_A72_859971)) 3056de9b336SEleanor Bonnici$(eval $(call add_define,ERRATA_A72_859971)) 3066de9b336SEleanor Bonnici 30725278eabSLouis Mayencourt# Process ERRATA_A73_852427 flag 30825278eabSLouis Mayencourt$(eval $(call assert_boolean,ERRATA_A73_852427)) 30925278eabSLouis Mayencourt$(eval $(call add_define,ERRATA_A73_852427)) 31025278eabSLouis Mayencourt 311e6cab15dSLouis Mayencourt# Process ERRATA_A73_855423 flag 312e6cab15dSLouis Mayencourt$(eval $(call assert_boolean,ERRATA_A73_855423)) 313e6cab15dSLouis Mayencourt$(eval $(call add_define,ERRATA_A73_855423)) 314e6cab15dSLouis Mayencourt 3155f5d1ed7SLouis Mayencourt# Process ERRATA_A75_764081 flag 3165f5d1ed7SLouis Mayencourt$(eval $(call assert_boolean,ERRATA_A75_764081)) 3175f5d1ed7SLouis Mayencourt$(eval $(call add_define,ERRATA_A75_764081)) 3185f5d1ed7SLouis Mayencourt 31998551591SLouis Mayencourt# Process ERRATA_A75_790748 flag 32098551591SLouis Mayencourt$(eval $(call assert_boolean,ERRATA_A75_790748)) 32198551591SLouis Mayencourt$(eval $(call add_define,ERRATA_A75_790748)) 32298551591SLouis Mayencourt 3235c6aa01aSLouis Mayencourt# Process ERRATA_A76_1073348 flag 3245c6aa01aSLouis Mayencourt$(eval $(call assert_boolean,ERRATA_A76_1073348)) 3255c6aa01aSLouis Mayencourt$(eval $(call add_define,ERRATA_A76_1073348)) 3265c6aa01aSLouis Mayencourt 327508d7110SLouis Mayencourt# Process ERRATA_A76_1130799 flag 328508d7110SLouis Mayencourt$(eval $(call assert_boolean,ERRATA_A76_1130799)) 329508d7110SLouis Mayencourt$(eval $(call add_define,ERRATA_A76_1130799)) 330508d7110SLouis Mayencourt 3315cc8c7baSLouis Mayencourt# Process ERRATA_A76_1220197 flag 3325cc8c7baSLouis Mayencourt$(eval $(call assert_boolean,ERRATA_A76_1220197)) 3335cc8c7baSLouis Mayencourt$(eval $(call add_define,ERRATA_A76_1220197)) 3345cc8c7baSLouis Mayencourt 335da6d75a0SJohn Tsichritzis# Process ERRATA_N1_1043202 flag 336da6d75a0SJohn Tsichritzis$(eval $(call assert_boolean,ERRATA_N1_1043202)) 337da6d75a0SJohn Tsichritzis$(eval $(call add_define,ERRATA_N1_1043202)) 338040b546eSDimitris Papastamos 3398a677180SJohn Tsichritzis# Process ERRATA_DSU_936184 flag 3408a677180SJohn Tsichritzis$(eval $(call assert_boolean,ERRATA_DSU_936184)) 3418a677180SJohn Tsichritzis$(eval $(call add_define,ERRATA_DSU_936184)) 3428a677180SJohn Tsichritzis 343a94cc374SDouglas Raillard# Errata build flags 344a94cc374SDouglas Raillardifneq (${ERRATA_A53_843419},0) 345c2b8806fSDouglas RaillardTF_LDFLAGS_aarch64 += --fix-cortex-a53-843419 346a94cc374SDouglas Raillardendif 347a94cc374SDouglas Raillard 348a94cc374SDouglas Raillardifneq (${ERRATA_A53_835769},0) 349a94cc374SDouglas RaillardTF_CFLAGS_aarch64 += -mfix-cortex-a53-835769 350c2b8806fSDouglas RaillardTF_LDFLAGS_aarch64 += --fix-cortex-a53-835769 351a94cc374SDouglas Raillardendif 352