Soby Mathew | d9bdaf2 | 2014-08-14 16:19:29 +0100 | [diff] [blame] | 1 | # |
Bipin Ravi | f9c6301 | 2022-12-22 14:19:59 -0600 | [diff] [blame] | 2 | # Copyright (c) 2014-2023, Arm Limited and Contributors. All rights reserved. |
Varun Wadekar | 92e8708 | 2022-03-09 22:04:00 +0000 | [diff] [blame] | 3 | # Copyright (c) 2020-2022, NVIDIA Corporation. All rights reserved. |
Soby Mathew | d9bdaf2 | 2014-08-14 16:19:29 +0100 | [diff] [blame] | 4 | # |
dp-arm | 82cb2c1 | 2017-05-03 09:38:09 +0100 | [diff] [blame] | 5 | # SPDX-License-Identifier: BSD-3-Clause |
Soby Mathew | d9bdaf2 | 2014-08-14 16:19:29 +0100 | [diff] [blame] | 6 | # |
| 7 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 8 | include ${MAKE_HELPERS_DIRECTORY}$/build_macros.mk |
| 9 | |
Soby Mathew | 5541bb3 | 2014-09-22 14:13:34 +0100 | [diff] [blame] | 10 | # Cortex A57 specific optimisation to skip L1 cache flush when |
| 11 | # cluster is powered down. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 12 | CPU_FLAG_LIST += SKIP_A57_L1_FLUSH_PWR_DWN |
Soby Mathew | 5541bb3 | 2014-09-22 14:13:34 +0100 | [diff] [blame] | 13 | |
Sandrine Bailleux | 54035fc | 2016-01-13 14:57:38 +0000 | [diff] [blame] | 14 | # Flag to disable the cache non-temporal hint. |
| 15 | # It is enabled by default. |
johpow01 | 8343563 | 2022-01-04 16:15:18 -0600 | [diff] [blame] | 16 | A53_DISABLE_NON_TEMPORAL_HINT ?=1 |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 17 | CPU_FLAG_LIST += A53_DISABLE_NON_TEMPORAL_HINT |
Sandrine Bailleux | 54035fc | 2016-01-13 14:57:38 +0000 | [diff] [blame] | 18 | |
| 19 | # Flag to disable the cache non-temporal hint. |
| 20 | # It is enabled by default. |
johpow01 | 8343563 | 2022-01-04 16:15:18 -0600 | [diff] [blame] | 21 | A57_DISABLE_NON_TEMPORAL_HINT ?=1 |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 22 | CPU_FLAG_LIST += A57_DISABLE_NON_TEMPORAL_HINT |
Sandrine Bailleux | 54035fc | 2016-01-13 14:57:38 +0000 | [diff] [blame] | 23 | |
Varun Wadekar | cd0ea18 | 2018-06-12 16:49:12 -0700 | [diff] [blame] | 24 | # Flag to enable higher performance non-cacheable load forwarding. |
| 25 | # It is disabled by default. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 26 | CPU_FLAG_LIST += A57_ENABLE_NONCACHEABLE_LOAD_FWD |
Varun Wadekar | cd0ea18 | 2018-06-12 16:49:12 -0700 | [diff] [blame] | 27 | |
johpow01 | 8343563 | 2022-01-04 16:15:18 -0600 | [diff] [blame] | 28 | WORKAROUND_CVE_2017_5715 ?=1 |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 29 | CPU_FLAG_LIST += WORKAROUND_CVE_2017_5715 |
johpow01 | 8343563 | 2022-01-04 16:15:18 -0600 | [diff] [blame] | 30 | WORKAROUND_CVE_2018_3639 ?=1 |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 31 | CPU_FLAG_LIST += WORKAROUND_CVE_2018_3639 |
| 32 | CPU_FLAG_LIST += DYNAMIC_WORKAROUND_CVE_2018_3639 |
Bipin Ravi | 1fe4a9d | 2022-01-18 01:59:06 -0600 | [diff] [blame] | 33 | WORKAROUND_CVE_2022_23960 ?=1 |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 34 | CPU_FLAG_LIST += WORKAROUND_CVE_2022_23960 |
Dimitris Papastamos | f62ad32 | 2017-11-30 14:53:53 +0000 | [diff] [blame] | 35 | |
Javier Almansa Sobrino | 25bbbd2 | 2020-10-23 13:22:07 +0100 | [diff] [blame] | 36 | # Flags to indicate internal or external Last level cache |
Manish Pandey | f2d6b4e | 2020-01-24 11:54:44 +0000 | [diff] [blame] | 37 | # By default internal |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 38 | CPU_FLAG_LIST += NEOVERSE_Nx_EXTERNAL_LLC |
Manish Pandey | f2d6b4e | 2020-01-24 11:54:44 +0000 | [diff] [blame] | 39 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 40 | # CPU Errata Build flags. |
| 41 | # These should be enabled by the platform if the erratum workaround needs to be |
| 42 | # applied. |
Varun Wadekar | cd0ea18 | 2018-06-12 16:49:12 -0700 | [diff] [blame] | 43 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 44 | # Flag to apply erratum 794073 workaround when disabling mmu. |
| 45 | CPU_FLAG_LIST += ERRATA_A9_794073 |
Soby Mathew | 5541bb3 | 2014-09-22 14:13:34 +0100 | [diff] [blame] | 46 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 47 | # Flag to apply erratum 816470 workaround during power down. This erratum |
| 48 | # applies only to revision >= r3p0 of the Cortex A15 cpu. |
| 49 | CPU_FLAG_LIST += ERRATA_A15_816470 |
Sandrine Bailleux | 54035fc | 2016-01-13 14:57:38 +0000 | [diff] [blame] | 50 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 51 | # Flag to apply erratum 827671 workaround during reset. This erratum applies |
| 52 | # only to revision >= r3p0 of the Cortex A15 cpu. |
| 53 | CPU_FLAG_LIST += ERRATA_A15_827671 |
Sandrine Bailleux | 54035fc | 2016-01-13 14:57:38 +0000 | [diff] [blame] | 54 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 55 | # Flag to apply erratum 852421 workaround during reset. This erratum applies |
| 56 | # only to revision <= r1p2 of the Cortex A17 cpu. |
| 57 | CPU_FLAG_LIST += ERRATA_A17_852421 |
Soby Mathew | 5541bb3 | 2014-09-22 14:13:34 +0100 | [diff] [blame] | 58 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 59 | # Flag to apply erratum 852423 workaround during reset. This erratum applies |
| 60 | # only to revision <= r1p2 of the Cortex A17 cpu. |
| 61 | CPU_FLAG_LIST += ERRATA_A17_852423 |
Dimitris Papastamos | b8a25bb | 2018-04-05 14:38:26 +0100 | [diff] [blame] | 62 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 63 | # Flag to apply erratum 855472 workaround during reset. This erratum applies |
| 64 | # only to revision r0p0 of the Cortex A35 cpu. |
| 65 | CPU_FLAG_LIST += ERRATA_A35_855472 |
Dimitris Papastamos | fe007b2 | 2018-05-16 11:36:14 +0100 | [diff] [blame] | 66 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 67 | # Flag to apply erratum 819472 workaround during reset. This erratum applies |
| 68 | # only to revision <= r0p1 of the Cortex A53 cpu. |
| 69 | CPU_FLAG_LIST += ERRATA_A53_819472 |
Bipin Ravi | 1fe4a9d | 2022-01-18 01:59:06 -0600 | [diff] [blame] | 70 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 71 | # Flag to apply erratum 824069 workaround during reset. This erratum applies |
| 72 | # only to revision <= r0p2 of the Cortex A53 cpu. |
| 73 | CPU_FLAG_LIST += ERRATA_A53_824069 |
| 74 | |
| 75 | # Flag to apply erratum 826319 workaround during reset. This erratum applies |
| 76 | # only to revision <= r0p2 of the Cortex A53 cpu. |
| 77 | CPU_FLAG_LIST += ERRATA_A53_826319 |
| 78 | |
| 79 | # Flag to apply erratum 827319 workaround during reset. This erratum applies |
| 80 | # only to revision <= r0p2 of the Cortex A53 cpu. |
| 81 | CPU_FLAG_LIST += ERRATA_A53_827319 |
| 82 | |
| 83 | # Flag to apply erratum 835769 workaround at compile and link time. This |
| 84 | # erratum applies to revision <= r0p4 of the Cortex A53 cpu. Enabling this |
| 85 | # workaround can lead the linker to create "*.stub" sections. |
| 86 | CPU_FLAG_LIST += ERRATA_A53_835769 |
| 87 | |
| 88 | # Flag to apply erratum 836870 workaround during reset. This erratum applies |
| 89 | # only to revision <= r0p3 of the Cortex A53 cpu. From r0p4 and onwards, this |
| 90 | # erratum workaround is enabled by default in hardware. |
| 91 | CPU_FLAG_LIST += ERRATA_A53_836870 |
| 92 | |
| 93 | # Flag to apply erratum 843419 workaround at link time. |
| 94 | # This erratum applies to revision <= r0p4 of the Cortex A53 cpu. Enabling this |
| 95 | # workaround could lead the linker to emit "*.stub" sections which are 4kB |
| 96 | # aligned. |
| 97 | CPU_FLAG_LIST += ERRATA_A53_843419 |
| 98 | |
| 99 | # Flag to apply errata 855873 during reset. This errata applies to all |
| 100 | # revisions of the Cortex A53 CPU, but this firmware workaround only works |
| 101 | # for revisions r0p3 and higher. Earlier revisions are taken care |
| 102 | # of by the rich OS. |
| 103 | CPU_FLAG_LIST += ERRATA_A53_855873 |
| 104 | |
| 105 | # Flag to apply erratum 1530924 workaround during reset. This erratum applies |
| 106 | # to all revisions of Cortex A53 cpu. |
| 107 | CPU_FLAG_LIST += ERRATA_A53_1530924 |
| 108 | |
| 109 | # Flag to apply erratum 768277 workaround during reset. This erratum applies |
| 110 | # only to revision r0p0 of the Cortex A55 cpu. |
| 111 | CPU_FLAG_LIST += ERRATA_A55_768277 |
| 112 | |
| 113 | # Flag to apply erratum 778703 workaround during reset. This erratum applies |
| 114 | # only to revision r0p0 of the Cortex A55 cpu. |
| 115 | CPU_FLAG_LIST += ERRATA_A55_778703 |
| 116 | |
| 117 | # Flag to apply erratum 798797 workaround during reset. This erratum applies |
| 118 | # only to revision r0p0 of the Cortex A55 cpu. |
| 119 | CPU_FLAG_LIST += ERRATA_A55_798797 |
| 120 | |
| 121 | # Flag to apply erratum 846532 workaround during reset. This erratum applies |
| 122 | # only to revision <= r0p1 of the Cortex A55 cpu. |
| 123 | CPU_FLAG_LIST += ERRATA_A55_846532 |
| 124 | |
| 125 | # Flag to apply erratum 903758 workaround during reset. This erratum applies |
| 126 | # only to revision <= r0p1 of the Cortex A55 cpu. |
| 127 | CPU_FLAG_LIST += ERRATA_A55_903758 |
| 128 | |
| 129 | # Flag to apply erratum 1221012 workaround during reset. This erratum applies |
| 130 | # only to revision <= r1p0 of the Cortex A55 cpu. |
| 131 | CPU_FLAG_LIST += ERRATA_A55_1221012 |
| 132 | |
| 133 | # Flag to apply erratum 1530923 workaround during reset. This erratum applies |
| 134 | # to all revisions of Cortex A55 cpu. |
| 135 | CPU_FLAG_LIST += ERRATA_A55_1530923 |
| 136 | |
| 137 | # Flag to apply erratum 806969 workaround during reset. This erratum applies |
| 138 | # only to revision r0p0 of the Cortex A57 cpu. |
| 139 | CPU_FLAG_LIST += ERRATA_A57_806969 |
| 140 | |
| 141 | # Flag to apply erratum 813419 workaround during reset. This erratum applies |
| 142 | # only to revision r0p0 of the Cortex A57 cpu. |
| 143 | CPU_FLAG_LIST += ERRATA_A57_813419 |
| 144 | |
| 145 | # Flag to apply erratum 813420 workaround during reset. This erratum applies |
| 146 | # only to revision r0p0 of the Cortex A57 cpu. |
| 147 | CPU_FLAG_LIST += ERRATA_A57_813420 |
| 148 | |
| 149 | # Flag to apply erratum 814670 workaround during reset. This erratum applies |
| 150 | # only to revision r0p0 of the Cortex A57 cpu. |
| 151 | CPU_FLAG_LIST += ERRATA_A57_814670 |
| 152 | |
| 153 | # Flag to apply erratum 817169 workaround during power down. This erratum |
| 154 | # applies only to revision <= r0p1 of the Cortex A57 cpu. |
| 155 | CPU_FLAG_LIST += ERRATA_A57_817169 |
| 156 | |
| 157 | # Flag to apply erratum 826974 workaround during reset. This erratum applies |
| 158 | # only to revision <= r1p1 of the Cortex A57 cpu. |
| 159 | CPU_FLAG_LIST += ERRATA_A57_826974 |
| 160 | |
| 161 | # Flag to apply erratum 826977 workaround during reset. This erratum applies |
| 162 | # only to revision <= r1p1 of the Cortex A57 cpu. |
| 163 | CPU_FLAG_LIST += ERRATA_A57_826977 |
| 164 | |
| 165 | # Flag to apply erratum 828024 workaround during reset. This erratum applies |
| 166 | # only to revision <= r1p1 of the Cortex A57 cpu. |
| 167 | CPU_FLAG_LIST += ERRATA_A57_828024 |
| 168 | |
| 169 | # Flag to apply erratum 829520 workaround during reset. This erratum applies |
| 170 | # only to revision <= r1p2 of the Cortex A57 cpu. |
| 171 | CPU_FLAG_LIST += ERRATA_A57_829520 |
| 172 | |
| 173 | # Flag to apply erratum 833471 workaround during reset. This erratum applies |
| 174 | # only to revision <= r1p2 of the Cortex A57 cpu. |
| 175 | CPU_FLAG_LIST += ERRATA_A57_833471 |
| 176 | |
| 177 | # Flag to apply erratum 855972 workaround during reset. This erratum applies |
| 178 | # only to revision <= r1p3 of the Cortex A57 cpu. |
| 179 | CPU_FLAG_LIST += ERRATA_A57_859972 |
| 180 | |
| 181 | # Flag to apply erratum 1319537 workaround during reset. This erratum applies |
| 182 | # to all revisions of Cortex A57 cpu. |
| 183 | CPU_FLAG_LIST += ERRATA_A57_1319537 |
| 184 | |
| 185 | # Flag to apply erratum 855971 workaround during reset. This erratum applies |
| 186 | # only to revision <= r0p3 of the Cortex A72 cpu. |
| 187 | CPU_FLAG_LIST += ERRATA_A72_859971 |
| 188 | |
| 189 | # Flag to apply erratum 1319367 workaround during reset. This erratum applies |
| 190 | # to all revisions of Cortex A72 cpu. |
| 191 | CPU_FLAG_LIST += ERRATA_A72_1319367 |
| 192 | |
| 193 | # Flag to apply erratum 852427 workaround during reset. This erratum applies |
| 194 | # only to revision r0p0 of the Cortex A73 cpu. |
| 195 | CPU_FLAG_LIST += ERRATA_A73_852427 |
| 196 | |
| 197 | # Flag to apply erratum 855423 workaround during reset. This erratum applies |
| 198 | # only to revision <= r0p1 of the Cortex A73 cpu. |
| 199 | CPU_FLAG_LIST += ERRATA_A73_855423 |
| 200 | |
| 201 | # Flag to apply erratum 764081 workaround during reset. This erratum applies |
| 202 | # only to revision <= r0p0 of the Cortex A75 cpu. |
| 203 | CPU_FLAG_LIST += ERRATA_A75_764081 |
| 204 | |
| 205 | # Flag to apply erratum 790748 workaround during reset. This erratum applies |
| 206 | # only to revision <= r0p0 of the Cortex A75 cpu. |
| 207 | CPU_FLAG_LIST += ERRATA_A75_790748 |
| 208 | |
| 209 | # Flag to apply erratum 1073348 workaround during reset. This erratum applies |
| 210 | # only to revision <= r1p0 of the Cortex A76 cpu. |
| 211 | CPU_FLAG_LIST += ERRATA_A76_1073348 |
| 212 | |
| 213 | # Flag to apply erratum 1130799 workaround during reset. This erratum applies |
| 214 | # only to revision <= r2p0 of the Cortex A76 cpu. |
| 215 | CPU_FLAG_LIST += ERRATA_A76_1130799 |
| 216 | |
| 217 | # Flag to apply erratum 1220197 workaround during reset. This erratum applies |
| 218 | # only to revision <= r2p0 of the Cortex A76 cpu. |
| 219 | CPU_FLAG_LIST += ERRATA_A76_1220197 |
| 220 | |
| 221 | # Flag to apply erratum 1257314 workaround during reset. This erratum applies |
| 222 | # only to revision <= r3p0 of the Cortex A76 cpu. |
| 223 | CPU_FLAG_LIST += ERRATA_A76_1257314 |
| 224 | |
| 225 | # Flag to apply erratum 1262606 workaround during reset. This erratum applies |
| 226 | # only to revision <= r3p0 of the Cortex A76 cpu. |
| 227 | CPU_FLAG_LIST += ERRATA_A76_1262606 |
| 228 | |
| 229 | # Flag to apply erratum 1262888 workaround during reset. This erratum applies |
| 230 | # only to revision <= r3p0 of the Cortex A76 cpu. |
| 231 | CPU_FLAG_LIST += ERRATA_A76_1262888 |
| 232 | |
| 233 | # Flag to apply erratum 1275112 workaround during reset. This erratum applies |
| 234 | # only to revision <= r3p0 of the Cortex A76 cpu. |
| 235 | CPU_FLAG_LIST += ERRATA_A76_1275112 |
| 236 | |
| 237 | # Flag to apply erratum 1286807 workaround during reset. This erratum applies |
| 238 | # only to revision <= r3p0 of the Cortex A76 cpu. |
| 239 | CPU_FLAG_LIST += ERRATA_A76_1286807 |
| 240 | |
| 241 | # Flag to apply erratum 1791580 workaround during reset. This erratum applies |
| 242 | # only to revision <= r4p0 of the Cortex A76 cpu. |
| 243 | CPU_FLAG_LIST += ERRATA_A76_1791580 |
| 244 | |
| 245 | # Flag to apply erratum 1165522 workaround during reset. This erratum applies |
| 246 | # to all revisions of Cortex A76 cpu. |
| 247 | CPU_FLAG_LIST += ERRATA_A76_1165522 |
| 248 | |
| 249 | # Flag to apply erratum 1868343 workaround during reset. This erratum applies |
| 250 | # only to revision <= r4p0 of the Cortex A76 cpu. |
| 251 | CPU_FLAG_LIST += ERRATA_A76_1868343 |
| 252 | |
| 253 | # Flag to apply erratum 1946160 workaround during reset. This erratum applies |
| 254 | # only to revisions r3p0 - r4p1 of the Cortex A76 cpu. |
| 255 | CPU_FLAG_LIST += ERRATA_A76_1946160 |
| 256 | |
| 257 | # Flag to apply erratum 2743102 workaround during powerdown. This erratum |
| 258 | # applies to all revisions <= r4p1 of the Cortex A76 cpu and is still open. |
| 259 | CPU_FLAG_LIST += ERRATA_A76_2743102 |
| 260 | |
| 261 | # Flag to apply erratum 1508412 workaround during reset. This erratum applies |
| 262 | # only to revision <= r1p0 of the Cortex A77 cpu. |
| 263 | CPU_FLAG_LIST += ERRATA_A77_1508412 |
| 264 | |
| 265 | # Flag to apply erratum 1925769 workaround during reset. This erratum applies |
| 266 | # only to revision <= r1p1 of the Cortex A77 cpu. |
| 267 | CPU_FLAG_LIST += ERRATA_A77_1925769 |
| 268 | |
| 269 | # Flag to apply erratum 1946167 workaround during reset. This erratum applies |
| 270 | # only to revision <= r1p1 of the Cortex A77 cpu. |
| 271 | CPU_FLAG_LIST += ERRATA_A77_1946167 |
| 272 | |
| 273 | # Flag to apply erratum 1791578 workaround during reset. This erratum applies |
| 274 | # to revisions r0p0, r1p0, and r1p1, it is still open. |
| 275 | CPU_FLAG_LIST += ERRATA_A77_1791578 |
| 276 | |
| 277 | # Flag to apply erratum 2356587 workaround during reset. This erratum applies |
| 278 | # to revisions r0p0, r1p0, and r1p1, it is still open. |
| 279 | CPU_FLAG_LIST += ERRATA_A77_2356587 |
| 280 | |
| 281 | # Flag to apply erratum 1800714 workaround during reset. This erratum applies |
| 282 | # to revisions <= r1p1 of the Cortex A77 cpu. |
| 283 | CPU_FLAG_LIST += ERRATA_A77_1800714 |
| 284 | |
| 285 | # Flag to apply erratum 2743100 workaround during power down. This erratum |
| 286 | # applies to revisions r0p0, r1p0, and r1p1, it is still open. |
| 287 | CPU_FLAG_LIST += ERRATA_A77_2743100 |
| 288 | |
| 289 | # Flag to apply erratum 1688305 workaround during reset. This erratum applies |
| 290 | # to revisions r0p0 - r1p0 of the A78 cpu. |
| 291 | CPU_FLAG_LIST += ERRATA_A78_1688305 |
| 292 | |
| 293 | # Flag to apply erratum 1941498 workaround during reset. This erratum applies |
| 294 | # to revisions r0p0, r1p0, and r1p1 of the A78 cpu. |
| 295 | CPU_FLAG_LIST += ERRATA_A78_1941498 |
| 296 | |
| 297 | # Flag to apply erratum 1951500 workaround during reset. This erratum applies |
| 298 | # to revisions r1p0 and r1p1 of the A78 cpu. The issue is present in r0p0 as |
| 299 | # well but there is no workaround for that revision. |
| 300 | CPU_FLAG_LIST += ERRATA_A78_1951500 |
| 301 | |
| 302 | # Flag to apply erratum 1821534 workaround during reset. This erratum applies |
| 303 | # to revisions r0p0 and r1p0 of the A78 cpu. |
| 304 | CPU_FLAG_LIST += ERRATA_A78_1821534 |
| 305 | |
| 306 | # Flag to apply erratum 1952683 workaround during reset. This erratum applies |
| 307 | # to revision r0p0 of the A78 cpu and was fixed in the revision r1p0. |
| 308 | CPU_FLAG_LIST += ERRATA_A78_1952683 |
| 309 | |
| 310 | # Flag to apply erratum 2132060 workaround during reset. This erratum applies |
| 311 | # to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. It is still open. |
| 312 | CPU_FLAG_LIST += ERRATA_A78_2132060 |
| 313 | |
| 314 | # Flag to apply erratum 2242635 workaround during reset. This erratum applies |
| 315 | # to revisions r1p0, r1p1, and r1p2 of the A78 cpu and is open. The issue is |
| 316 | # present in r0p0 as well but there is no workaround for that revision. |
| 317 | CPU_FLAG_LIST += ERRATA_A78_2242635 |
| 318 | |
| 319 | # Flag to apply erratum 2376745 workaround during reset. This erratum applies |
| 320 | # to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. It is still open. |
| 321 | CPU_FLAG_LIST += ERRATA_A78_2376745 |
| 322 | |
| 323 | # Flag to apply erratum 2395406 workaround during reset. This erratum applies |
| 324 | # to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. It is still open. |
| 325 | CPU_FLAG_LIST += ERRATA_A78_2395406 |
| 326 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 327 | # Flag to apply erratum 2712571 workaround for non-arm interconnect ip. This |
| 328 | # erratum applies to revisions r0p0, r1p0, r1p1, and r1p2 of the A78 cpu. |
| 329 | # It is fixed in r1p2. |
| 330 | CPU_FLAG_LIST += ERRATA_A78_2712571 |
| 331 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 332 | # Flag to apply erratum 2742426 workaround during reset. This erratum |
| 333 | # applies to revisions r0p0, r1p0, r1p1 and r1p2 of the A78 cpu. It is still |
| 334 | # open. |
| 335 | CPU_FLAG_LIST += ERRATA_A78_2742426 |
| 336 | |
| 337 | # Flag to apply erratum 2772019 workaround during powerdown. This erratum |
| 338 | # applies to revisions r0p0, r1p0, r1p1 and r1p2 of the A78 cpu. It is still |
| 339 | # open. |
| 340 | CPU_FLAG_LIST += ERRATA_A78_2772019 |
| 341 | |
| 342 | # Flag to apply erratum 2779479 workaround during reset. This erratum applies |
| 343 | # to revision r0p0, r1p0, r1p1 and r1p2 of the A78 cpu. It is still open. |
| 344 | CPU_FLAG_LIST += ERRATA_A78_2779479 |
| 345 | |
| 346 | # Flag to apply erratum 1941500 workaround during reset. This erratum applies |
| 347 | # to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. |
| 348 | CPU_FLAG_LIST += ERRATA_A78_AE_1941500 |
| 349 | |
| 350 | # Flag to apply erratum 1951502 workaround during reset. This erratum applies |
| 351 | # to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. |
| 352 | CPU_FLAG_LIST += ERRATA_A78_AE_1951502 |
| 353 | |
| 354 | # Flag to apply erratum 2376748 workaround during reset. This erratum applies |
| 355 | # to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. |
| 356 | CPU_FLAG_LIST += ERRATA_A78_AE_2376748 |
| 357 | |
| 358 | # Flag to apply erratum 2395408 workaround during reset. This erratum applies |
| 359 | # to revisions r0p0 and r0p1 of the A78 AE cpu. It is still open. |
| 360 | CPU_FLAG_LIST += ERRATA_A78_AE_2395408 |
| 361 | |
Bipin Ravi | 672eb21 | 2023-03-14 10:04:23 -0500 | [diff] [blame] | 362 | # Flag to apply erratum 1827430 workaround during reset. This erratum applies |
| 363 | # to revision r0p0 of the A78C cpu. It is fixed in r0p1. |
| 364 | CPU_FLAG_LIST += ERRATA_A78C_1827430 |
| 365 | |
Bipin Ravi | b01a59e | 2023-03-14 11:03:24 -0500 | [diff] [blame] | 366 | # Flag to apply erratum 1827440 workaround during reset. This erratum applies |
| 367 | # to revision r0p0 of the A78C cpu. It is fixed in r0p1. |
| 368 | CPU_FLAG_LIST += ERRATA_A78C_1827440 |
| 369 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 370 | # Flag to apply erratum 2712574 workaround for non-arm interconnect ip. This |
| 371 | # erratum applies to revisions r0p0, r0p1 and r0p2 of the A78 AE cpu. |
| 372 | # It is still open. |
| 373 | CPU_FLAG_LIST += ERRATA_A78_AE_2712574 |
| 374 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 375 | # Flag to apply erratum 2132064 workaround during reset. This erratum applies |
| 376 | # to revisions r0p1 and r0p2 of the A78C cpu. It is still open. |
| 377 | CPU_FLAG_LIST += ERRATA_A78C_2132064 |
| 378 | |
| 379 | # Flag to apply erratum 2242638 workaround during reset. This erratum applies |
| 380 | # to revisions r0p1 and r0p2 of the A78C cpu. It is still open. |
| 381 | CPU_FLAG_LIST += ERRATA_A78C_2242638 |
| 382 | |
| 383 | # Flag to apply erratum 2376749 workaround during reset. This erratum applies |
| 384 | # to revisions r0p1 and r0p2 of the A78C cpu. It is still open. |
| 385 | CPU_FLAG_LIST += ERRATA_A78C_2376749 |
| 386 | |
| 387 | # Flag to apply erratum 2395411 workaround during reset. This erratum applies |
| 388 | # to revisions r0p1 and r0p2 of the A78C cpu. It is still open. |
| 389 | CPU_FLAG_LIST += ERRATA_A78C_2395411 |
| 390 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 391 | # Flag to apply erratum 2712575 workaround for non-arm interconnect ip. This |
| 392 | # erratum applies to revisions r0p1 and r0p2 of the A78C cpu. |
| 393 | # It is still open. |
| 394 | CPU_FLAG_LIST += ERRATA_A78C_2712575 |
| 395 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 396 | # Flag to apply erratum 2772121 workaround during powerdown. This erratum |
| 397 | # applies to revisions r0p0, r0p1 and r0p2 of the A78C cpu. It is still open. |
| 398 | CPU_FLAG_LIST += ERRATA_A78C_2772121 |
| 399 | |
| 400 | # Flag to apply erratum 2779484 workaround during reset. This erratum |
| 401 | # applies to revisions r0p1 and r0p2 of the A78C cpu. It is still open. |
| 402 | CPU_FLAG_LIST += ERRATA_A78C_2779484 |
| 403 | |
| 404 | # Flag to apply erratum 1821534 workaround during reset. This erratum applies |
| 405 | # to revisions r0p0 - r1p0 of the X1 cpu and fixed in r1p1. |
| 406 | CPU_FLAG_LIST += ERRATA_X1_1821534 |
| 407 | |
| 408 | # Flag to apply erratum 1688305 workaround during reset. This erratum applies |
| 409 | # to revisions r0p0 - r1p0 of the X1 cpu and fixed in r1p1. |
| 410 | CPU_FLAG_LIST += ERRATA_X1_1688305 |
| 411 | |
| 412 | # Flag to apply erratum 1827429 workaround during reset. This erratum applies |
| 413 | # to revisions r0p0 - r1p0 of the X1 cpu and fixed in r1p1. |
| 414 | CPU_FLAG_LIST += ERRATA_X1_1827429 |
| 415 | |
| 416 | # Flag to apply T32 CLREX workaround during reset. This erratum applies |
| 417 | # only to r0p0 and r1p0 of the Neoverse N1 cpu. |
| 418 | CPU_FLAG_LIST += ERRATA_N1_1043202 |
| 419 | |
| 420 | # Flag to apply erratum 1073348 workaround during reset. This erratum applies |
| 421 | # only to revision r0p0 and r1p0 of the Neoverse N1 cpu. |
| 422 | CPU_FLAG_LIST += ERRATA_N1_1073348 |
| 423 | |
| 424 | # Flag to apply erratum 1130799 workaround during reset. This erratum applies |
| 425 | # only to revision <= r2p0 of the Neoverse N1 cpu. |
| 426 | CPU_FLAG_LIST += ERRATA_N1_1130799 |
| 427 | |
| 428 | # Flag to apply erratum 1165347 workaround during reset. This erratum applies |
| 429 | # only to revision <= r2p0 of the Neoverse N1 cpu. |
| 430 | CPU_FLAG_LIST += ERRATA_N1_1165347 |
| 431 | |
| 432 | # Flag to apply erratum 1207823 workaround during reset. This erratum applies |
| 433 | # only to revision <= r2p0 of the Neoverse N1 cpu. |
| 434 | CPU_FLAG_LIST += ERRATA_N1_1207823 |
| 435 | |
| 436 | # Flag to apply erratum 1220197 workaround during reset. This erratum applies |
| 437 | # only to revision <= r2p0 of the Neoverse N1 cpu. |
| 438 | CPU_FLAG_LIST += ERRATA_N1_1220197 |
| 439 | |
| 440 | # Flag to apply erratum 1257314 workaround during reset. This erratum applies |
| 441 | # only to revision <= r3p0 of the Neoverse N1 cpu. |
| 442 | CPU_FLAG_LIST += ERRATA_N1_1257314 |
| 443 | |
| 444 | # Flag to apply erratum 1262606 workaround during reset. This erratum applies |
| 445 | # only to revision <= r3p0 of the Neoverse N1 cpu. |
| 446 | CPU_FLAG_LIST += ERRATA_N1_1262606 |
| 447 | |
| 448 | # Flag to apply erratum 1262888 workaround during reset. This erratum applies |
| 449 | # only to revision <= r3p0 of the Neoverse N1 cpu. |
| 450 | CPU_FLAG_LIST += ERRATA_N1_1262888 |
| 451 | |
| 452 | # Flag to apply erratum 1275112 workaround during reset. This erratum applies |
| 453 | # only to revision <= r3p0 of the Neoverse N1 cpu. |
| 454 | CPU_FLAG_LIST += ERRATA_N1_1275112 |
| 455 | |
| 456 | # Flag to apply erratum 1315703 workaround during reset. This erratum applies |
| 457 | # to revisions before r3p1 of the Neoverse N1 cpu. |
| 458 | CPU_FLAG_LIST += ERRATA_N1_1315703 |
| 459 | |
| 460 | # Flag to apply erratum 1542419 workaround during reset. This erratum applies |
| 461 | # to revisions r3p0 - r4p0 of the Neoverse N1 cpu. |
| 462 | CPU_FLAG_LIST += ERRATA_N1_1542419 |
| 463 | |
| 464 | # Flag to apply erratum 1868343 workaround during reset. This erratum applies |
| 465 | # to revision <= r4p0 of the Neoverse N1 cpu. |
| 466 | CPU_FLAG_LIST += ERRATA_N1_1868343 |
| 467 | |
| 468 | # Flag to apply erratum 1946160 workaround during reset. This erratum applies |
| 469 | # to revisions r3p0, r3p1, r4p0, and r4p1 of the Neoverse N1 cpu. The issue |
| 470 | # exists in revisions r0p0, r1p0, and r2p0 as well but there is no workaround. |
| 471 | CPU_FLAG_LIST += ERRATA_N1_1946160 |
| 472 | |
| 473 | # Flag to apply erratum 2743102 workaround during powerdown. This erratum |
| 474 | # applies to all revisions <= r4p1 of the Neoverse N1 cpu and is still open. |
| 475 | CPU_FLAG_LIST += ERRATA_N1_2743102 |
| 476 | |
| 477 | # Flag to apply erratum 1618635 workaround during reset. This erratum applies |
| 478 | # to revision r0p0 of the Neoverse V1 cpu and was fixed in the revision r1p0. |
| 479 | CPU_FLAG_LIST += ERRATA_V1_1618635 |
| 480 | |
| 481 | # Flag to apply erratum 1774420 workaround during reset. This erratum applies |
| 482 | # to revisions r0p0 and r1p0 of the Neoverse V1 core, and was fixed in r1p1. |
| 483 | CPU_FLAG_LIST += ERRATA_V1_1774420 |
| 484 | |
| 485 | # Flag to apply erratum 1791573 workaround during reset. This erratum applies |
| 486 | # to revisions r0p0 and r1p0 of the Neoverse V1 core, and was fixed in r1p1. |
| 487 | CPU_FLAG_LIST += ERRATA_V1_1791573 |
| 488 | |
| 489 | # Flag to apply erratum 1852267 workaround during reset. This erratum applies |
| 490 | # to revisions r0p0 and r1p0 of the Neoverse V1 core, and was fixed in r1p1. |
| 491 | CPU_FLAG_LIST += ERRATA_V1_1852267 |
| 492 | |
| 493 | # Flag to apply erratum 1925756 workaround during reset. This needs to be |
| 494 | # enabled for r0p0, r1p0, and r1p1 of the Neoverse V1 core, it is still open. |
| 495 | CPU_FLAG_LIST += ERRATA_V1_1925756 |
| 496 | |
| 497 | # Flag to apply erratum 1940577 workaround during reset. This erratum applies |
| 498 | # to revisions r1p0 and r1p1 of the Neoverse V1 cpu. |
| 499 | CPU_FLAG_LIST += ERRATA_V1_1940577 |
| 500 | |
| 501 | # Flag to apply erratum 1966096 workaround during reset. This erratum applies |
| 502 | # to revisions r1p0 and r1p1 of the Neoverse V1 CPU and is open. This issue |
| 503 | # exists in r0p0 as well but there is no workaround for that revision. |
| 504 | CPU_FLAG_LIST += ERRATA_V1_1966096 |
| 505 | |
| 506 | # Flag to apply erratum 2139242 workaround during reset. This erratum applies |
| 507 | # to revisions r0p0, r1p0, and r1p1 of the Neoverse V1 cpu and is still open. |
| 508 | CPU_FLAG_LIST += ERRATA_V1_2139242 |
| 509 | |
| 510 | # Flag to apply erratum 2108267 workaround during reset. This erratum applies |
| 511 | # to revisions r0p0, r1p0, and r1p1 of the Neoverse V1 cpu and is still open. |
| 512 | CPU_FLAG_LIST += ERRATA_V1_2108267 |
| 513 | |
| 514 | # Flag to apply erratum 2216392 workaround during reset. This erratum applies |
| 515 | # to revisions r1p0 and r1p1 of the Neoverse V1 cpu and is still open. This |
| 516 | # issue exists in r0p0 as well but there is no workaround for that revision. |
| 517 | CPU_FLAG_LIST += ERRATA_V1_2216392 |
| 518 | |
| 519 | # Flag to apply erratum 2294912 workaround during reset. This erratum applies |
| 520 | # to revisions r0p0, r1p0, and r1p1 of the Neoverse V1 cpu and is still open. |
| 521 | CPU_FLAG_LIST += ERRATA_V1_2294912 |
| 522 | |
| 523 | # Flag to apply erratum 2372203 workaround during reset. This erratum applies |
| 524 | # to revisions r0p0, r1p0 and r1p1 of the Neoverse V1 cpu and is still open. |
| 525 | CPU_FLAG_LIST += ERRATA_V1_2372203 |
| 526 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 527 | # Flag to apply erratum 2701953 workaround to non-arm interconnect ip. This |
| 528 | # erratum applies to revisions r0p0, r1p0, r1p1 of the Neoverse V1 cpu, |
| 529 | # it is fixed in r1p2. |
| 530 | CPU_FLAG_LIST += ERRATA_V1_2701953 |
| 531 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 532 | # Flag to apply erratum 2743093 workaround during powerdown. This erratum |
| 533 | # applies to revisions r0p0, r1p0, r1p1 and r1p2 of the Neoverse V1 cpu and is |
| 534 | # still open. |
| 535 | CPU_FLAG_LIST += ERRATA_V1_2743093 |
| 536 | |
| 537 | # Flag to apply erratum 2743233 workaround during powerdown. This erratum |
| 538 | # applies to revisions r0p0, r1p0, r1p1 and r1p2 of the Neoverse V1 cpu and is |
| 539 | # still open. |
| 540 | CPU_FLAG_LIST += ERRATA_V1_2743233 |
| 541 | |
| 542 | # Flag to apply erratum 2779461 workaround during powerdown. This erratum |
| 543 | # applies to revisions r0p0, r1p0, r1p1 and r1p2 of the Neoverse V1 cpu and is |
| 544 | # still open. |
| 545 | CPU_FLAG_LIST += ERRATA_V1_2779461 |
| 546 | |
| 547 | # Flag to apply erratum 1987031 workaround during reset. This erratum applies |
| 548 | # to revisions r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. |
| 549 | CPU_FLAG_LIST += ERRATA_A710_1987031 |
| 550 | |
| 551 | # Flag to apply erratum 2081180 workaround during reset. This erratum applies |
| 552 | # to revisions r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. |
| 553 | CPU_FLAG_LIST += ERRATA_A710_2081180 |
| 554 | |
| 555 | # Flag to apply erratum 2083908 workaround during reset. This erratum applies |
| 556 | # to revision r2p0 of the Cortex-A710 cpu and is still open. |
| 557 | CPU_FLAG_LIST += ERRATA_A710_2083908 |
| 558 | |
| 559 | # Flag to apply erratum 2058056 workaround during reset. This erratum applies |
| 560 | # to revisions r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. |
| 561 | CPU_FLAG_LIST += ERRATA_A710_2058056 |
| 562 | |
| 563 | # Flag to apply erratum 2055002 workaround during reset. This erratum applies |
| 564 | # to revision r1p0, r2p0 of the Cortex-A710 cpu and is still open. |
| 565 | CPU_FLAG_LIST += ERRATA_A710_2055002 |
| 566 | |
| 567 | # Flag to apply erratum 2017096 workaround during reset. This erratum applies |
| 568 | # to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is still open. |
| 569 | CPU_FLAG_LIST += ERRATA_A710_2017096 |
| 570 | |
| 571 | # Flag to apply erratum 2267065 workaround during reset. This erratum applies |
| 572 | # to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. |
| 573 | CPU_FLAG_LIST += ERRATA_A710_2267065 |
| 574 | |
| 575 | # Flag to apply erratum 2136059 workaround during reset. This erratum applies |
| 576 | # to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. |
| 577 | CPU_FLAG_LIST += ERRATA_A710_2136059 |
| 578 | |
| 579 | # Flag to apply erratum 2147715 workaround during reset. This erratum applies |
| 580 | # to revision r2p0 of the Cortex-A710 CPU and is fixed in revision r2p1. |
| 581 | CPU_FLAG_LIST += ERRATA_A710_2147715 |
| 582 | |
| 583 | # Flag to apply erratum 2216384 workaround during reset. This erratum applies |
| 584 | # to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. |
| 585 | CPU_FLAG_LIST += ERRATA_A710_2216384 |
| 586 | |
| 587 | # Flag to apply erratum 2282622 workaround during reset. This erratum applies |
| 588 | # to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-A710 cpu and is still |
| 589 | # open. |
| 590 | CPU_FLAG_LIST += ERRATA_A710_2282622 |
| 591 | |
| 592 | # Flag to apply erratum 2291219 workaround during reset. This erratum applies |
| 593 | # to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. |
| 594 | CPU_FLAG_LIST += ERRATA_A710_2291219 |
| 595 | |
| 596 | # Flag to apply erratum 2008768 workaround during reset. This erratum applies |
| 597 | # to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. |
| 598 | CPU_FLAG_LIST += ERRATA_A710_2008768 |
| 599 | |
| 600 | # Flag to apply erratum 2371105 workaround during reset. This erratum applies |
| 601 | # to revision r0p0, r1p0 and r2p0 of the Cortex-A710 cpu and is fixed in r2p1. |
| 602 | CPU_FLAG_LIST += ERRATA_A710_2371105 |
| 603 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 604 | # Flag to apply erratum 2701952 workaround for non-arm interconnect ip. This |
| 605 | # erratum applies to revision r0p0, r1p0, r2p0, r2p1 of the Cortex-A710 cpu |
| 606 | # and is still open. |
| 607 | CPU_FLAG_LIST += ERRATA_A710_2701952 |
| 608 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 609 | # Flag to apply erratum 2768515 workaround during power down. This erratum |
| 610 | # applies to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-A710 cpu and is |
| 611 | # still open. |
| 612 | CPU_FLAG_LIST += ERRATA_A710_2768515 |
| 613 | |
| 614 | # Flag to apply erratum 2002655 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 615 | # to revisions r0p0 of the Neoverse-N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 616 | CPU_FLAG_LIST += ERRATA_N2_2002655 |
| 617 | |
| 618 | # Flag to apply erratum 2067956 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 619 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 620 | CPU_FLAG_LIST += ERRATA_N2_2067956 |
| 621 | |
| 622 | # Flag to apply erratum 2025414 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 623 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 624 | CPU_FLAG_LIST += ERRATA_N2_2025414 |
| 625 | |
| 626 | # Flag to apply erratum 2189731 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 627 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 628 | CPU_FLAG_LIST += ERRATA_N2_2189731 |
| 629 | |
| 630 | # Flag to apply erratum 2138956 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 631 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 632 | CPU_FLAG_LIST += ERRATA_N2_2138956 |
| 633 | |
| 634 | # Flag to apply erratum 2138953 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 635 | # to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 636 | CPU_FLAG_LIST += ERRATA_N2_2138953 |
| 637 | |
| 638 | # Flag to apply erratum 2242415 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 639 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 640 | CPU_FLAG_LIST += ERRATA_N2_2242415 |
| 641 | |
| 642 | # Flag to apply erratum 2138958 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 643 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 644 | CPU_FLAG_LIST += ERRATA_N2_2138958 |
| 645 | |
| 646 | # Flag to apply erratum 2242400 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 647 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 648 | CPU_FLAG_LIST += ERRATA_N2_2242400 |
| 649 | |
| 650 | # Flag to apply erratum 2280757 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 651 | # to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 652 | CPU_FLAG_LIST += ERRATA_N2_2280757 |
| 653 | |
| 654 | # Flag to apply erraturm 2326639 workaroud during powerdown. This erratum |
| 655 | # applies to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. |
| 656 | CPU_FLAG_LIST += ERRATA_N2_2326639 |
| 657 | |
| 658 | # Flag to apply erratum 2376738 workaround during reset. This erratum applies |
Arvind Ram Prakash | d6d34b3 | 2023-06-29 16:17:23 -0500 | [diff] [blame] | 659 | # to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 660 | CPU_FLAG_LIST += ERRATA_N2_2376738 |
| 661 | |
| 662 | # Flag to apply erratum 2388450 workaround during reset. This erratum applies |
| 663 | # to revision r0p0 of the Neoverse N2 cpu, it is fixed in r0p1. |
| 664 | CPU_FLAG_LIST += ERRATA_N2_2388450 |
| 665 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 666 | # Flag to apply erratum 2728475 workaround for non-arm interconnect ip. This |
| 667 | # erratum applies to r0p0, r0p1, r0p2 of the Neoverse N2 cpu, it is fixed in |
| 668 | # r0p3. |
| 669 | CPU_FLAG_LIST += ERRATA_N2_2728475 |
| 670 | |
Arvind Ram Prakash | eb44035 | 2023-07-05 17:24:23 -0500 | [diff] [blame] | 671 | # Flag to apply erratum 2743014 workaround during reset. This erratum applies |
| 672 | # to r0p0, r0p1, r0p2 of the Neoverse N2 cpu, it is fixed in r0p3. |
| 673 | CPU_FLAG_LIST += ERRATA_N2_2743014 |
| 674 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 675 | # Flag to apply erratum 2743089 workaround during during powerdown. This erratum |
| 676 | # applies to all revisions <= r0p2 of the Neoverse N2 cpu, it is fixed in r0p3. |
| 677 | CPU_FLAG_LIST += ERRATA_N2_2743089 |
| 678 | |
Arvind Ram Prakash | 12d2806 | 2023-07-17 14:46:14 -0500 | [diff] [blame^] | 679 | # Flag to apply erratum 2779511 workaround during reset. This erratum applies |
| 680 | # to r0p0, r0p1, r0p2 of the Neoverse N2 cpu, it is fixed in r0p3. |
| 681 | CPU_FLAG_LIST += ERRATA_N2_2779511 |
| 682 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 683 | # Flag to apply erratum 2002765 workaround during reset. This erratum applies |
| 684 | # to revisions r0p0, r1p0, and r2p0 of the Cortex-X2 cpu and is still open. |
| 685 | CPU_FLAG_LIST += ERRATA_X2_2002765 |
| 686 | |
| 687 | # Flag to apply erratum 2058056 workaround during reset. This erratum applies |
| 688 | # to revisions r0p0, r1p0, and r2p0 of the Cortex-X2 cpu and is still open. |
| 689 | CPU_FLAG_LIST += ERRATA_X2_2058056 |
| 690 | |
| 691 | # Flag to apply erratum 2083908 workaround during reset. This erratum applies |
| 692 | # to revision r2p0 of the Cortex-X2 cpu and is still open. |
| 693 | CPU_FLAG_LIST += ERRATA_X2_2083908 |
| 694 | |
| 695 | # Flag to apply erratum 2017096 workaround during reset. This erratum applies |
| 696 | # only to revisions r0p0, r1p0 and r2p0 of the Cortex-X2 cpu, it is fixed in |
| 697 | # r2p1. |
| 698 | CPU_FLAG_LIST += ERRATA_X2_2017096 |
| 699 | |
| 700 | # Flag to apply erratum 2081180 workaround during reset. This erratum applies |
| 701 | # only to revisions r0p0, r1p0 and r2p0 of the Cortex-X2 cpu, it is fixed in |
| 702 | # r2p1. |
| 703 | CPU_FLAG_LIST += ERRATA_X2_2081180 |
| 704 | |
| 705 | # Flag to apply erratum 2216384 workaround during reset. This erratum applies |
| 706 | # only to revisions r0p0, r1p0 and r2p0 of the Cortex-X2 cpu, it is fixed in |
| 707 | # r2p1. |
| 708 | CPU_FLAG_LIST += ERRATA_X2_2216384 |
| 709 | |
| 710 | # Flag to apply erratum 2147715 workaround during reset. This erratum applies |
| 711 | # only to revision r2p0 of the Cortex-X2 cpu, it is fixed in r2p1. |
| 712 | CPU_FLAG_LIST += ERRATA_X2_2147715 |
| 713 | |
| 714 | # Flag to apply erratum 2282622 workaround during reset. This erratum applies |
| 715 | # to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-X2 cpu and is still |
| 716 | # open. |
| 717 | CPU_FLAG_LIST += ERRATA_X2_2282622 |
| 718 | |
| 719 | # Flag to apply erratum 2371105 workaround during reset. This erratum applies |
| 720 | # to revision r0p0, r1p0 and r2p0 of the Cortex-X2 cpu and is fixed in r2p1. |
| 721 | CPU_FLAG_LIST += ERRATA_X2_2371105 |
| 722 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 723 | # Flag to apply erratum 2701952 workaround for non-arm interconnect ip. This |
| 724 | # erratum applies to revisions r0p0, r1p0, r2p0, r2p1 of the Cortex-x2 cpu |
| 725 | # and is still open. |
| 726 | CPU_FLAG_LIST += ERRATA_X2_2701952 |
| 727 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 728 | # Flag to apply erratum 2768515 workaround during power down. This erratum |
| 729 | # applies to revision r0p0, r1p0, r2p0 and r2p1 of the Cortex-X2 cpu and is |
| 730 | # still open. |
| 731 | CPU_FLAG_LIST += ERRATA_X2_2768515 |
| 732 | |
| 733 | # Flag to apply erratum 2313909 workaround on powerdown. This erratum applies |
| 734 | # to revisions r0p0 and r1p0 of the Cortex-X3 cpu, it is fixed in r1p1. |
| 735 | CPU_FLAG_LIST += ERRATA_X3_2313909 |
| 736 | |
| 737 | # Flag to apply erratum 2615812 workaround on powerdown. This erratum applies |
| 738 | # to revisions r0p0, r1p0, r1p1 of the Cortex-X3 cpu, it is still open. |
| 739 | CPU_FLAG_LIST += ERRATA_X3_2615812 |
| 740 | |
| 741 | # Flag to apply erratum 1922240 workaround during reset. This erratum applies |
| 742 | # to revision r0p0 of the Cortex-A510 cpu and is fixed in r0p1. |
| 743 | CPU_FLAG_LIST += ERRATA_A510_1922240 |
| 744 | |
| 745 | # Flag to apply erratum 2288014 workaround during reset. This erratum applies |
| 746 | # to revisions r0p0, r0p1, r0p2, r0p3 and r1p0 of the Cortex-A510 cpu and is |
| 747 | # fixed in r1p1. |
| 748 | CPU_FLAG_LIST += ERRATA_A510_2288014 |
| 749 | |
| 750 | # Flag to apply erratum 2042739 workaround during reset. This erratum applies |
| 751 | # to revisions r0p0, r0p1 and r0p2 of the Cortex-A510 cpu and is fixed in r0p3. |
| 752 | CPU_FLAG_LIST += ERRATA_A510_2042739 |
| 753 | |
| 754 | # Flag to apply erratum 2041909 workaround during reset. This erratum applies |
| 755 | # to revision r0p2 of the Cortex-A510 cpu and is fixed in r0p3. The issue is |
| 756 | # present in r0p0 and r0p1 but there is no workaround for those revisions. |
| 757 | CPU_FLAG_LIST += ERRATA_A510_2041909 |
| 758 | |
| 759 | # Flag to apply erratum 2250311 workaround during reset. This erratum applies |
| 760 | # to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1. |
| 761 | CPU_FLAG_LIST += ERRATA_A510_2250311 |
| 762 | |
| 763 | # Flag to apply erratum 2218950 workaround during reset. This erratum applies |
| 764 | # to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1. |
| 765 | CPU_FLAG_LIST += ERRATA_A510_2218950 |
| 766 | |
| 767 | # Flag to apply erratum 2172148 workaround during reset. This erratum applies |
| 768 | # to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1. |
| 769 | CPU_FLAG_LIST += ERRATA_A510_2172148 |
| 770 | |
| 771 | # Flag to apply erratum 2347730 workaround during reset. This erratum applies |
| 772 | # to revisions r0p0, r0p1, r0p2, r0p3, r1p0 and r1p1 of the Cortex-A510 CPU, |
| 773 | # and is fixed in r1p2. |
| 774 | CPU_FLAG_LIST += ERRATA_A510_2347730 |
| 775 | |
| 776 | # Flag to apply erratum 2371937 workaround during reset. This erratum applies |
| 777 | # to revisions r0p0, r0p1, r0p2, r0p3, r1p0, and r1p1. It is fixed in r1p2. |
| 778 | CPU_FLAG_LIST += ERRATA_A510_2371937 |
| 779 | |
| 780 | # Flag to apply erratum 2666669 workaround during reset. This erratum applies |
| 781 | # to revisions r0p0, r0p1, r0p2, r0p3, r1p0, and r1p1. It is fixed in r1p2. |
| 782 | CPU_FLAG_LIST += ERRATA_A510_2666669 |
| 783 | |
| 784 | # Flag to apply erratum 2684597 workaround during powerdown. This erratum |
| 785 | # applies to revision r0p0, r0p1, r0p2, r0p3, r1p0, r1p1 and r1p2 of the |
| 786 | # Cortex-A510 cpu and is fixed in r1p3. |
| 787 | CPU_FLAG_LIST += ERRATA_A510_2684597 |
| 788 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 789 | # Flag to apply erratum 2719103 workaround for non-arm interconnect ip. This |
| 790 | # erratum applies to revisions r0p0, rop1. Fixed in r0p2. |
| 791 | CPU_FLAG_LIST += ERRATA_V2_2719103 |
| 792 | |
Moritz Fischer | 40c81ed | 2023-07-06 00:01:23 +0000 | [diff] [blame] | 793 | # Flag to apply erratum 2801372 workaround for all configurations. |
| 794 | # This erratum applies to revisions r0p0, r0p1. Fixed in r0p2. |
| 795 | CPU_FLAG_LIST += ERRATA_V2_2801372 |
| 796 | |
Sona Mathew | ab062f0 | 2023-03-14 16:50:36 -0500 | [diff] [blame] | 797 | # Flag to apply erratum 2701951 workaround for non-arm interconnect ip. |
| 798 | # This erratum applies to revisions r0p0, r1p0, and r1p1. Its is fixed in r1p2. |
| 799 | CPU_FLAG_LIST += ERRATA_A715_2701951 |
| 800 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 801 | # Flag to apply DSU erratum 798953. This erratum applies to DSUs revision r0p0. |
| 802 | # Applying the workaround results in higher DSU power consumption on idle. |
| 803 | CPU_FLAG_LIST += ERRATA_DSU_798953 |
| 804 | |
| 805 | # Flag to apply DSU erratum 936184. This erratum applies to DSUs containing |
| 806 | # the ACP interface and revision < r2p0. Applying the workaround results in |
| 807 | # higher DSU power consumption on idle. |
| 808 | CPU_FLAG_LIST += ERRATA_DSU_936184 |
| 809 | |
| 810 | # Flag to apply DSU erratum 2313941. This erratum applies to DSUs revisions |
| 811 | # r0p0, r1p0, r2p0, r2p1, r3p0, r3p1 and is still open. Applying the workaround |
| 812 | # results in higher DSU power consumption on idle. |
| 813 | CPU_FLAG_LIST += ERRATA_DSU_2313941 |
Manish Pandey | f2d6b4e | 2020-01-24 11:54:44 +0000 | [diff] [blame] | 814 | |
Dimitris Papastamos | fe007b2 | 2018-05-16 11:36:14 +0100 | [diff] [blame] | 815 | ifneq (${DYNAMIC_WORKAROUND_CVE_2018_3639},0) |
johpow01 | 8343563 | 2022-01-04 16:15:18 -0600 | [diff] [blame] | 816 | ifeq (${WORKAROUND_CVE_2018_3639},0) |
| 817 | $(error "Error: WORKAROUND_CVE_2018_3639 must be 1 if DYNAMIC_WORKAROUND_CVE_2018_3639 is 1") |
| 818 | endif |
Dimitris Papastamos | fe007b2 | 2018-05-16 11:36:14 +0100 | [diff] [blame] | 819 | endif |
| 820 | |
Boyan Karatotev | e444763 | 2022-11-17 12:01:29 +0000 | [diff] [blame] | 821 | # process all flags |
| 822 | $(eval $(call default_zeros, $(CPU_FLAG_LIST))) |
| 823 | $(eval $(call add_defines, $(CPU_FLAG_LIST))) |
| 824 | $(eval $(call assert_booleans, $(CPU_FLAG_LIST))) |
Bipin Ravi | 7e3273e | 2021-12-22 14:35:21 -0600 | [diff] [blame] | 825 | |
Douglas Raillard | a94cc37 | 2017-06-19 15:38:02 +0100 | [diff] [blame] | 826 | # Errata build flags |
| 827 | ifneq (${ERRATA_A53_843419},0) |
Douglas Raillard | c2b8806 | 2017-06-22 14:44:48 +0100 | [diff] [blame] | 828 | TF_LDFLAGS_aarch64 += --fix-cortex-a53-843419 |
Douglas Raillard | a94cc37 | 2017-06-19 15:38:02 +0100 | [diff] [blame] | 829 | endif |
| 830 | |
| 831 | ifneq (${ERRATA_A53_835769},0) |
| 832 | TF_CFLAGS_aarch64 += -mfix-cortex-a53-835769 |
Douglas Raillard | c2b8806 | 2017-06-22 14:44:48 +0100 | [diff] [blame] | 833 | TF_LDFLAGS_aarch64 += --fix-cortex-a53-835769 |
Douglas Raillard | a94cc37 | 2017-06-19 15:38:02 +0100 | [diff] [blame] | 834 | endif |
Manish V Badarkhe | e1c4933 | 2020-08-03 18:43:14 +0100 | [diff] [blame] | 835 | |
| 836 | ifneq ($(filter 1,${ERRATA_A53_1530924} ${ERRATA_A55_1530923} \ |
| 837 | ${ERRATA_A57_1319537} ${ERRATA_A72_1319367} ${ERRATA_A76_1165522}),) |
| 838 | ERRATA_SPECULATIVE_AT := 1 |
| 839 | else |
| 840 | ERRATA_SPECULATIVE_AT := 0 |
| 841 | endif |