Config.in.arm 28 KB

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