Config.in.arm 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941
  1. # arm cpu features
  2. config BR2_ARM_CPU_HAS_NEON
  3. bool
  4. # for some cores, NEON support is optional
  5. config BR2_ARM_CPU_MAYBE_HAS_NEON
  6. bool
  7. # For some cores, the FPU is optional
  8. config BR2_ARM_CPU_MAYBE_HAS_FPU
  9. bool
  10. config BR2_ARM_CPU_HAS_FPU
  11. bool
  12. # for some cores, VFPv2 is optional
  13. config BR2_ARM_CPU_MAYBE_HAS_VFPV2
  14. bool
  15. select BR2_ARM_CPU_MAYBE_HAS_FPU
  16. config BR2_ARM_CPU_HAS_VFPV2
  17. bool
  18. select BR2_ARM_CPU_HAS_FPU
  19. # for some cores, VFPv3 is optional
  20. config BR2_ARM_CPU_MAYBE_HAS_VFPV3
  21. bool
  22. select BR2_ARM_CPU_MAYBE_HAS_VFPV2
  23. config BR2_ARM_CPU_HAS_VFPV3
  24. bool
  25. select BR2_ARM_CPU_HAS_VFPV2
  26. # for some cores, VFPv4 is optional
  27. config BR2_ARM_CPU_MAYBE_HAS_VFPV4
  28. bool
  29. select BR2_ARM_CPU_MAYBE_HAS_VFPV3
  30. config BR2_ARM_CPU_HAS_VFPV4
  31. bool
  32. select BR2_ARM_CPU_HAS_VFPV3
  33. # FPv4 is always optional
  34. config BR2_ARM_CPU_MAYBE_HAS_FPV4
  35. bool
  36. select BR2_ARM_CPU_MAYBE_HAS_FPU
  37. config BR2_ARM_CPU_HAS_FPV4
  38. bool
  39. select BR2_ARM_CPU_HAS_FPU
  40. # FPv5 is always optional
  41. config BR2_ARM_CPU_MAYBE_HAS_FPV5
  42. bool
  43. select BR2_ARM_CPU_MAYBE_HAS_FPV4
  44. config BR2_ARM_CPU_HAS_FPV5
  45. bool
  46. select BR2_ARM_CPU_HAS_FPV4
  47. config BR2_ARM_CPU_HAS_FP_ARMV8
  48. bool
  49. select BR2_ARM_CPU_HAS_VFPV4
  50. config BR2_ARM_CPU_HAS_ARM
  51. bool
  52. config BR2_ARM_CPU_HAS_THUMB
  53. bool
  54. config BR2_ARM_CPU_HAS_THUMB2
  55. bool
  56. config BR2_ARM_CPU_ARMV4
  57. bool
  58. config BR2_ARM_CPU_ARMV5
  59. bool
  60. config BR2_ARM_CPU_ARMV6
  61. bool
  62. config BR2_ARM_CPU_ARMV7A
  63. bool
  64. config BR2_ARM_CPU_ARMV7M
  65. bool
  66. config BR2_ARM_CPU_ARMV8A
  67. bool
  68. choice
  69. prompt "Target Architecture Variant"
  70. default BR2_cortex_a53 if BR2_ARCH_IS_64
  71. default BR2_arm926t
  72. help
  73. Specific CPU variant to use
  74. if !BR2_ARCH_IS_64
  75. comment "armv4 cores"
  76. config BR2_arm920t
  77. bool "arm920t"
  78. select BR2_ARM_CPU_HAS_ARM
  79. select BR2_ARM_CPU_HAS_THUMB
  80. select BR2_ARM_CPU_ARMV4
  81. select BR2_ARCH_HAS_MMU_OPTIONAL
  82. config BR2_arm922t
  83. bool "arm922t"
  84. select BR2_ARM_CPU_HAS_ARM
  85. select BR2_ARM_CPU_HAS_THUMB
  86. select BR2_ARM_CPU_ARMV4
  87. select BR2_ARCH_HAS_MMU_OPTIONAL
  88. config BR2_fa526
  89. bool "fa526/626"
  90. select BR2_ARM_CPU_HAS_ARM
  91. select BR2_ARM_CPU_ARMV4
  92. select BR2_ARCH_HAS_MMU_OPTIONAL
  93. config BR2_strongarm
  94. bool "strongarm sa110/sa1100"
  95. select BR2_ARM_CPU_HAS_ARM
  96. select BR2_ARM_CPU_ARMV4
  97. select BR2_ARCH_HAS_MMU_OPTIONAL
  98. comment "armv5 cores"
  99. config BR2_arm926t
  100. bool "arm926t"
  101. select BR2_ARM_CPU_HAS_ARM
  102. select BR2_ARM_CPU_MAYBE_HAS_VFPV2
  103. select BR2_ARM_CPU_HAS_THUMB
  104. select BR2_ARM_CPU_ARMV5
  105. select BR2_ARCH_HAS_MMU_OPTIONAL
  106. config BR2_iwmmxt
  107. bool "iwmmxt"
  108. select BR2_ARM_CPU_HAS_ARM
  109. select BR2_ARM_CPU_ARMV5
  110. select BR2_ARCH_HAS_MMU_OPTIONAL
  111. config BR2_xscale
  112. bool "xscale"
  113. select BR2_ARM_CPU_HAS_ARM
  114. select BR2_ARM_CPU_HAS_THUMB
  115. select BR2_ARM_CPU_ARMV5
  116. select BR2_ARCH_HAS_MMU_OPTIONAL
  117. comment "armv6 cores"
  118. config BR2_arm1136j_s
  119. bool "arm1136j-s"
  120. select BR2_ARM_CPU_HAS_ARM
  121. select BR2_ARM_CPU_HAS_THUMB
  122. select BR2_ARM_CPU_ARMV6
  123. select BR2_ARCH_HAS_MMU_OPTIONAL
  124. config BR2_arm1136jf_s
  125. bool "arm1136jf-s"
  126. select BR2_ARM_CPU_HAS_ARM
  127. select BR2_ARM_CPU_HAS_VFPV2
  128. select BR2_ARM_CPU_HAS_THUMB
  129. select BR2_ARM_CPU_ARMV6
  130. select BR2_ARCH_HAS_MMU_OPTIONAL
  131. config BR2_arm1176jz_s
  132. bool "arm1176jz-s"
  133. select BR2_ARM_CPU_HAS_ARM
  134. select BR2_ARM_CPU_HAS_THUMB
  135. select BR2_ARM_CPU_ARMV6
  136. select BR2_ARCH_HAS_MMU_OPTIONAL
  137. config BR2_arm1176jzf_s
  138. bool "arm1176jzf-s"
  139. select BR2_ARM_CPU_HAS_ARM
  140. select BR2_ARM_CPU_HAS_VFPV2
  141. select BR2_ARM_CPU_HAS_THUMB
  142. select BR2_ARM_CPU_ARMV6
  143. select BR2_ARCH_HAS_MMU_OPTIONAL
  144. config BR2_arm11mpcore
  145. bool "mpcore"
  146. select BR2_ARM_CPU_HAS_ARM
  147. select BR2_ARM_CPU_MAYBE_HAS_VFPV2
  148. select BR2_ARM_CPU_HAS_THUMB
  149. select BR2_ARM_CPU_ARMV6
  150. select BR2_ARCH_HAS_MMU_OPTIONAL
  151. comment "armv7a cores"
  152. config BR2_cortex_a5
  153. bool "cortex-A5"
  154. select BR2_ARM_CPU_HAS_ARM
  155. select BR2_ARM_CPU_MAYBE_HAS_NEON
  156. select BR2_ARM_CPU_MAYBE_HAS_VFPV4
  157. select BR2_ARM_CPU_HAS_THUMB2
  158. select BR2_ARM_CPU_ARMV7A
  159. select BR2_ARCH_HAS_MMU_OPTIONAL
  160. config BR2_cortex_a7
  161. bool "cortex-A7"
  162. select BR2_ARM_CPU_HAS_ARM
  163. select BR2_ARM_CPU_HAS_NEON
  164. select BR2_ARM_CPU_HAS_VFPV4
  165. select BR2_ARM_CPU_HAS_THUMB2
  166. select BR2_ARM_CPU_ARMV7A
  167. select BR2_ARCH_HAS_MMU_OPTIONAL
  168. config BR2_cortex_a8
  169. bool "cortex-A8"
  170. select BR2_ARM_CPU_HAS_ARM
  171. select BR2_ARM_CPU_HAS_NEON
  172. select BR2_ARM_CPU_HAS_VFPV3
  173. select BR2_ARM_CPU_HAS_THUMB2
  174. select BR2_ARM_CPU_ARMV7A
  175. select BR2_ARCH_HAS_MMU_OPTIONAL
  176. config BR2_cortex_a9
  177. bool "cortex-A9"
  178. select BR2_ARM_CPU_HAS_ARM
  179. select BR2_ARM_CPU_MAYBE_HAS_NEON
  180. select BR2_ARM_CPU_MAYBE_HAS_VFPV3
  181. select BR2_ARM_CPU_HAS_THUMB2
  182. select BR2_ARM_CPU_ARMV7A
  183. select BR2_ARCH_HAS_MMU_OPTIONAL
  184. config BR2_cortex_a12
  185. bool "cortex-A12"
  186. select BR2_ARM_CPU_HAS_ARM
  187. select BR2_ARM_CPU_HAS_NEON
  188. select BR2_ARM_CPU_HAS_VFPV4
  189. select BR2_ARM_CPU_HAS_THUMB2
  190. select BR2_ARM_CPU_ARMV7A
  191. select BR2_ARCH_HAS_MMU_OPTIONAL
  192. config BR2_cortex_a15
  193. bool "cortex-A15"
  194. select BR2_ARM_CPU_HAS_ARM
  195. select BR2_ARM_CPU_HAS_NEON
  196. select BR2_ARM_CPU_HAS_VFPV4
  197. select BR2_ARM_CPU_HAS_THUMB2
  198. select BR2_ARM_CPU_ARMV7A
  199. select BR2_ARCH_HAS_MMU_OPTIONAL
  200. config BR2_cortex_a15_a7
  201. bool "cortex-A15/A7 big.LITTLE"
  202. select BR2_ARM_CPU_HAS_ARM
  203. select BR2_ARM_CPU_HAS_NEON
  204. select BR2_ARM_CPU_HAS_VFPV4
  205. select BR2_ARM_CPU_HAS_THUMB2
  206. select BR2_ARM_CPU_ARMV7A
  207. select BR2_ARCH_HAS_MMU_OPTIONAL
  208. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  209. config BR2_cortex_a17
  210. bool "cortex-A17"
  211. select BR2_ARM_CPU_HAS_ARM
  212. select BR2_ARM_CPU_HAS_NEON
  213. select BR2_ARM_CPU_HAS_VFPV4
  214. select BR2_ARM_CPU_HAS_THUMB2
  215. select BR2_ARM_CPU_ARMV7A
  216. select BR2_ARCH_HAS_MMU_OPTIONAL
  217. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  218. config BR2_cortex_a17_a7
  219. bool "cortex-A17/A7 big.LITTLE"
  220. select BR2_ARM_CPU_HAS_ARM
  221. select BR2_ARM_CPU_HAS_NEON
  222. select BR2_ARM_CPU_HAS_VFPV4
  223. select BR2_ARM_CPU_HAS_THUMB2
  224. select BR2_ARM_CPU_ARMV7A
  225. select BR2_ARCH_HAS_MMU_OPTIONAL
  226. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  227. config BR2_pj4
  228. bool "pj4"
  229. select BR2_ARM_CPU_HAS_ARM
  230. select BR2_ARM_CPU_HAS_VFPV3
  231. select BR2_ARM_CPU_ARMV7A
  232. select BR2_ARCH_HAS_MMU_OPTIONAL
  233. # Cortex-M cores are only supported for little endian configurations
  234. if BR2_arm
  235. comment "armv7m cores"
  236. config BR2_cortex_m3
  237. bool "cortex-M3"
  238. select BR2_ARM_CPU_HAS_THUMB2
  239. select BR2_ARM_CPU_ARMV7M
  240. config BR2_cortex_m4
  241. bool "cortex-M4"
  242. select BR2_ARM_CPU_HAS_THUMB2
  243. select BR2_ARM_CPU_MAYBE_HAS_FPV4
  244. select BR2_ARM_CPU_ARMV7M
  245. config BR2_cortex_m7
  246. bool "cortex-M7"
  247. select BR2_ARM_CPU_HAS_THUMB2
  248. select BR2_ARM_CPU_MAYBE_HAS_FPV5
  249. select BR2_ARM_CPU_ARMV7M
  250. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  251. endif # BR2_arm
  252. endif # !BR2_ARCH_IS_64
  253. comment "armv8 cores"
  254. config BR2_cortex_a32
  255. bool "cortex-A32"
  256. depends on !BR2_ARCH_IS_64
  257. select BR2_ARM_CPU_HAS_ARM
  258. select BR2_ARM_CPU_HAS_NEON
  259. select BR2_ARM_CPU_HAS_THUMB2
  260. select BR2_ARM_CPU_HAS_FP_ARMV8
  261. select BR2_ARM_CPU_ARMV8A
  262. select BR2_ARCH_HAS_MMU_OPTIONAL
  263. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  264. config BR2_cortex_a35
  265. bool "cortex-A35"
  266. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  267. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  268. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  269. select BR2_ARM_CPU_HAS_FP_ARMV8
  270. select BR2_ARM_CPU_ARMV8A
  271. select BR2_ARCH_HAS_MMU_OPTIONAL
  272. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  273. config BR2_cortex_a53
  274. bool "cortex-A53"
  275. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  276. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  277. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  278. select BR2_ARM_CPU_HAS_FP_ARMV8
  279. select BR2_ARM_CPU_ARMV8A
  280. select BR2_ARCH_HAS_MMU_OPTIONAL
  281. config BR2_cortex_a57
  282. bool "cortex-A57"
  283. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  284. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  285. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  286. select BR2_ARM_CPU_HAS_FP_ARMV8
  287. select BR2_ARM_CPU_ARMV8A
  288. select BR2_ARCH_HAS_MMU_OPTIONAL
  289. config BR2_cortex_a57_a53
  290. bool "cortex-A57/A53 big.LITTLE"
  291. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  292. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  293. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  294. select BR2_ARM_CPU_HAS_FP_ARMV8
  295. select BR2_ARM_CPU_ARMV8A
  296. select BR2_ARCH_HAS_MMU_OPTIONAL
  297. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  298. config BR2_cortex_a72
  299. bool "cortex-A72"
  300. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  301. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  302. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  303. select BR2_ARM_CPU_HAS_FP_ARMV8
  304. select BR2_ARM_CPU_ARMV8A
  305. select BR2_ARCH_HAS_MMU_OPTIONAL
  306. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  307. config BR2_cortex_a72_a53
  308. bool "cortex-A72/A53 big.LITTLE"
  309. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  310. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  311. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  312. select BR2_ARM_CPU_HAS_FP_ARMV8
  313. select BR2_ARM_CPU_ARMV8A
  314. select BR2_ARCH_HAS_MMU_OPTIONAL
  315. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  316. config BR2_cortex_a73
  317. bool "cortex-A73"
  318. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  319. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  320. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  321. select BR2_ARM_CPU_HAS_FP_ARMV8
  322. select BR2_ARM_CPU_ARMV8A
  323. select BR2_ARCH_HAS_MMU_OPTIONAL
  324. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  325. config BR2_cortex_a73_a35
  326. bool "cortex-A73/A35 big.LITTLE"
  327. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  328. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  329. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  330. select BR2_ARM_CPU_HAS_FP_ARMV8
  331. select BR2_ARM_CPU_ARMV8A
  332. select BR2_ARCH_HAS_MMU_OPTIONAL
  333. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  334. config BR2_cortex_a73_a53
  335. bool "cortex-A73/A53 big.LITTLE"
  336. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  337. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  338. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  339. select BR2_ARM_CPU_HAS_FP_ARMV8
  340. select BR2_ARM_CPU_ARMV8A
  341. select BR2_ARCH_HAS_MMU_OPTIONAL
  342. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  343. config BR2_emag
  344. bool "emag"
  345. depends on BR2_ARCH_IS_64
  346. select BR2_ARM_CPU_HAS_FP_ARMV8
  347. select BR2_ARM_CPU_ARMV8A
  348. select BR2_ARCH_HAS_MMU_OPTIONAL
  349. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  350. config BR2_exynos_m1
  351. bool "exynos-m1"
  352. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  353. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  354. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  355. select BR2_ARM_CPU_HAS_FP_ARMV8
  356. select BR2_ARM_CPU_ARMV8A
  357. select BR2_ARCH_HAS_MMU_OPTIONAL
  358. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  359. config BR2_falkor
  360. bool "falkor"
  361. depends on BR2_ARCH_IS_64
  362. select BR2_ARM_CPU_HAS_FP_ARMV8
  363. select BR2_ARM_CPU_ARMV8A
  364. select BR2_ARCH_HAS_MMU_OPTIONAL
  365. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  366. config BR2_phecda
  367. bool "phecda"
  368. depends on BR2_ARCH_IS_64
  369. select BR2_ARM_CPU_HAS_FP_ARMV8
  370. select BR2_ARM_CPU_ARMV8A
  371. select BR2_ARCH_HAS_MMU_OPTIONAL
  372. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  373. config BR2_qdf24xx
  374. bool "qdf24xx"
  375. depends on BR2_ARCH_IS_64
  376. select BR2_ARM_CPU_HAS_FP_ARMV8
  377. select BR2_ARM_CPU_ARMV8A
  378. select BR2_ARCH_HAS_MMU_OPTIONAL
  379. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  380. config BR2_thunderx
  381. bool "thunderx (aka octeontx)"
  382. depends on BR2_ARCH_IS_64
  383. select BR2_ARM_CPU_HAS_FP_ARMV8
  384. select BR2_ARM_CPU_ARMV8A
  385. select BR2_ARCH_HAS_MMU_OPTIONAL
  386. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  387. config BR2_thunderxt81
  388. bool "thunderxt81 (aka octeontx81)"
  389. depends on BR2_ARCH_IS_64
  390. select BR2_ARM_CPU_HAS_FP_ARMV8
  391. select BR2_ARM_CPU_ARMV8A
  392. select BR2_ARCH_HAS_MMU_OPTIONAL
  393. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  394. config BR2_thunderxt83
  395. bool "thunderxt83 (aka octeontx83)"
  396. depends on BR2_ARCH_IS_64
  397. select BR2_ARM_CPU_HAS_FP_ARMV8
  398. select BR2_ARM_CPU_ARMV8A
  399. select BR2_ARCH_HAS_MMU_OPTIONAL
  400. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  401. config BR2_thunderxt88
  402. bool "thunderxt88"
  403. depends on BR2_ARCH_IS_64
  404. select BR2_ARM_CPU_HAS_FP_ARMV8
  405. select BR2_ARM_CPU_ARMV8A
  406. select BR2_ARCH_HAS_MMU_OPTIONAL
  407. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  408. config BR2_thunderxt88p1
  409. bool "thunderxt88p1"
  410. depends on BR2_ARCH_IS_64
  411. select BR2_ARM_CPU_HAS_FP_ARMV8
  412. select BR2_ARM_CPU_ARMV8A
  413. select BR2_ARCH_HAS_MMU_OPTIONAL
  414. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  415. config BR2_xgene1
  416. bool "xgene1"
  417. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  418. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  419. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  420. select BR2_ARM_CPU_HAS_FP_ARMV8
  421. select BR2_ARM_CPU_ARMV8A
  422. select BR2_ARCH_HAS_MMU_OPTIONAL
  423. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  424. comment "armv8.1a cores"
  425. config BR2_thunderx2t99
  426. bool "thunderx2t99"
  427. depends on BR2_ARCH_IS_64
  428. select BR2_ARM_CPU_HAS_FP_ARMV8
  429. select BR2_ARM_CPU_ARMV8A
  430. select BR2_ARCH_HAS_MMU_OPTIONAL
  431. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  432. config BR2_thunderx2t99p1
  433. bool "thunderx2t99p1"
  434. depends on BR2_ARCH_IS_64
  435. select BR2_ARM_CPU_HAS_FP_ARMV8
  436. select BR2_ARM_CPU_ARMV8A
  437. select BR2_ARCH_HAS_MMU_OPTIONAL
  438. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  439. config BR2_vulcan
  440. bool "vulcan"
  441. depends on BR2_ARCH_IS_64
  442. select BR2_ARM_CPU_HAS_FP_ARMV8
  443. select BR2_ARM_CPU_ARMV8A
  444. select BR2_ARCH_HAS_MMU_OPTIONAL
  445. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  446. comment "armv8.2a cores"
  447. config BR2_cortex_a55
  448. bool "cortex-A55"
  449. depends on BR2_ARCH_IS_64
  450. select BR2_ARM_CPU_HAS_FP_ARMV8
  451. select BR2_ARM_CPU_ARMV8A
  452. select BR2_ARCH_HAS_MMU_OPTIONAL
  453. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  454. config BR2_cortex_a75
  455. bool "cortex-A75"
  456. depends on BR2_ARCH_IS_64
  457. select BR2_ARM_CPU_HAS_FP_ARMV8
  458. select BR2_ARM_CPU_ARMV8A
  459. select BR2_ARCH_HAS_MMU_OPTIONAL
  460. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  461. config BR2_cortex_a75_a55
  462. bool "cortex-A75/A55 big.LITTLE"
  463. depends on BR2_ARCH_IS_64
  464. select BR2_ARM_CPU_HAS_FP_ARMV8
  465. select BR2_ARM_CPU_ARMV8A
  466. select BR2_ARCH_HAS_MMU_OPTIONAL
  467. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  468. config BR2_cortex_a76
  469. bool "cortex-A76"
  470. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  471. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  472. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  473. select BR2_ARM_CPU_HAS_FP_ARMV8
  474. select BR2_ARM_CPU_ARMV8A
  475. select BR2_ARCH_HAS_MMU_OPTIONAL
  476. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  477. config BR2_cortex_a76_a55
  478. bool "cortex-A76/A55 big.LITTLE"
  479. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  480. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  481. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  482. select BR2_ARM_CPU_HAS_FP_ARMV8
  483. select BR2_ARM_CPU_ARMV8A
  484. select BR2_ARCH_HAS_MMU_OPTIONAL
  485. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  486. config BR2_neoverse_n1
  487. bool "neoverse-N1 (aka ares)"
  488. select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
  489. select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
  490. select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
  491. select BR2_ARM_CPU_HAS_FP_ARMV8
  492. select BR2_ARM_CPU_ARMV8A
  493. select BR2_ARCH_HAS_MMU_OPTIONAL
  494. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  495. config BR2_tsv110
  496. bool "tsv110"
  497. depends on BR2_ARCH_IS_64
  498. select BR2_ARM_CPU_HAS_FP_ARMV8
  499. select BR2_ARM_CPU_ARMV8A
  500. select BR2_ARCH_HAS_MMU_OPTIONAL
  501. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  502. comment "armv8.4a cores"
  503. config BR2_saphira
  504. bool "saphira"
  505. depends on BR2_ARCH_IS_64
  506. select BR2_ARM_CPU_HAS_FP_ARMV8
  507. select BR2_ARM_CPU_ARMV8A
  508. select BR2_ARCH_HAS_MMU_OPTIONAL
  509. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  510. endchoice
  511. config BR2_ARM_ENABLE_NEON
  512. bool "Enable NEON SIMD extension support"
  513. depends on BR2_ARM_CPU_MAYBE_HAS_NEON
  514. select BR2_ARM_CPU_HAS_NEON
  515. help
  516. For some CPU cores, the NEON SIMD extension is optional.
  517. Select this option if you are certain your particular
  518. implementation has NEON support and you want to use it.
  519. config BR2_ARM_ENABLE_VFP
  520. bool "Enable VFP extension support"
  521. depends on BR2_ARM_CPU_MAYBE_HAS_FPU
  522. select BR2_ARM_CPU_HAS_FPV5 if BR2_ARM_CPU_MAYBE_HAS_FPV5
  523. select BR2_ARM_CPU_HAS_FPV4 if BR2_ARM_CPU_MAYBE_HAS_FPV4
  524. select BR2_ARM_CPU_HAS_VFPV4 if BR2_ARM_CPU_MAYBE_HAS_VFPV4
  525. select BR2_ARM_CPU_HAS_VFPV3 if BR2_ARM_CPU_MAYBE_HAS_VFPV3
  526. select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2
  527. help
  528. For some CPU cores, the VFP extension is optional. Select
  529. this option if you are certain your particular
  530. implementation has VFP support and you want to use it.
  531. choice
  532. prompt "Target ABI"
  533. default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_FPU
  534. default BR2_ARM_EABI
  535. depends on BR2_arm || BR2_armeb
  536. help
  537. Application Binary Interface to use. The Application Binary
  538. Interface describes the calling conventions (how arguments
  539. are passed to functions, how the return value is passed, how
  540. system calls are made, etc.).
  541. config BR2_ARM_EABI
  542. bool "EABI"
  543. help
  544. The EABI is currently the standard ARM ABI, which is used in
  545. most projects. It supports both the 'soft' floating point
  546. model (in which floating point instructions are emulated in
  547. software) and the 'softfp' floating point model (in which
  548. floating point instructions are executed using an hardware
  549. floating point unit, but floating point arguments to
  550. functions are passed in integer registers).
  551. The 'softfp' floating point model is link-compatible with
  552. the 'soft' floating point model, i.e you can link a library
  553. built 'soft' with some other code built 'softfp'.
  554. However, passing the floating point arguments in integer
  555. registers is a bit inefficient, so if your ARM processor has
  556. a floating point unit, and you don't have pre-compiled
  557. 'soft' or 'softfp' code, using the EABIhf ABI will provide
  558. better floating point performances.
  559. If your processor does not have a floating point unit, then
  560. you must use this ABI.
  561. config BR2_ARM_EABIHF
  562. bool "EABIhf"
  563. depends on BR2_ARM_CPU_HAS_FPU
  564. help
  565. The EABIhf is an extension of EABI which supports the 'hard'
  566. floating point model. This model uses the floating point
  567. unit to execute floating point instructions, and passes
  568. floating point arguments in floating point registers.
  569. It is more efficient than EABI for floating point related
  570. workload. However, it does not allow to link against code
  571. that has been pre-built for the 'soft' or 'softfp' floating
  572. point models.
  573. If your processor has a floating point unit, and you don't
  574. depend on existing pre-compiled code, this option is most
  575. likely the best choice.
  576. endchoice
  577. choice
  578. prompt "Floating point strategy"
  579. default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8
  580. default BR2_ARM_FPU_FPV5D16 if BR2_ARM_CPU_HAS_FPV5
  581. default BR2_ARM_FPU_FPV4D16 if BR2_ARM_CPU_HAS_FPV4
  582. default BR2_ARM_FPU_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4
  583. default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3
  584. default BR2_ARM_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2
  585. default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_FPU
  586. config BR2_ARM_SOFT_FLOAT
  587. bool "Soft float"
  588. depends on BR2_ARM_EABI
  589. select BR2_SOFT_FLOAT
  590. help
  591. This option allows to use software emulated floating
  592. point. It should be used for ARM cores that do not include a
  593. Vector Floating Point unit, such as ARMv5 cores (ARM926 for
  594. example) or certain ARMv6 cores.
  595. config BR2_ARM_FPU_VFPV2
  596. bool "VFPv2"
  597. depends on BR2_ARM_CPU_HAS_VFPV2
  598. help
  599. This option allows to use the VFPv2 floating point unit, as
  600. available in some ARMv5 processors (ARM926EJ-S) and some
  601. ARMv6 processors (ARM1136JF-S, ARM1176JZF-S and ARM11
  602. MPCore).
  603. Note that this option is also safe to use for newer cores
  604. such as Cortex-A, because the VFPv3 and VFPv4 units are
  605. backward compatible with VFPv2.
  606. config BR2_ARM_FPU_VFPV3
  607. bool "VFPv3"
  608. depends on BR2_ARM_CPU_HAS_VFPV3
  609. help
  610. This option allows to use the VFPv3 floating point unit, as
  611. available in some ARMv7 processors (Cortex-A{8, 9}). This
  612. option requires a VFPv3 unit that has 32 double-precision
  613. registers, which is not necessarily the case in all SOCs
  614. based on Cortex-A{8, 9}. If you're unsure, use VFPv3-D16
  615. instead, which is guaranteed to work on all Cortex-A{8, 9}.
  616. Note that this option is also safe to use for newer cores
  617. that have a VFPv4 unit, because VFPv4 is backward compatible
  618. with VFPv3. They must of course also have 32
  619. double-precision registers.
  620. config BR2_ARM_FPU_VFPV3D16
  621. bool "VFPv3-D16"
  622. depends on BR2_ARM_CPU_HAS_VFPV3
  623. help
  624. This option allows to use the VFPv3 floating point unit, as
  625. available in some ARMv7 processors (Cortex-A{8, 9}). This
  626. option requires a VFPv3 unit that has 16 double-precision
  627. registers, which is generally the case in all SOCs based on
  628. Cortex-A{8, 9}, even though VFPv3 is technically optional on
  629. Cortex-A9. This is the safest option for those cores.
  630. Note that this option is also safe to use for newer cores
  631. such that have a VFPv4 unit, because the VFPv4 is backward
  632. compatible with VFPv3.
  633. config BR2_ARM_FPU_VFPV4
  634. bool "VFPv4"
  635. depends on BR2_ARM_CPU_HAS_VFPV4
  636. help
  637. This option allows to use the VFPv4 floating point unit, as
  638. available in some ARMv7 processors (Cortex-A{5, 7, 12,
  639. 15}). This option requires a VFPv4 unit that has 32
  640. double-precision registers, which is not necessarily the
  641. case in all SOCs based on Cortex-A{5, 7, 12, 15}. If you're
  642. unsure, you should probably use VFPv4-D16 instead.
  643. Note that if you want binary code that works on all ARMv7
  644. cores, including the earlier Cortex-A{8, 9}, you should
  645. instead select VFPv3.
  646. config BR2_ARM_FPU_VFPV4D16
  647. bool "VFPv4-D16"
  648. depends on BR2_ARM_CPU_HAS_VFPV4
  649. help
  650. This option allows to use the VFPv4 floating point unit, as
  651. available in some ARMv7 processors (Cortex-A{5, 7, 12,
  652. 15}). This option requires a VFPv4 unit that has 16
  653. double-precision registers, which is always available on
  654. Cortex-A12 and Cortex-A15, but optional on Cortex-A5 and
  655. Cortex-A7.
  656. Note that if you want binary code that works on all ARMv7
  657. cores, including the earlier Cortex-A{8, 9}, you should
  658. instead select VFPv3-D16.
  659. config BR2_ARM_FPU_NEON
  660. bool "NEON"
  661. depends on BR2_ARM_CPU_HAS_NEON
  662. help
  663. This option allows to use the NEON SIMD unit, as available
  664. in some ARMv7 processors, as a floating-point unit. It
  665. should however be noted that using NEON for floating point
  666. operations doesn't provide a complete compatibility with the
  667. IEEE 754.
  668. config BR2_ARM_FPU_NEON_VFPV4
  669. bool "NEON/VFPv4"
  670. depends on BR2_ARM_CPU_HAS_VFPV4
  671. depends on BR2_ARM_CPU_HAS_NEON
  672. help
  673. This option allows to use both the VFPv4 and the NEON SIMD
  674. units for floating point operations. Note that some ARMv7
  675. cores do not necessarily have VFPv4 and/or NEON support, for
  676. example on Cortex-A5 and Cortex-A7, support for VFPv4 and
  677. NEON is optional.
  678. config BR2_ARM_FPU_FPV4D16
  679. bool "FPv4-D16"
  680. depends on BR2_ARM_CPU_HAS_FPV4
  681. help
  682. This option allows to use the FPv4-SP (single precision)
  683. floating point unit, as available in some ARMv7m processors
  684. (Cortex-M4).
  685. config BR2_ARM_FPU_FPV5D16
  686. bool "FPv5-D16"
  687. depends on BR2_ARM_CPU_HAS_FPV5
  688. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  689. help
  690. This option allows to use the FPv5-SP (single precision)
  691. floating point unit, as available in some ARMv7m processors
  692. (Cortex-M7).
  693. Note that if you want binary code that works on the earlier
  694. Cortex-M4, you should instead select FPv4-D16.
  695. config BR2_ARM_FPU_FPV5DPD16
  696. bool "FPv5-DP-D16"
  697. depends on BR2_ARM_CPU_HAS_FPV5
  698. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  699. help
  700. This option allows to use the FPv5-DP (double precision)
  701. floating point unit, as available in some ARMv7m processors
  702. (Cortex-M7).
  703. Note that if you want binary code that works on the earlier
  704. Cortex-M4, you should instead select FPv4-D16.
  705. config BR2_ARM_FPU_FP_ARMV8
  706. bool "FP-ARMv8"
  707. depends on BR2_ARM_CPU_HAS_FP_ARMV8
  708. help
  709. This option allows to use the ARMv8 floating point unit.
  710. config BR2_ARM_FPU_NEON_FP_ARMV8
  711. bool "NEON/FP-ARMv8"
  712. depends on BR2_ARM_CPU_HAS_FP_ARMV8
  713. depends on BR2_ARM_CPU_HAS_NEON
  714. help
  715. This option allows to use both the ARMv8 floating point unit
  716. and the NEON SIMD unit for floating point operations.
  717. endchoice
  718. choice
  719. prompt "ARM instruction set"
  720. depends on BR2_arm || BR2_armeb
  721. config BR2_ARM_INSTRUCTIONS_ARM
  722. bool "ARM"
  723. depends on BR2_ARM_CPU_HAS_ARM
  724. help
  725. This option instructs the compiler to generate regular ARM
  726. instructions, that are all 32 bits wide.
  727. config BR2_ARM_INSTRUCTIONS_THUMB
  728. bool "Thumb"
  729. depends on BR2_ARM_CPU_HAS_THUMB
  730. # Thumb-1 and VFP are not compatible
  731. depends on BR2_ARM_SOFT_FLOAT
  732. help
  733. This option instructions the compiler to generate Thumb
  734. instructions, which allows to mix 16 bits instructions and
  735. 32 bits instructions. This generally provides a much smaller
  736. compiled binary size.
  737. comment "Thumb1 is not compatible with VFP"
  738. depends on BR2_ARM_CPU_HAS_THUMB
  739. depends on !BR2_ARM_SOFT_FLOAT
  740. config BR2_ARM_INSTRUCTIONS_THUMB2
  741. bool "Thumb2"
  742. depends on BR2_ARM_CPU_HAS_THUMB2
  743. help
  744. This option instructions the compiler to generate Thumb2
  745. instructions, which allows to mix 16 bits instructions and
  746. 32 bits instructions. This generally provides a much smaller
  747. compiled binary size.
  748. endchoice
  749. config BR2_ARCH
  750. default "arm" if BR2_arm
  751. default "armeb" if BR2_armeb
  752. default "aarch64" if BR2_aarch64
  753. default "aarch64_be" if BR2_aarch64_be
  754. config BR2_NORMALIZED_ARCH
  755. default "arm" if BR2_arm || BR2_armeb
  756. default "arm64" if BR2_aarch64 || BR2_aarch64_be
  757. config BR2_ENDIAN
  758. default "LITTLE" if (BR2_arm || BR2_aarch64)
  759. default "BIG" if (BR2_armeb || BR2_aarch64_be)
  760. config BR2_GCC_TARGET_CPU
  761. # armv4
  762. default "arm920t" if BR2_arm920t
  763. default "arm922t" if BR2_arm922t
  764. default "fa526" if BR2_fa526
  765. default "strongarm" if BR2_strongarm
  766. # armv5
  767. default "arm926ej-s" if BR2_arm926t
  768. default "iwmmxt" if BR2_iwmmxt
  769. default "xscale" if BR2_xscale
  770. # armv6
  771. default "arm1136j-s" if BR2_arm1136j_s
  772. default "arm1136jf-s" if BR2_arm1136jf_s
  773. default "arm1176jz-s" if BR2_arm1176jz_s
  774. default "arm1176jzf-s" if BR2_arm1176jzf_s
  775. default "mpcore" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2
  776. default "mpcorenovfp" if BR2_arm11mpcore
  777. # armv7a
  778. default "cortex-a5" if BR2_cortex_a5
  779. default "cortex-a7" if BR2_cortex_a7
  780. default "cortex-a8" if BR2_cortex_a8
  781. default "cortex-a9" if BR2_cortex_a9
  782. default "cortex-a12" if BR2_cortex_a12
  783. default "cortex-a15" if BR2_cortex_a15
  784. default "cortex-a15.cortex-a7" if BR2_cortex_a15_a7
  785. default "cortex-a17" if BR2_cortex_a17
  786. default "cortex-a17.cortex-a7" if BR2_cortex_a17_a7
  787. default "marvell-pj4" if BR2_pj4
  788. # armv7m
  789. default "cortex-m3" if BR2_cortex_m3
  790. default "cortex-m4" if BR2_cortex_m4
  791. default "cortex-m7" if BR2_cortex_m7
  792. # armv8a
  793. default "cortex-a32" if BR2_cortex_a32
  794. default "cortex-a35" if BR2_cortex_a35
  795. default "cortex-a53" if BR2_cortex_a53
  796. default "cortex-a57" if BR2_cortex_a57
  797. default "cortex-a57.cortex-a53" if BR2_cortex_a57_a53
  798. default "cortex-a72" if BR2_cortex_a72
  799. default "cortex-a72.cortex-a53" if BR2_cortex_a72_a53
  800. default "cortex-a73" if BR2_cortex_a73
  801. default "cortex-a73.cortex-a35" if BR2_cortex_a73_a35
  802. default "cortex-a73.cortex-a53" if BR2_cortex_a73_a53
  803. default "emag" if BR2_emag
  804. default "exynos-m1" if BR2_exynos_m1
  805. default "falkor" if BR2_falkor
  806. default "phecda" if BR2_phecda
  807. default "qdf24xx" if BR2_qdf24xx
  808. default "thunderx" if BR2_thunderx && !BR2_TOOLCHAIN_GCC_AT_LEAST_9
  809. default "octeontx" if BR2_thunderx && BR2_TOOLCHAIN_GCC_AT_LEAST_9
  810. default "thunderxt81" if BR2_thunderxt81 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9
  811. default "octeontx81" if BR2_thunderxt81 && BR2_TOOLCHAIN_GCC_AT_LEAST_9
  812. default "thunderxt83" if BR2_thunderxt83 && !BR2_TOOLCHAIN_GCC_AT_LEAST_9
  813. default "octeontx83" if BR2_thunderxt83 && BR2_TOOLCHAIN_GCC_AT_LEAST_9
  814. default "thunderxt88" if BR2_thunderxt88
  815. default "thunderxt88p1" if BR2_thunderxt88p1
  816. default "xgene1" if BR2_xgene1
  817. # armv8.1a
  818. default "thunderx2t99" if BR2_thunderx2t99
  819. default "thunderx2t99p1" if BR2_thunderx2t99p1
  820. default "vulcan" if BR2_vulcan
  821. # armv8.2a
  822. default "cortex-a55" if BR2_cortex_a55
  823. default "cortex-a75" if BR2_cortex_a75
  824. default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55
  825. default "cortex-a76" if BR2_cortex_a76
  826. default "cortex-a76.cortex-a55" if BR2_cortex_a76_a55
  827. default "neoverse-n1" if BR2_neoverse_n1
  828. default "tsv110" if BR2_tsv110
  829. # armv8.4a
  830. default "saphira" if BR2_saphira
  831. config BR2_GCC_TARGET_ABI
  832. default "aapcs-linux" if BR2_arm || BR2_armeb
  833. default "lp64" if BR2_aarch64 || BR2_aarch64_be
  834. config BR2_GCC_TARGET_FPU
  835. default "vfp" if BR2_ARM_FPU_VFPV2
  836. default "vfpv3" if BR2_ARM_FPU_VFPV3
  837. default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16
  838. default "vfpv4" if BR2_ARM_FPU_VFPV4
  839. default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
  840. default "neon" if BR2_ARM_FPU_NEON
  841. default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4
  842. default "fpv4-sp-d16" if BR2_ARM_FPU_FPV4D16
  843. default "fpv5-sp-d16" if BR2_ARM_FPU_FPV5D16
  844. default "fpv5-d16" if BR2_ARM_FPU_FPV5DPD16
  845. default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8
  846. default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8
  847. depends on BR2_arm || BR2_armeb
  848. config BR2_GCC_TARGET_FLOAT_ABI
  849. default "soft" if BR2_ARM_SOFT_FLOAT
  850. default "softfp" if !BR2_ARM_SOFT_FLOAT && BR2_ARM_EABI
  851. default "hard" if !BR2_ARM_SOFT_FLOAT && BR2_ARM_EABIHF
  852. config BR2_GCC_TARGET_MODE
  853. default "arm" if BR2_ARM_INSTRUCTIONS_ARM
  854. default "thumb" if BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2
  855. config BR2_READELF_ARCH_NAME
  856. default "ARM" if BR2_arm || BR2_armeb
  857. default "AArch64" if BR2_aarch64 || BR2_aarch64_be
  858. # vim: ft=kconfig
  859. # -*- mode:kconfig; -*-