1# 2# Copyright (c) 2014-2024, Arm Limited and Contributors. All rights reserved. 3# Copyright (c) 2020-2022, NVIDIA Corporation. All rights reserved. 4# 5# SPDX-License-Identifier: BSD-3-Clause 6# 7 8include ${MAKE_HELPERS_DIRECTORY}$/build_macros.mk 9 10# Cortex A57 specific optimisation to skip L1 cache flush when 11# cluster is powered down. 12CPU_FLAG_LIST += SKIP_A57_L1_FLUSH_PWR_DWN 13 14# Flag to disable the cache non-temporal hint. 15# It is enabled by default. 16A53_DISABLE_NON_TEMPORAL_HINT ?=1 17CPU_FLAG_LIST += A53_DISABLE_NON_TEMPORAL_HINT 18 19# Flag to disable the cache non-temporal hint. 20# It is enabled by default. 21A57_DISABLE_NON_TEMPORAL_HINT ?=1 22CPU_FLAG_LIST += A57_DISABLE_NON_TEMPORAL_HINT 23 24# Flag to enable higher performance non-cacheable load forwarding. 25# It is disabled by default. 26CPU_FLAG_LIST += A57_ENABLE_NONCACHEABLE_LOAD_FWD 27 28WORKAROUND_CVE_2017_5715 ?=1 29CPU_FLAG_LIST += WORKAROUND_CVE_2017_5715 30WORKAROUND_CVE_2018_3639 ?=1 31CPU_FLAG_LIST += WORKAROUND_CVE_2018_3639 32CPU_FLAG_LIST += DYNAMIC_WORKAROUND_CVE_2018_3639 33WORKAROUND_CVE_2022_23960 ?=1 34CPU_FLAG_LIST += WORKAROUND_CVE_2022_23960 35 36# Flag to disable Hardware page aggregation(HPA). 37# This flag is enabled by default. 38WORKAROUND_CVE_2024_5660 ?=1 39CPU_FLAG_LIST += WORKAROUND_CVE_2024_5660 40 41 42# Flags to indicate internal or external Last level cache 43# By default internal 44CPU_FLAG_LIST += NEOVERSE_Nx_EXTERNAL_LLC 45 46# CPU Errata Build flags. 47# These should be enabled by the platform if the erratum workaround needs to be 48# applied. 49 50# Flag to apply erratum 794073 workaround when disabling mmu. 51CPU_FLAG_LIST += ERRATA_A9_794073 52 53# Flag to apply erratum 816470 workaround during power down. This erratum 54# applies only to revision >= r3p0 of the Cortex A15 cpu. 55CPU_FLAG_LIST += ERRATA_A15_816470 56 57# Flag to apply erratum 827671 workaround during reset. This erratum applies 58# only to revision >= r3p0 of the Cortex A15 cpu. 59CPU_FLAG_LIST += ERRATA_A15_827671 60 61# Flag to apply erratum 852421 workaround during reset. This erratum applies 62# only to revision <= r1p2 of the Cortex A17 cpu. 63CPU_FLAG_LIST += ERRATA_A17_852421 64 65# Flag to apply erratum 852423 workaround during reset. This erratum applies 66# only to revision <= r1p2 of the Cortex A17 cpu. 67CPU_FLAG_LIST += ERRATA_A17_852423 68 69# Flag to apply erratum 855472 workaround during reset. This erratum applies 70# only to revision r0p0 of the Cortex A35 cpu. 71CPU_FLAG_LIST += ERRATA_A35_855472 72 73# Flag to apply erratum 819472 workaround during reset. This erratum applies 74# only to revision <= r0p1 of the Cortex A53 cpu. 75CPU_FLAG_LIST += ERRATA_A53_819472 76 77# Flag to apply erratum 824069 workaround during reset. This erratum applies 78# only to revision <= r0p2 of the Cortex A53 cpu. 79CPU_FLAG_LIST += ERRATA_A53_824069 80 81# Flag to apply erratum 826319 workaround during reset. This erratum applies 82# only to revision <= r0p2 of the Cortex A53 cpu. 83CPU_FLAG_LIST += ERRATA_A53_826319 84 85# Flag to apply erratum 827319 workaround during reset. This erratum applies 86# only to revision <= r0p2 of the Cortex A53 cpu. 87CPU_FLAG_LIST += ERRATA_A53_827319 88 89# Flag to apply erratum 835769 workaround at compile and link time. This 90# erratum applies to revision <= r0p4 of the Cortex A53 cpu. Enabling this 91# workaround can lead the linker to create "*.stub" sections. 92CPU_FLAG_LIST += ERRATA_A53_835769 93 94# Flag to apply erratum 836870 workaround during reset. This erratum applies 95# only to revision <= r0p3 of the Cortex A53 cpu. From r0p4 and onwards, this 96# erratum workaround is enabled by default in hardware. 97CPU_FLAG_LIST += ERRATA_A53_836870 98 99# Flag to apply erratum 843419 workaround at link time. 100# This erratum applies to revision <= r0p4 of the Cortex A53 cpu. Enabling this 101# workaround could lead the linker to emit "*.stub" sections which are 4kB 102# aligned. 103CPU_FLAG_LIST += ERRATA_A53_843419 104 105# Flag to apply errata 855873 during reset. This errata applies to all 106# revisions of the Cortex A53 CPU, but this firmware workaround only works 107# for revisions r0p3 and higher. Earlier revisions are taken care 108# of by the rich OS. 109CPU_FLAG_LIST += ERRATA_A53_855873 110 111# Flag to apply erratum 1530924 workaround during reset. This erratum applies 112# to all revisions of Cortex A53 cpu. 113CPU_FLAG_LIST += ERRATA_A53_1530924 114 115# Flag to apply erratum 768277 workaround during reset. This erratum applies 116# only to revision r0p0 of the Cortex A55 cpu. 117CPU_FLAG_LIST += ERRATA_A55_768277 118 119# Flag to apply erratum 778703 workaround during reset. This erratum applies 120# only to revision r0p0 of the Cortex A55 cpu. 121CPU_FLAG_LIST += ERRATA_A55_778703 122 123# Flag to apply erratum 798797 workaround during reset. This erratum applies 124# only to revision r0p0 of the Cortex A55 cpu. 125CPU_FLAG_LIST += ERRATA_A55_798797 126 127# Flag to apply erratum 846532 workaround during reset. This erratum applies 128# only to revision <= r0p1 of the Cortex A55 cpu. 129CPU_FLAG_LIST += ERRATA_A55_846532 130 131# Flag to apply erratum 903758 workaround during reset. This erratum applies 132# only to revision <= r0p1 of the Cortex A55 cpu. 133CPU_FLAG_LIST += ERRATA_A55_903758 134 135# Flag to apply erratum 1221012 workaround during reset. This erratum applies 136# only to revision <= r1p0 of the Cortex A55 cpu. 137CPU_FLAG_LIST += ERRATA_A55_1221012 138 139# Flag to apply erratum 1530923 workaround during reset. This erratum applies 140# to all revisions of Cortex A55 cpu. 141CPU_FLAG_LIST += ERRATA_A55_1530923 142 143# Flag to apply erratum 806969 workaround during reset. This erratum applies 144# only to revision r0p0 of the Cortex A57 cpu. 145CPU_FLAG_LIST += ERRATA_A57_806969 146 147# Flag to apply erratum 813419 workaround during reset. This erratum applies 148# only to revision r0p0 of the Cortex A57 cpu. 149CPU_FLAG_LIST += ERRATA_A57_813419 150 151# Flag to apply erratum 813420 workaround during reset. This erratum applies 152# only to revision r0p0 of the Cortex A57 cpu. 153CPU_FLAG_LIST += ERRATA_A57_813420 154 155# Flag to apply erratum 814670 workaround during reset. This erratum applies 156# only to revision r0p0 of the Cortex A57 cpu. 157CPU_FLAG_LIST += ERRATA_A57_814670 158 159# Flag to apply erratum 817169 workaround during power down. This erratum 160# applies only to revision <= r0p1 of the Cortex A57 cpu. 161CPU_FLAG_LIST += ERRATA_A57_817169 162 163# Flag to apply erratum 826974 workaround during reset. This erratum applies 164# only to revision <= r1p1 of the Cortex A57 cpu. 165CPU_FLAG_LIST += ERRATA_A57_826974 166 167# Flag to apply erratum 826977 workaround during reset. This erratum applies 168# only to revision <= r1p1 of the Cortex A57 cpu. 169CPU_FLAG_LIST += ERRATA_A57_826977 170 171# Flag to apply erratum 828024 workaround during reset. This erratum applies 172# only to revision <= r1p1 of the Cortex A57 cpu. 173CPU_FLAG_LIST += ERRATA_A57_828024 174 175# Flag to apply erratum 829520 workaround during reset. This erratum applies 176# only to revision <= r1p2 of the Cortex A57 cpu. 177CPU_FLAG_LIST += ERRATA_A57_829520 178 179# Flag to apply erratum 833471 workaround during reset. This erratum applies 180# only to revision <= r1p2 of the Cortex A57 cpu. 181CPU_FLAG_LIST += ERRATA_A57_833471 182 183# Flag to apply erratum 855972 workaround during reset. This erratum applies 184# only to revision <= r1p3 of the Cortex A57 cpu. 185CPU_FLAG_LIST += ERRATA_A57_859972 186 187# Flag to apply erratum 1319537 workaround during reset. This erratum applies 188# to all revisions of Cortex A57 cpu. 189CPU_FLAG_LIST += ERRATA_A57_1319537 190 191# Flag to apply erratum 855971 workaround during reset. This erratum applies 192# only to revision <= r0p3 of the Cortex A72 cpu. 193CPU_FLAG_LIST += ERRATA_A72_859971 194 195# Flag to apply erratum 1319367 workaround during reset. This erratum applies 196# to all revisions of Cortex A72 cpu. 197CPU_FLAG_LIST += ERRATA_A72_1319367 198 199# Flag to apply erratum 852427 workaround during reset. This erratum applies 200# only to revision r0p0 of the Cortex A73 cpu. 201CPU_FLAG_LIST += ERRATA_A73_852427 202 203# Flag to apply erratum 855423 workaround during reset. This erratum applies 204# only to revision <= r0p1 of the Cortex A73 cpu. 205CPU_FLAG_LIST += ERRATA_A73_855423 206 207# Flag to apply erratum 764081 workaround during reset. This erratum applies 208# only to revision <= r0p0 of the Cortex A75 cpu. 209CPU_FLAG_LIST += ERRATA_A75_764081 210 211# Flag to apply erratum 790748 workaround during reset. This erratum applies 212# only to revision <= r0p0 of the Cortex A75 cpu. 213CPU_FLAG_LIST += ERRATA_A75_790748 214 215# Flag to apply erratum 1073348 workaround during reset. This erratum applies 216# only to revision <= r1p0 of the Cortex A76 cpu. 217CPU_FLAG_LIST += ERRATA_A76_1073348 218 219# Flag to apply erratum 1130799 workaround during reset. This erratum applies 220# only to revision <= r2p0 of the Cortex A76 cpu. 221CPU_FLAG_LIST += ERRATA_A76_1130799 222 223# Flag to apply erratum 1220197 workaround during reset. This erratum applies 224# only to revision <= r2p0 of the Cortex A76 cpu. 225CPU_FLAG_LIST += ERRATA_A76_1220197 226 227# Flag to apply erratum 1257314 workaround during reset. This erratum applies 228# only to revision <= r3p0 of the Cortex A76 cpu. 229CPU_FLAG_LIST += ERRATA_A76_1257314 230 231# Flag to apply erratum 1262606 workaround during reset. This erratum applies 232# only to revision <= r3p0 of the Cortex A76 cpu. 233CPU_FLAG_LIST += ERRATA_A76_1262606 234 235# Flag to apply erratum 1262888 workaround during reset. This erratum applies 236# only to revision <= r3p0 of the Cortex A76 cpu. 237CPU_FLAG_LIST += ERRATA_A76_1262888 238 239# Flag to apply erratum 1275112 workaround during reset. This erratum applies 240# only to revision <= r3p0 of the Cortex A76 cpu. 241CPU_FLAG_LIST += ERRATA_A76_1275112 242 243# Flag to apply erratum 1286807 workaround during reset. This erratum applies 244# only to revision <= r3p0 of the Cortex A76 cpu. 245CPU_FLAG_LIST += ERRATA_A76_1286807 246 247# Flag to apply erratum 1791580 workaround during reset. This erratum applies 248# only to revision <= r4p0 of the Cortex A76 cpu. 249CPU_FLAG_LIST += ERRATA_A76_1791580 250 251# Flag to apply erratum 1165522 workaround during reset. This erratum applies 252# to all revisions of Cortex A76 cpu. 253CPU_FLAG_LIST += ERRATA_A76_1165522 254 255# Flag to apply erratum 1868343 workaround during reset. This erratum applies 256# only to revision <= r4p0 of the Cortex A76 cpu. 257CPU_FLAG_LIST += ERRATA_A76_1868343 258 259# Flag to apply erratum 1946160 workaround during reset. This erratum applies 260# only to revisions r3p0 - r4p1 of the Cortex A76 cpu. 261CPU_FLAG_LIST += ERRATA_A76_1946160 262 263# Flag to apply erratum 2743102 workaround during powerdown. This erratum 264# applies to all revisions <= r4p1 of the Cortex A76 cpu and is still open. 265CPU_FLAG_LIST += ERRATA_A76_2743102 266 267# Flag to apply erratum 1508412 workaround during reset. This erratum applies 268# only to revision <= r1p0 of the Cortex A77 cpu. 269CPU_FLAG_LIST += ERRATA_A77_1508412 270 271# Flag to apply erratum 1925769 workaround during reset. This erratum applies 272# only to revision <= r1p1 of the Cortex A77 cpu. 273CPU_FLAG_LIST += ERRATA_A77_1925769 274 275# Flag to apply erratum 1946167 workaround during reset. This erratum applies 276# only to revision <= r1p1 of the Cortex A77 cpu. 277CPU_FLAG_LIST += ERRATA_A77_1946167 278 279# Flag to apply erratum 1791578 workaround during reset. This erratum applies 280# to revisions r0p0, r1p0, and r1p1, it is still open. 281CPU_FLAG_LIST += ERRATA_A77_1791578 282 283# Flag to apply erratum 2356587 workaround during reset. This erratum applies 284# to revisions r0p0, r1p0, and r1p1, it is still open. 285CPU_FLAG_LIST += ERRATA_A77_2356587 286 287# Flag to apply erratum 1800714 workaround during reset. This erratum applies 288# to revisions <= r1p1 of the Cortex A77 cpu. 289CPU_FLAG_LIST += ERRATA_A77_1800714 290 291# Flag to apply erratum 2743100 workaround during power down. This erratum 292# applies to revisions r0p0, r1p0, and r1p1, it is still open. 293CPU_FLAG_LIST += ERRATA_A77_2743100 294 295# Flag to apply erratum 1688305 workaround during reset. This erratum applies 296# to revisions r0p0 - r1p0 of the A78 cpu. 297CPU_FLAG_LIST += ERRATA_A78_1688305 298 299# Flag to apply erratum 1941498 workaround during reset. This erratum applies 300# to revisions r0p0, r1p0, and r1p1 of the A78 cpu. 301CPU_FLAG_LIST += ERRATA_A78_1941498 302 303# Flag to apply erratum 1951500 workaround during reset. This erratum applies 304# to revisions r1p0 and r1p1 of the A78 cpu. The issue is present in r0p0 as 305# well but there is no workaround for that revision. 306CPU_FLAG_LIST += ERRATA_A78_1951500 307 308# Flag to apply erratum 1821534 workaround during reset. This erratum applies 309# to revisions r0p0 and r1p0 of the A78 cpu. 310CPU_FLAG_LIST += ERRATA_A78_1821534 311 312# Flag to apply erratum 1952683 workaround during reset. This erratum applies 313# to revision r0p0 of the A78 cpu and was fixed in the revision r1p0. 314CPU_FLAG_LIST += ERRATA_A78_1952683 315 316# Flag to apply erratum 2132060 workaround during reset. This erratum applies 317# to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. It is still open. 318CPU_FLAG_LIST += ERRATA_A78_2132060 319 320# Flag to apply erratum 2242635 workaround during reset. This erratum applies 321# to revisions r1p0, r1p1, and r1p2 of the A78 cpu and is open. The issue is 322# present in r0p0 as well but there is no workaround for that revision. 323CPU_FLAG_LIST += ERRATA_A78_2242635 324 325# Flag to apply erratum 2376745 workaround during reset. This erratum applies 326# to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. It is still open. 327CPU_FLAG_LIST += ERRATA_A78_2376745 328 329# Flag to apply erratum 2395406 workaround during reset. This erratum applies 330# to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. It is still open. 331CPU_FLAG_LIST += ERRATA_A78_2395406 332 333# Flag to apply erratum 2712571 workaround for non-arm interconnect ip. This 334# erratum applies to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. 335# It is fixed in r1p2. 336CPU_FLAG_LIST += ERRATA_A78_2712571 337 338# Flag to apply erratum 2742426 workaround during reset. This erratum 339# applies to revisions r0p0, r1p0, r1p1 and r1p2 of the A78 cpu. It is still 340# open. 341CPU_FLAG_LIST += ERRATA_A78_2742426 342 343# Flag to apply erratum 2772019 workaround during powerdown. This erratum 344# applies to revisions r0p0, r1p0, r1p1 and r1p2 of the A78 cpu. It is still 345# open. 346CPU_FLAG_LIST += ERRATA_A78_2772019 347 348# Flag to apply erratum 2779479 workaround during reset. This erratum applies 349# to revision r0p0, r1p0, r1p1 and r1p2 of the A78 cpu. It is still open. 350CPU_FLAG_LIST += ERRATA_A78_2779479 351 352# Flag to apply erratum 1941500 workaround during reset. This erratum applies 353# to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. 354CPU_FLAG_LIST += ERRATA_A78_AE_1941500 355 356# Flag to apply erratum 1951502 workaround during reset. This erratum applies 357# to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. 358CPU_FLAG_LIST += ERRATA_A78_AE_1951502 359 360# Flag to apply erratum 2376748 workaround during reset. This erratum applies 361# to revisions r0p0, r0p1 and r0p2 of the A78 AE cpu. It is still open. 362CPU_FLAG_LIST += ERRATA_A78_AE_2376748 363 364# Flag to apply erratum 2395408 workaround during reset. This erratum applies 365# to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. 366CPU_FLAG_LIST += ERRATA_A78_AE_2395408 367 368# Flag to apply erratum 1827430 workaround during reset. This erratum applies 369# to revision r0p0 of the A78C cpu. It is fixed in r0p1. 370CPU_FLAG_LIST += ERRATA_A78C_1827430 371 372# Flag to apply erratum 1827440 workaround during reset. This erratum applies 373# to revision r0p0 of the A78C cpu. It is fixed in r0p1. 374CPU_FLAG_LIST += ERRATA_A78C_1827440 375 376# Flag to apply erratum 2712574 workaround for non-arm interconnect ip. This 377# erratum applies to revisions r0p0, r0p1 and r0p2 of the A78 AE cpu. 378# It is still open. 379CPU_FLAG_LIST += ERRATA_A78_AE_2712574 380 381# Flag to apply erratum 2132064 workaround during reset. This erratum applies 382# to revisions r0p1 and r0p2 of the A78C cpu. It is still open. 383CPU_FLAG_LIST += ERRATA_A78C_2132064 384 385# Flag to apply erratum 2242638 workaround during reset. This erratum applies 386# to revisions r0p1 and r0p2 of the A78C cpu. It is still open. 387CPU_FLAG_LIST += ERRATA_A78C_2242638 388 389# Flag to apply erratum 2376749 workaround during reset. This erratum applies 390# to revisions r0p1 and r0p2 of the A78C cpu. It is still open. 391CPU_FLAG_LIST += ERRATA_A78C_2376749 392 393# Flag to apply erratum 2395411 workaround during reset. This erratum applies 394# to revisions r0p1 and r0p2 of the A78C cpu. It is still open. 395CPU_FLAG_LIST += ERRATA_A78C_2395411 396 397# Flag to apply erratum 2683027 workaround during reset. This erratum applies 398# to revisions r0p1 and r0p2 of the A78C cpu. It is still open. 399CPU_FLAG_LIST += ERRATA_A78C_2683027 400 401# Flag to apply erratum 2712575 workaround for non-arm interconnect ip. This 402# erratum applies to revisions r0p1 and r0p2 of the A78C cpu. 403# It is still open. 404CPU_FLAG_LIST += ERRATA_A78C_2712575 405 406# Flag to apply erratum 2743232 workaround during reset. This erratum applies 407# to revisions r0p1 and r0p2 of the A78C cpu. It is still open. 408CPU_FLAG_LIST += ERRATA_A78C_2743232 409 410# Flag to apply erratum 2772121 workaround during powerdown. This erratum 411# applies to revisions r0p0, r0p1 and r0p2 of the A78C cpu. It is still open. 412CPU_FLAG_LIST += ERRATA_A78C_2772121 413 414# Flag to apply erratum 2779484 workaround during reset. This erratum 415# applies to revisions r0p1 and r0p2 of the A78C cpu. It is still open. 416CPU_FLAG_LIST += ERRATA_A78C_2779484 417 418# Flag to apply erratum 1821534 workaround during reset. This erratum applies 419# to revisions r0p0 - r1p0 of the X1 cpu and fixed in r1p1. 420CPU_FLAG_LIST += ERRATA_X1_1821534 421 422# Flag to apply erratum 1688305 workaround during reset. This erratum applies 423# to revisions r0p0 - r1p0 of the X1 cpu and fixed in r1p1. 424CPU_FLAG_LIST += ERRATA_X1_1688305 425 426# Flag to apply erratum 1827429 workaround during reset. This erratum applies 427# to revisions r0p0 - r1p0 of the X1 cpu and fixed in r1p1. 428CPU_FLAG_LIST += ERRATA_X1_1827429 429 430# Flag to apply T32 CLREX workaround during reset. This erratum applies 431# only to r0p0 and r1p0 of the Neoverse N1 cpu. 432CPU_FLAG_LIST += ERRATA_N1_1043202 433 434# Flag to apply erratum 1073348 workaround during reset. This erratum applies 435# only to revision r0p0 and r1p0 of the Neoverse N1 cpu. 436CPU_FLAG_LIST += ERRATA_N1_1073348 437 438# Flag to apply erratum 1130799 workaround during reset. This erratum applies 439# only to revision <= r2p0 of the Neoverse N1 cpu. 440CPU_FLAG_LIST += ERRATA_N1_1130799 441 442# Flag to apply erratum 1165347 workaround during reset. This erratum applies 443# only to revision <= r2p0 of the Neoverse N1 cpu. 444CPU_FLAG_LIST += ERRATA_N1_1165347 445 446# Flag to apply erratum 1207823 workaround during reset. This erratum applies 447# only to revision <= r2p0 of the Neoverse N1 cpu. 448CPU_FLAG_LIST += ERRATA_N1_1207823 449 450# Flag to apply erratum 1220197 workaround during reset. This erratum applies 451# only to revision <= r2p0 of the Neoverse N1 cpu. 452CPU_FLAG_LIST += ERRATA_N1_1220197 453 454# Flag to apply erratum 1257314 workaround during reset. This erratum applies 455# only to revision <= r3p0 of the Neoverse N1 cpu. 456CPU_FLAG_LIST += ERRATA_N1_1257314 457 458# Flag to apply erratum 1262606 workaround during reset. This erratum applies 459# only to revision <= r3p0 of the Neoverse N1 cpu. 460CPU_FLAG_LIST += ERRATA_N1_1262606 461 462# Flag to apply erratum 1262888 workaround during reset. This erratum applies 463# only to revision <= r3p0 of the Neoverse N1 cpu. 464CPU_FLAG_LIST += ERRATA_N1_1262888 465 466# Flag to apply erratum 1275112 workaround during reset. This erratum applies 467# only to revision <= r3p0 of the Neoverse N1 cpu. 468CPU_FLAG_LIST += ERRATA_N1_1275112 469 470# Flag to apply erratum 1315703 workaround during reset. This erratum applies 471# to revisions before r3p1 of the Neoverse N1 cpu. 472CPU_FLAG_LIST += ERRATA_N1_1315703 473 474# Flag to apply erratum 1542419 workaround during reset. This erratum applies 475# to revisions r3p0 - r4p0 of the Neoverse N1 cpu. 476CPU_FLAG_LIST += ERRATA_N1_1542419 477 478# Flag to apply erratum 1868343 workaround during reset. This erratum applies 479# to revision <= r4p0 of the Neoverse N1 cpu. 480CPU_FLAG_LIST += ERRATA_N1_1868343 481 482# Flag to apply erratum 1946160 workaround during reset. This erratum applies 483# to revisions r3p0, r3p1, r4p0, and r4p1 of the Neoverse N1 cpu. The issue 484# exists in revisions r0p0, r1p0, and r2p0 as well but there is no workaround. 485CPU_FLAG_LIST += ERRATA_N1_1946160 486 487# Flag to apply erratum 2743102 workaround during powerdown. This erratum 488# applies to all revisions <= r4p1 of the Neoverse N1 cpu and is still open. 489CPU_FLAG_LIST += ERRATA_N1_2743102 490 491# Flag to apply erratum 1618635 workaround during reset. This erratum applies 492# to revision r0p0 of the Neoverse V1 cpu and was fixed in the revision r1p0. 493CPU_FLAG_LIST += ERRATA_V1_1618635 494 495# Flag to apply erratum 1774420 workaround during reset. This erratum applies 496# to revisions r0p0 and r1p0 of the Neoverse V1 core, and was fixed in r1p1. 497CPU_FLAG_LIST += ERRATA_V1_1774420 498 499# Flag to apply erratum 1791573 workaround during reset. This erratum applies 500# to revisions r0p0 and r1p0 of the Neoverse V1 core, and was fixed in r1p1. 501CPU_FLAG_LIST += ERRATA_V1_1791573 502 503# Flag to apply erratum 1852267 workaround during reset. This erratum applies 504# to revisions r0p0 and r1p0 of the Neoverse V1 core, and was fixed in r1p1. 505CPU_FLAG_LIST += ERRATA_V1_1852267 506 507# Flag to apply erratum 1925756 workaround during reset. This needs to be 508# enabled for r0p0, r1p0, and r1p1 of the Neoverse V1 core, it is still open. 509CPU_FLAG_LIST += ERRATA_V1_1925756 510 511# Flag to apply erratum 1940577 workaround during reset. This erratum applies 512# to revisions r1p0 and r1p1 of the Neoverse V1 cpu. 513CPU_FLAG_LIST += ERRATA_V1_1940577 514 515# Flag to apply erratum 1966096 workaround during reset. This erratum applies 516# to revisions r1p0 and r1p1 of the Neoverse V1 CPU and is open. This issue 517# exists in r0p0 as well but there is no workaround for that revision. 518CPU_FLAG_LIST += ERRATA_V1_1966096 519 520# Flag to apply erratum 2139242 workaround during reset. This erratum applies 521# to revisions r0p0, r1p0, and r1p1 of the Neoverse V1 cpu and is still open. 522CPU_FLAG_LIST += ERRATA_V1_2139242 523 524# Flag to apply erratum 2108267 workaround during reset. This erratum applies 525# to revisions r0p0, r1p0, and r1p1 of the Neoverse V1 cpu and is still open. 526CPU_FLAG_LIST += ERRATA_V1_2108267 527 528# Flag to apply erratum 2216392 workaround during reset. This erratum applies 529# to revisions r1p0 and r1p1 of the Neoverse V1 cpu and is still open. This 530# issue exists in r0p0 as well but there is no workaround for that revision. 531CPU_FLAG_LIST += ERRATA_V1_2216392 532 533# Flag to apply erratum 2294912 workaround during reset. This erratum applies 534# to revisions r0p0, r1p0, and r1p1 and r1p2 of the Neoverse V1 cpu and is still open. 535CPU_FLAG_LIST += ERRATA_V1_2294912 536 537# Flag to apply erratum 2348377 workaround during reset. This erratum applies 538# to revisions r0p0, r1p0 and r1p1 of the Neoverse V1 cpu and is fixed in r1p2. 539CPU_FLAG_LIST += ERRATA_V1_2348377 540 541# Flag to apply erratum 2372203 workaround during reset. This erratum applies 542# to revisions r0p0, r1p0 and r1p1 of the Neoverse V1 cpu and is still open. 543CPU_FLAG_LIST += ERRATA_V1_2372203 544 545# Flag to apply erratum 2701953 workaround to non-arm interconnect ip. This 546# erratum applies to revisions r0p0, r1p0, r1p1 of the Neoverse V1 cpu, 547# it is fixed in r1p2. 548CPU_FLAG_LIST += ERRATA_V1_2701953 549 550# Flag to apply erratum 2743093 workaround during powerdown. This erratum 551# applies to revisions r0p0, r1p0, r1p1 and r1p2 of the Neoverse V1 cpu and is 552# still open. 553CPU_FLAG_LIST += ERRATA_V1_2743093 554 555# Flag to apply erratum 2743233 workaround during powerdown. This erratum 556# applies to revisions r0p0, r1p0, r1p1 and r1p2 of the Neoverse V1 cpu and is 557# still open. 558CPU_FLAG_LIST += ERRATA_V1_2743233 559 560# Flag to apply erratum 2779461 workaround during powerdown. This erratum 561# applies to revisions r0p0, r1p0, r1p1 and r1p2 of the Neoverse V1 cpu and is 562# still open. 563CPU_FLAG_LIST += ERRATA_V1_2779461 564 565# Flag to apply erratum 1987031 workaround during reset. This erratum applies 566# to revisions r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. 567CPU_FLAG_LIST += ERRATA_A710_1987031 568 569# Flag to apply erratum 2081180 workaround during reset. This erratum applies 570# to revisions r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. 571CPU_FLAG_LIST += ERRATA_A710_2081180 572 573# Flag to apply erratum 2083908 workaround during reset. This erratum applies 574# to revision r2p0 of the Cortex-A710 cpu and is still open. 575CPU_FLAG_LIST += ERRATA_A710_2083908 576 577# Flag to apply erratum 2058056 workaround during reset. This erratum applies 578# to revisions r0p0, r1p0, r2p0 and r2p1 of the Cortex-A710 cpu and is still 579# open. 580CPU_FLAG_LIST += ERRATA_A710_2058056 581 582# Flag to apply erratum 2055002 workaround during reset. This erratum applies 583# to revision r1p0, r2p0 of the Cortex-A710 cpu and is still open. 584CPU_FLAG_LIST += ERRATA_A710_2055002 585 586# Flag to apply erratum 2017096 workaround during reset. This erratum applies 587# to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. 588CPU_FLAG_LIST += ERRATA_A710_2017096 589 590# Flag to apply erratum 2267065 workaround during reset. This erratum applies 591# to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. 592CPU_FLAG_LIST += ERRATA_A710_2267065 593 594# Flag to apply erratum 2136059 workaround during reset. This erratum applies 595# to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. 596CPU_FLAG_LIST += ERRATA_A710_2136059 597 598# Flag to apply erratum 2147715 workaround during reset. This erratum applies 599# to revision r2p0 of the Cortex-A710 CPU and is fixed in revision r2p1. 600CPU_FLAG_LIST += ERRATA_A710_2147715 601 602# Flag to apply erratum 2216384 workaround during reset. This erratum applies 603# to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. 604CPU_FLAG_LIST += ERRATA_A710_2216384 605 606# Flag to apply erratum 2282622 workaround during reset. This erratum applies 607# to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-A710 cpu and is still 608# open. 609CPU_FLAG_LIST += ERRATA_A710_2282622 610 611# Flag to apply erratum 2291219 workaround during reset. This erratum applies 612# to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. 613CPU_FLAG_LIST += ERRATA_A710_2291219 614 615# Flag to apply erratum 2008768 workaround during reset. This erratum applies 616# to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. 617CPU_FLAG_LIST += ERRATA_A710_2008768 618 619# Flag to apply erratum 2371105 workaround during reset. This erratum applies 620# to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. 621CPU_FLAG_LIST += ERRATA_A710_2371105 622 623# Flag to apply erratum 2701952 workaround for non-arm interconnect ip. This 624# erratum applies to revision r0p0, r1p0, r2p0, r2p1 of the Cortex-A710 cpu 625# and is still open. 626CPU_FLAG_LIST += ERRATA_A710_2701952 627 628# Flag to apply erratum 2742423 workaround during reset. This erratum applies 629# to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-A710 cpu and is still 630# open. 631CPU_FLAG_LIST += ERRATA_A710_2742423 632 633# Flag to apply erratum 2768515 workaround during power down. This erratum 634# applies to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-A710 cpu and is 635# still open. 636CPU_FLAG_LIST += ERRATA_A710_2768515 637 638# Flag to apply erratum 2778471 workaround during reset. This erratum applies 639# to revisions r0p0, r1p0, r2p0, r2p1 of the Cortex-A710 cpu and is still 640# open. 641CPU_FLAG_LIST += ERRATA_A710_2778471 642 643# Flag to apply erratum 2002655 workaround during reset. This erratum applies 644# to revisions r0p0 of the Neoverse-N2 cpu and is fixed in r0p1. 645CPU_FLAG_LIST += ERRATA_N2_2002655 646 647# Flag to apply erratum 2009478 workaround during powerdown. This erratum 648# applies to revision r0p0 of the Neoverse N2 cpu, it is fixed in r0p1. 649CPU_FLAG_LIST += ERRATA_N2_2009478 650 651# Flag to apply erratum 2067956 workaround during reset. This erratum applies 652# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 653CPU_FLAG_LIST += ERRATA_N2_2067956 654 655# Flag to apply erratum 2025414 workaround during reset. This erratum applies 656# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 657CPU_FLAG_LIST += ERRATA_N2_2025414 658 659# Flag to apply erratum 2189731 workaround during reset. This erratum applies 660# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 661CPU_FLAG_LIST += ERRATA_N2_2189731 662 663# Flag to apply erratum 2138956 workaround during reset. This erratum applies 664# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 665CPU_FLAG_LIST += ERRATA_N2_2138956 666 667# Flag to apply erratum 2138953 workaround during reset. This erratum applies 668# to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. 669CPU_FLAG_LIST += ERRATA_N2_2138953 670 671# Flag to apply erratum 2242415 workaround during reset. This erratum applies 672# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 673CPU_FLAG_LIST += ERRATA_N2_2242415 674 675# Flag to apply erratum 2138958 workaround during reset. This erratum applies 676# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 677CPU_FLAG_LIST += ERRATA_N2_2138958 678 679# Flag to apply erratum 2242400 workaround during reset. This erratum applies 680# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 681CPU_FLAG_LIST += ERRATA_N2_2242400 682 683# Flag to apply erratum 2280757 workaround during reset. This erratum applies 684# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 685CPU_FLAG_LIST += ERRATA_N2_2280757 686 687# Flag to apply erratum 2326639 workaroud during powerdown. This erratum 688# applies to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 689CPU_FLAG_LIST += ERRATA_N2_2326639 690 691# Flag to apply erratum 2340933 workaroud during reset. This erratum 692# applies to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. 693CPU_FLAG_LIST += ERRATA_N2_2340933 694 695# Flag to apply erratum 2346952 workaround during reset. This erratum applies 696# to r0p0, r0p1, r0p2 of the Neoverse N2 cpu, it is fixed in r0p3. 697CPU_FLAG_LIST += ERRATA_N2_2346952 698 699# Flag to apply erratum 2376738 workaround during reset. This erratum applies 700# to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. 701CPU_FLAG_LIST += ERRATA_N2_2376738 702 703# Flag to apply erratum 2388450 workaround during reset. This erratum applies 704# to revision r0p0 of the Neoverse N2 cpu, it is fixed in r0p1. 705CPU_FLAG_LIST += ERRATA_N2_2388450 706 707# Flag to apply erratum 2728475 workaround for non-arm interconnect ip. This 708# erratum applies to r0p0, r0p1, r0p2 of the Neoverse N2 cpu, it is fixed in 709# r0p3. 710CPU_FLAG_LIST += ERRATA_N2_2728475 711 712# Flag to apply erratum 2743014 workaround during reset. This erratum applies 713# to r0p0, r0p1, r0p2 of the Neoverse N2 cpu, it is fixed in r0p3. 714CPU_FLAG_LIST += ERRATA_N2_2743014 715 716# Flag to apply erratum 2743089 workaround during during powerdown. This erratum 717# applies to all revisions <= r0p2 of the Neoverse N2 cpu, it is fixed in r0p3. 718CPU_FLAG_LIST += ERRATA_N2_2743089 719 720# Flag to apply erratum 2779511 workaround during reset. This erratum applies 721# to r0p0, r0p1, r0p2 of the Neoverse N2 cpu, it is fixed in r0p3. 722CPU_FLAG_LIST += ERRATA_N2_2779511 723 724# Flag to apply erratum 2002765 workaround during reset. This erratum applies 725# to revisions r0p0, r1p0, and r2p0 of the Cortex-X2 cpu and is still open. 726CPU_FLAG_LIST += ERRATA_X2_2002765 727 728# Flag to apply erratum 2058056 workaround during reset. This erratum applies 729# to revisions r0p0, r1p0, r2p0 and r2p1 of the Cortex-X2 cpu and is still open. 730CPU_FLAG_LIST += ERRATA_X2_2058056 731 732# Flag to apply erratum 2083908 workaround during reset. This erratum applies 733# to revision r2p0 of the Cortex-X2 cpu and is still open. 734CPU_FLAG_LIST += ERRATA_X2_2083908 735 736# Flag to apply erratum 2017096 workaround during reset. This erratum applies 737# only to revisions r0p0, r1p0 and r2p0 of the Cortex-X2 cpu, it is fixed in 738# r2p1. 739CPU_FLAG_LIST += ERRATA_X2_2017096 740 741# Flag to apply erratum 2081180 workaround during reset. This erratum applies 742# only to revisions r0p0, r1p0 and r2p0 of the Cortex-X2 cpu, it is fixed in 743# r2p1. 744CPU_FLAG_LIST += ERRATA_X2_2081180 745 746# Flag to apply erratum 2216384 workaround during reset. This erratum applies 747# only to revisions r0p0, r1p0 and r2p0 of the Cortex-X2 cpu, it is fixed in 748# r2p1. 749CPU_FLAG_LIST += ERRATA_X2_2216384 750 751# Flag to apply erratum 2147715 workaround during reset. This erratum applies 752# only to revision r2p0 of the Cortex-X2 cpu, it is fixed in r2p1. 753CPU_FLAG_LIST += ERRATA_X2_2147715 754 755# Flag to apply erratum 2282622 workaround during reset. This erratum applies 756# to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-X2 cpu and is still 757# open. 758CPU_FLAG_LIST += ERRATA_X2_2282622 759 760# Flag to apply erratum 2371105 workaround during reset. This erratum applies 761# to revision r0p0, r1p0 and r2p0 of the Cortex-X2 cpu and is fixed in r2p1. 762CPU_FLAG_LIST += ERRATA_X2_2371105 763 764# Flag to apply erratum 2701952 workaround for non-arm interconnect ip. This 765# erratum applies to revisions r0p0, r1p0, r2p0, r2p1 of the Cortex-x2 cpu 766# and is still open. 767CPU_FLAG_LIST += ERRATA_X2_2701952 768 769# Flag to apply erratum 2742423 workaround during reset. This erratum applies 770# to revisions r0p0, r1p0, r2p0 and r2p1 of the Cortex-X2 cpu and is still open. 771CPU_FLAG_LIST += ERRATA_X2_2742423 772 773# Flag to apply erratum 2768515 workaround during power down. This erratum 774# applies to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-X2 cpu and is 775# still open. 776CPU_FLAG_LIST += ERRATA_X2_2768515 777 778# Flag to apply erratum 2778471 workaround during reset. This erratum applies 779# to revisions r0p0, r1p0, r2p0, r2p1 of the Cortex-X2 cpu and it is still open. 780CPU_FLAG_LIST += ERRATA_X2_2778471 781 782# Flag to apply erratum 2070301 workaround on reset. This erratum applies 783# to revisions r0p0, r1p0, r1p1 and r1p2 of the Cortex-X3 cpu and is 784# still open. 785CPU_FLAG_LIST += ERRATA_X3_2070301 786 787# Flag to apply erratum 2266875 workaround during reset. This erratum applies 788# to revisions r0p0 and r1p0 of the Cortex-X3 cpu, it is fixed in r1p1. 789CPU_FLAG_LIST += ERRATA_X3_2266875 790 791# Flag to apply erratum 2302506 workaround during reset. This erratum applies 792# to revisions r0p0, r1p0 and r1p1 of the Cortex-X3 cpu, it is fixed in r1p2. 793CPU_FLAG_LIST += ERRATA_X3_2302506 794 795# Flag to apply erratum 2313909 workaround on powerdown. This erratum applies 796# to revisions r0p0 and r1p0 of the Cortex-X3 cpu, it is fixed in r1p1. 797CPU_FLAG_LIST += ERRATA_X3_2313909 798 799# Flag to apply erratum 2372204 workaround during reset. This erratum applies 800# to revisions r0p0 and r1p0 of the Cortex-X3 cpu, it is fixed in r1p1. 801CPU_FLAG_LIST += ERRATA_X3_2372204 802 803# Flag to apply erratum 2615812 workaround on powerdown. This erratum applies 804# to revisions r0p0, r1p0, r1p1 of the Cortex-X3 cpu, it is fixed in r1p2. 805CPU_FLAG_LIST += ERRATA_X3_2615812 806 807# Flag to apply erratum 2641945 workaround on reset. This erratum applies 808# to revisions r0p0 and r1p0 of the Cortex-X3 cpu, it is fixed in r1p1. 809CPU_FLAG_LIST += ERRATA_X3_2641945 810 811# Flag to apply erratum 2701951 workaround for non-arm interconnect ip. 812# This erratum applies to revisions r0p0, r1p0, and r1p1. Its is fixed in r1p2. 813CPU_FLAG_LIST += ERRATA_X3_2701951 814 815# Flag to apply erratum 2742421 workaround on reset. This erratum applies 816# to revisions r0p0, r1p0 and r1p1 of the Cortex-X3 cpu, it is fixed in r1p2. 817CPU_FLAG_LIST += ERRATA_X3_2742421 818 819# Flag to apply erratum 2743088 workaround on powerdown. This erratum applies 820# to revisions r0p0, r1p0 and r1p1 of the Cortex-X3 cpu, it is fixed in r1p2. 821CPU_FLAG_LIST += ERRATA_X3_2743088 822 823# Flag to apply erratum 2779509 workaround on reset. This erratum applies 824# to revisions r0p0, r1p0, r1p1 of the Cortex-X3 cpu, it is fixed in r1p2. 825CPU_FLAG_LIST += ERRATA_X3_2779509 826 827# Flag to apply erratum 2701112 workaround for platforms that do not use an 828# Arm interconnect IP. This erratum applies to revisions r0p0 of the Cortex-X4 829# cpu and is fixed in r0p1. 830CPU_FLAG_LIST += ERRATA_X4_2701112 831 832# Flag to apply erratum 2726228 workaround during warmboot. This erratum 833# applies to all revisions <= r0p1 of the Cortex-X4 cpu, it is fixed in r0p2. 834CPU_FLAG_LIST += ERRATA_X4_2726228 835 836# Flag to apply erratum 2740089 workaround during powerdown. This erratum 837# applies to all revisions <= r0p1 of the Cortex-X4 cpu, it is fixed in r0p2. 838CPU_FLAG_LIST += ERRATA_X4_2740089 839 840# Flag to apply erratum 2763018 workaround on reset. This erratum applies 841# to revisions r0p0 and r0p1 of the Cortex-X4 cpu. It is fixed in r0p2. 842CPU_FLAG_LIST += ERRATA_X4_2763018 843 844# Flag to apply erratum 2816013 workaround on reset. This erratum applies 845# to revisions r0p0 and r0p1 of the Cortex-X4 cpu. It is fixed in r0p2. 846CPU_FLAG_LIST += ERRATA_X4_2816013 847 848# Flag to apply erratum 2897503 workaround on reset. This erratum applies 849# to revisions r0p0 and r0p1 of the Cortex-X4 cpu. It is fixed in r0p2. 850CPU_FLAG_LIST += ERRATA_X4_2897503 851 852# Flag to apply erratum 2923985 workaround on reset. This erratum applies 853# to revisions r0p0 and r0p1 of the Cortex-X4 cpu. It is fixed in r0p2. 854CPU_FLAG_LIST += ERRATA_X4_2923985 855 856# Flag to apply erratum 3076789 workaround on reset. This erratum applies 857# to revisions r0p0 and r0p1 of the Cortex-X4 cpu. It is fixed in r0p2. 858CPU_FLAG_LIST += ERRATA_X4_3076789 859 860# Flag to apply erratum 1922240 workaround during reset. This erratum applies 861# to revision r0p0 of the Cortex-A510 cpu and is fixed in r0p1. 862CPU_FLAG_LIST += ERRATA_A510_1922240 863 864# Flag to apply erratum 2288014 workaround during reset. This erratum applies 865# to revisions r0p0, r0p1, r0p2, r0p3 and r1p0 of the Cortex-A510 cpu and is 866# fixed in r1p1. 867CPU_FLAG_LIST += ERRATA_A510_2288014 868 869# Flag to apply erratum 2042739 workaround during reset. This erratum applies 870# to revisions r0p0, r0p1 and r0p2 of the Cortex-A510 cpu and is fixed in r0p3. 871CPU_FLAG_LIST += ERRATA_A510_2042739 872 873# Flag to apply erratum 2041909 workaround during reset. This erratum applies 874# to revision r0p2 of the Cortex-A510 cpu and is fixed in r0p3. The issue is 875# present in r0p0 and r0p1 but there is no workaround for those revisions. 876CPU_FLAG_LIST += ERRATA_A510_2041909 877 878# Flag to aply erratum 2080326 workaround during reset. This erratum applies 879# to revision r0p2 of the Cortex-A510 cpu and is fixed in r0p3. The issue is 880# also present in r0p0 and r0p1 but there is no workaround for those revisions. 881CPU_FLAG_LIST += ERRATA_A510_2080326 882 883# Flag to apply erratum 2250311 workaround during reset. This erratum applies 884# to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1. 885CPU_FLAG_LIST += ERRATA_A510_2250311 886 887# Flag to apply erratum 2218950 workaround during reset. This erratum applies 888# to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1. 889CPU_FLAG_LIST += ERRATA_A510_2218950 890 891# Flag to apply erratum 2172148 workaround during reset. This erratum applies 892# to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1. 893CPU_FLAG_LIST += ERRATA_A510_2172148 894 895# Flag to apply erratum 2347730 workaround during reset. This erratum applies 896# to revisions r0p0, r0p1, r0p2, r0p3, r1p0 and r1p1 of the Cortex-A510 CPU, 897# and is fixed in r1p2. 898CPU_FLAG_LIST += ERRATA_A510_2347730 899 900# Flag to apply erratum 2371937 workaround during reset. This erratum applies 901# to revisions r0p0, r0p1, r0p2, r0p3, r1p0, and r1p1. It is fixed in r1p2. 902CPU_FLAG_LIST += ERRATA_A510_2371937 903 904# Flag to apply erratum 2666669 workaround during reset. This erratum applies 905# to revisions r0p0, r0p1, r0p2, r0p3, r1p0, and r1p1. It is fixed in r1p2. 906CPU_FLAG_LIST += ERRATA_A510_2666669 907 908# Flag to apply erratum 2684597 workaround during powerdown. This erratum 909# applies to revision r0p0, r0p1, r0p2, r0p3, r1p0, r1p1 and r1p2 of the 910# Cortex-A510 cpu and is fixed in r1p3. 911CPU_FLAG_LIST += ERRATA_A510_2684597 912 913# Flag to apply erratum 2630792 workaround during reset. This erratum applies 914# to revisions r0p0, r0p1 of the Cortex-A520 cpu and is still open. 915CPU_FLAG_LIST += ERRATA_A520_2630792 916 917# Flag to apply erratum 2858100 workaround during reset. This erratum 918# applies to revision r0p0 and r0p1 of the Cortex-A520 cpu and is still open. 919CPU_FLAG_LIST += ERRATA_A520_2858100 920 921# Flag to apply erratum 2938996 workaround during reset. This erratum 922# applies to revision r0p0 and r0p1 of the Cortex-A520 cpu and is fixed in r0p2. 923CPU_FLAG_LIST += ERRATA_A520_2938996 924 925# Flag to apply erratum 2331132 workaround during reset. This erratum applies 926# to revisions r0p0, r0p1 and r0p2. It is still open. 927CPU_FLAG_LIST += ERRATA_V2_2331132 928 929# Flag to apply erratum 2618597 workaround during reset. This erratum applies 930# to revisions r0p0 and r0p1. It is fixed in r0p2. 931CPU_FLAG_LIST += ERRATA_V2_2618597 932 933# Flag to apply erratum 2662553 workaround during reset. This erratum applies 934# to revisions r0p0 and r0p1. It is fixed in r0p2. 935CPU_FLAG_LIST += ERRATA_V2_2662553 936 937# Flag to apply erratum 2719103 workaround for non-arm interconnect ip. This 938# erratum applies to revisions r0p0, rop1. Fixed in r0p2. 939CPU_FLAG_LIST += ERRATA_V2_2719103 940 941# Flag to apply erratum 2719105 workaround during reset. This erratum applies 942# to revisions r0p0 and r0p1. It is fixed in r0p2. 943CPU_FLAG_LIST += ERRATA_V2_2719105 944 945# Flag to apply erratum 2743011 workaround during reset. This erratum applies 946# to revisions r0p0 and r0p1. It is fixed in r0p2. 947CPU_FLAG_LIST += ERRATA_V2_2743011 948 949# Flag to apply erratum 2779510 workaround during reset. This erratum applies 950# to revisions r0p0 and r0p1. It is fixed in r0p2. 951CPU_FLAG_LIST += ERRATA_V2_2779510 952 953# Flag to apply erratum 2801372 workaround for all configurations. 954# This erratum applies to revisions r0p0, r0p1. Fixed in r0p2. 955CPU_FLAG_LIST += ERRATA_V2_2801372 956 957# Flag to apply erratum 2331818 workaround during reset. This erratum applies 958# to revisions r0p0 and r1p0. It is fixed in r1p1. 959CPU_FLAG_LIST += ERRATA_A715_2331818 960 961# Flag to apply erratum 2344187 workaround during reset. This erratum applies 962# to revisions r0p0, and r1p0. It is fixed in r1p1. 963CPU_FLAG_LIST += ERRATA_A715_2344187 964 965# Flag to apply erratum 2413290 workaround during reset. This erratum applies 966# only to revision r1p0. It is fixed in r1p1. 967CPU_FLAG_LIST += ERRATA_A715_2413290 968 969# Flag to apply erratum 2420947 workaround during reset. This erratum applies 970# only to revision r1p0. It is fixed in r1p1. 971CPU_FLAG_LIST += ERRATA_A715_2420947 972 973# Flag to apply erratum 2429384 workaround during reset. This erratum applies 974# to revision r1p0. There is no workaround for r0p0. It is fixed in r1p1. 975CPU_FLAG_LIST += ERRATA_A715_2429384 976 977# Flag to apply erratum 2561034 workaround during reset. This erratum applies 978# only to revision r1p0. It is fixed in r1p1. 979CPU_FLAG_LIST += ERRATA_A715_2561034 980 981# Flag to apply erratum 2728106 workaround during reset. This erratum applies 982# only to revision r0p0, r1p0 and r1p1. It is fixed in r1p2. 983CPU_FLAG_LIST += ERRATA_A715_2728106 984 985# Flag to apply erratum 2792132 workaround during reset. This erratum applies 986# to revisions r0p0 and r0p1. It is fixed in r0p2. 987CPU_FLAG_LIST += ERRATA_A720_2792132 988 989# Flag to apply erratum 2844092 workaround during reset. This erratum applies 990# to revisions r0p0 and r0p1. It is fixed in r0p2. 991CPU_FLAG_LIST += ERRATA_A720_2844092 992 993# Flag to apply erratum 2926083 workaround during reset. This erratum applies 994# to revisions r0p0 and r0p1. It is fixed in r0p2. 995CPU_FLAG_LIST += ERRATA_A720_2926083 996 997# Flag to apply erratum 2940794 workaround during reset. This erratum applies 998# to revisions r0p0 and r0p1. It is fixed in r0p2. 999CPU_FLAG_LIST += ERRATA_A720_2940794 1000 1001# Flag to apply DSU erratum 798953. This erratum applies to DSUs revision r0p0. 1002# Applying the workaround results in higher DSU power consumption on idle. 1003CPU_FLAG_LIST += ERRATA_DSU_798953 1004 1005# Flag to apply DSU erratum 936184. This erratum applies to DSUs containing 1006# the ACP interface and revision < r2p0. Applying the workaround results in 1007# higher DSU power consumption on idle. 1008CPU_FLAG_LIST += ERRATA_DSU_936184 1009 1010# Flag to apply DSU erratum 2313941. This erratum applies to DSUs revisions 1011# r0p0, r1p0, r2p0, r2p1, r3p0, r3p1 and is still open. Applying the workaround 1012# results in higher DSU power consumption on idle. 1013CPU_FLAG_LIST += ERRATA_DSU_2313941 1014 1015ifneq (${DYNAMIC_WORKAROUND_CVE_2018_3639},0) 1016 ifeq (${WORKAROUND_CVE_2018_3639},0) 1017 $(error "Error: WORKAROUND_CVE_2018_3639 must be 1 if DYNAMIC_WORKAROUND_CVE_2018_3639 is 1") 1018 endif 1019endif 1020 1021# process all flags 1022$(eval $(call default_zeros, $(CPU_FLAG_LIST))) 1023$(eval $(call add_defines, $(CPU_FLAG_LIST))) 1024$(eval $(call assert_booleans, $(CPU_FLAG_LIST))) 1025 1026# Errata build flags 1027ifneq (${ERRATA_A53_843419},0) 1028TF_LDFLAGS_aarch64 += --fix-cortex-a53-843419 1029endif 1030 1031ifneq (${ERRATA_A53_835769},0) 1032TF_CFLAGS_aarch64 += -mfix-cortex-a53-835769 1033TF_LDFLAGS_aarch64 += --fix-cortex-a53-835769 1034endif 1035 1036ifneq ($(filter 1,${ERRATA_A53_1530924} ${ERRATA_A55_1530923} \ 1037 ${ERRATA_A57_1319537} ${ERRATA_A72_1319367} ${ERRATA_A76_1165522}),) 1038ERRATA_SPECULATIVE_AT := 1 1039else 1040ERRATA_SPECULATIVE_AT := 0 1041endif 1042