cpu-ops.mk 44 KB

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