cpu-ops.mk 43 KB

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