Config.in 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. menu "Target options"
  2. config BR2_ARCH_IS_64
  3. bool
  4. config BR2_KERNEL_64_USERLAND_32
  5. bool
  6. config BR2_SOFT_FLOAT
  7. bool
  8. config BR2_USE_MMU
  9. bool
  10. config BR2_ARCH_HAS_FDPIC_SUPPORT
  11. bool
  12. choice
  13. prompt "Target Architecture"
  14. default BR2_i386
  15. help
  16. Select the target architecture family to build for.
  17. config BR2_arcle
  18. bool "ARC (little endian)"
  19. select BR2_USE_MMU
  20. help
  21. Synopsys' DesignWare ARC Processor Cores are a family of
  22. 32-bit CPUs that can be used from deeply embedded to high
  23. performance host applications. Little endian.
  24. config BR2_arceb
  25. bool "ARC (big endian)"
  26. select BR2_USE_MMU
  27. help
  28. Synopsys' DesignWare ARC Processor Cores are a family of
  29. 32-bit CPUs that can be used from deeply embedded to high
  30. performance host applications. Big endian.
  31. config BR2_arm
  32. bool "ARM (little endian)"
  33. # MMU support is set by the subarchitecture file, arch/Config.in.arm
  34. help
  35. ARM is a 32-bit reduced instruction set computer (RISC)
  36. instruction set architecture (ISA) developed by ARM Holdings.
  37. Little endian.
  38. http://www.arm.com/
  39. http://en.wikipedia.org/wiki/ARM
  40. config BR2_armeb
  41. bool "ARM (big endian)"
  42. select BR2_USE_MMU
  43. help
  44. ARM is a 32-bit reduced instruction set computer (RISC)
  45. instruction set architecture (ISA) developed by ARM Holdings.
  46. Big endian.
  47. http://www.arm.com/
  48. http://en.wikipedia.org/wiki/ARM
  49. config BR2_aarch64
  50. bool "AArch64 (little endian)"
  51. select BR2_ARCH_IS_64
  52. help
  53. Aarch64 is a 64-bit architecture developed by ARM Holdings.
  54. http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
  55. http://en.wikipedia.org/wiki/ARM
  56. config BR2_aarch64_be
  57. bool "AArch64 (big endian)"
  58. select BR2_ARCH_IS_64
  59. help
  60. Aarch64 is a 64-bit architecture developed by ARM Holdings.
  61. http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
  62. http://en.wikipedia.org/wiki/ARM
  63. config BR2_i386
  64. bool "i386"
  65. select BR2_USE_MMU
  66. help
  67. Intel i386 architecture compatible microprocessor
  68. http://en.wikipedia.org/wiki/I386
  69. config BR2_m68k
  70. bool "m68k"
  71. # MMU support is set by the subarchitecture file, arch/Config.in.m68k
  72. help
  73. Motorola 68000 family microprocessor
  74. http://en.wikipedia.org/wiki/M68k
  75. config BR2_microblazeel
  76. bool "Microblaze AXI (little endian)"
  77. select BR2_USE_MMU
  78. help
  79. Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
  80. bus based architecture (little endian)
  81. http://www.xilinx.com
  82. http://en.wikipedia.org/wiki/Microblaze
  83. config BR2_microblazebe
  84. bool "Microblaze non-AXI (big endian)"
  85. select BR2_USE_MMU
  86. help
  87. Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
  88. bus based architecture (non-AXI, big endian)
  89. http://www.xilinx.com
  90. http://en.wikipedia.org/wiki/Microblaze
  91. config BR2_mips
  92. bool "MIPS (big endian)"
  93. select BR2_USE_MMU
  94. help
  95. MIPS is a RISC microprocessor from MIPS Technologies. Big
  96. endian.
  97. http://www.mips.com/
  98. http://en.wikipedia.org/wiki/MIPS_Technologies
  99. config BR2_mipsel
  100. bool "MIPS (little endian)"
  101. select BR2_USE_MMU
  102. help
  103. MIPS is a RISC microprocessor from MIPS Technologies. Little
  104. endian.
  105. http://www.mips.com/
  106. http://en.wikipedia.org/wiki/MIPS_Technologies
  107. config BR2_mips64
  108. bool "MIPS64 (big endian)"
  109. select BR2_ARCH_IS_64
  110. select BR2_USE_MMU
  111. help
  112. MIPS is a RISC microprocessor from MIPS Technologies. Big
  113. endian.
  114. http://www.mips.com/
  115. http://en.wikipedia.org/wiki/MIPS_Technologies
  116. config BR2_mips64el
  117. bool "MIPS64 (little endian)"
  118. select BR2_ARCH_IS_64
  119. select BR2_USE_MMU
  120. help
  121. MIPS is a RISC microprocessor from MIPS Technologies. Little
  122. endian.
  123. http://www.mips.com/
  124. http://en.wikipedia.org/wiki/MIPS_Technologies
  125. config BR2_nios2
  126. bool "Nios II"
  127. depends on BR2_BROKEN
  128. select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
  129. select BR2_USE_MMU
  130. help
  131. Nios II is a soft core processor from Altera Corporation.
  132. http://www.altera.com/
  133. http://en.wikipedia.org/wiki/Nios_II
  134. config BR2_or1k
  135. bool "OpenRISC"
  136. select BR2_USE_MMU
  137. help
  138. OpenRISC is a free and open processor for embedded system.
  139. http://openrisc.io
  140. config BR2_powerpc
  141. bool "PowerPC"
  142. select BR2_USE_MMU
  143. help
  144. PowerPC is a RISC architecture created by Apple-IBM-Motorola
  145. alliance. Big endian.
  146. http://www.power.org/
  147. http://en.wikipedia.org/wiki/Powerpc
  148. config BR2_powerpc64
  149. bool "PowerPC64 (big endian)"
  150. select BR2_ARCH_IS_64
  151. select BR2_USE_MMU
  152. help
  153. PowerPC is a RISC architecture created by Apple-IBM-Motorola
  154. alliance. Big endian.
  155. http://www.power.org/
  156. http://en.wikipedia.org/wiki/Powerpc
  157. config BR2_powerpc64le
  158. bool "PowerPC64 (little endian)"
  159. select BR2_ARCH_IS_64
  160. select BR2_USE_MMU
  161. help
  162. PowerPC is a RISC architecture created by Apple-IBM-Motorola
  163. alliance. Little endian.
  164. http://www.power.org/
  165. http://en.wikipedia.org/wiki/Powerpc
  166. config BR2_riscv
  167. bool "RISCV"
  168. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  169. help
  170. RISC-V is an open, free Instruction Set Architecture created
  171. by the UC Berkeley Architecture Research group and supported
  172. and promoted by RISC-V Foundation.
  173. https://riscv.org/
  174. https://en.wikipedia.org/wiki/RISC-V
  175. config BR2_s390x
  176. bool "s390x"
  177. select BR2_ARCH_IS_64
  178. select BR2_USE_MMU
  179. help
  180. s390x is a big-endian architecture made by IBM.
  181. http://www.ibm.com/
  182. http://en.wikipedia.org/wiki/IBM_System/390
  183. config BR2_sh
  184. bool "SuperH"
  185. select BR2_USE_MMU
  186. help
  187. SuperH (or SH) is a 32-bit reduced instruction set computer
  188. (RISC) instruction set architecture (ISA) developed by
  189. Hitachi.
  190. http://www.hitachi.com/
  191. http://en.wikipedia.org/wiki/SuperH
  192. config BR2_sparc
  193. bool "SPARC"
  194. select BR2_USE_MMU
  195. help
  196. SPARC (from Scalable Processor Architecture) is a RISC
  197. instruction set architecture (ISA) developed by Sun
  198. Microsystems.
  199. http://www.oracle.com/sun
  200. http://en.wikipedia.org/wiki/Sparc
  201. config BR2_sparc64
  202. bool "SPARC64"
  203. select BR2_ARCH_IS_64
  204. select BR2_USE_MMU
  205. help
  206. SPARC (from Scalable Processor Architecture) is a RISC
  207. instruction set architecture (ISA) developed by Sun
  208. Microsystems.
  209. http://www.oracle.com/sun
  210. http://en.wikipedia.org/wiki/Sparc
  211. config BR2_x86_64
  212. bool "x86_64"
  213. select BR2_ARCH_IS_64
  214. select BR2_USE_MMU
  215. help
  216. x86-64 is an extension of the x86 instruction set (Intel i386
  217. architecture compatible microprocessor).
  218. http://en.wikipedia.org/wiki/X86_64
  219. config BR2_xtensa
  220. bool "Xtensa"
  221. # MMU support is set by the subarchitecture file, arch/Config.in.xtensa
  222. help
  223. Xtensa is a Tensilica processor IP architecture.
  224. http://en.wikipedia.org/wiki/Xtensa
  225. http://www.tensilica.com/
  226. endchoice
  227. # For some architectures or specific cores, our internal toolchain
  228. # backend is not suitable (like, missing support in upstream gcc, or
  229. # no ChipCo fork exists...)
  230. config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
  231. bool
  232. config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
  233. bool
  234. default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
  235. # The following symbols are selected by the individual
  236. # Config.in.$ARCH files
  237. config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  238. bool
  239. config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  240. bool
  241. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
  242. config BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  243. bool
  244. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  245. config BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  246. bool
  247. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  248. config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  249. bool
  250. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  251. config BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  252. bool
  253. select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
  254. config BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  255. bool
  256. select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
  257. config BR2_ARCH_NEEDS_GCC_AT_LEAST_10
  258. bool
  259. select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
  260. config BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  261. bool
  262. select BR2_ARCH_NEEDS_GCC_AT_LEAST_10
  263. config BR2_ARCH_NEEDS_GCC_AT_LEAST_12
  264. bool
  265. select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
  266. config BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  267. bool
  268. select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
  269. config BR2_ARCH_NEEDS_GCC_AT_LEAST_14
  270. bool
  271. select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
  272. config BR2_ARCH_NEEDS_GCC_AT_LEAST_15
  273. bool
  274. select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
  275. # The following string values are defined by the individual
  276. # Config.in.$ARCH files
  277. config BR2_ARCH
  278. string
  279. config BR2_NORMALIZED_ARCH
  280. string
  281. config BR2_ENDIAN
  282. string
  283. config BR2_GCC_TARGET_ARCH
  284. string
  285. config BR2_GCC_TARGET_ABI
  286. string
  287. config BR2_GCC_TARGET_NAN
  288. string
  289. config BR2_GCC_TARGET_FP32_MODE
  290. string
  291. config BR2_GCC_TARGET_CPU
  292. string
  293. # The value of this option will be passed as --with-fpu=<value> when
  294. # building gcc (internal backend) or -mfpu=<value> in the toolchain
  295. # wrapper (external toolchain)
  296. config BR2_GCC_TARGET_FPU
  297. string
  298. # The value of this option will be passed as --with-float=<value> when
  299. # building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
  300. # wrapper (external toolchain)
  301. config BR2_GCC_TARGET_FLOAT_ABI
  302. string
  303. # The value of this option will be passed as --with-mode=<value> when
  304. # building gcc (internal backend) or -m<value> in the toolchain
  305. # wrapper (external toolchain)
  306. config BR2_GCC_TARGET_MODE
  307. string
  308. # Must be selected by binary formats that support shared libraries.
  309. config BR2_BINFMT_SUPPORTS_SHARED
  310. bool
  311. # Must match the name of the architecture from readelf point of view,
  312. # i.e the "Machine:" field of readelf output. See get_machine_name()
  313. # in binutils/readelf.c for the list of possible values.
  314. config BR2_READELF_ARCH_NAME
  315. string
  316. if BR2_arcle || BR2_arceb
  317. source "arch/Config.in.arc"
  318. endif
  319. if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
  320. source "arch/Config.in.arm"
  321. endif
  322. if BR2_m68k
  323. source "arch/Config.in.m68k"
  324. endif
  325. if BR2_microblazeel || BR2_microblazebe
  326. source "arch/Config.in.microblaze"
  327. endif
  328. if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
  329. source "arch/Config.in.mips"
  330. endif
  331. if BR2_nios2
  332. source "arch/Config.in.nios2"
  333. endif
  334. if BR2_or1k
  335. source "arch/Config.in.or1k"
  336. endif
  337. if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
  338. source "arch/Config.in.powerpc"
  339. endif
  340. if BR2_riscv
  341. source "arch/Config.in.riscv"
  342. endif
  343. if BR2_s390x
  344. source "arch/Config.in.s390x"
  345. endif
  346. if BR2_sh
  347. source "arch/Config.in.sh"
  348. endif
  349. if BR2_sparc || BR2_sparc64
  350. source "arch/Config.in.sparc"
  351. endif
  352. if BR2_i386 || BR2_x86_64
  353. source "arch/Config.in.x86"
  354. endif
  355. if BR2_xtensa
  356. source "arch/Config.in.xtensa"
  357. endif
  358. # Set up target binary format
  359. choice
  360. prompt "Target Binary Format"
  361. default BR2_BINFMT_ELF if BR2_USE_MMU
  362. default BR2_BINFMT_FLAT
  363. config BR2_BINFMT_ELF
  364. bool "ELF"
  365. depends on BR2_USE_MMU
  366. select BR2_BINFMT_SUPPORTS_SHARED
  367. help
  368. ELF (Executable and Linkable Format) is a format for libraries
  369. and executables used across different architectures and
  370. operating systems.
  371. config BR2_BINFMT_FDPIC
  372. bool "FDPIC"
  373. depends on BR2_ARCH_HAS_FDPIC_SUPPORT
  374. select BR2_BINFMT_SUPPORTS_SHARED
  375. help
  376. ELF FDPIC binaries are based on ELF, but allow the individual
  377. load segments of a binary to be located in memory
  378. independently of each other. This makes this format ideal for
  379. use in environments where no MMU is available.
  380. config BR2_BINFMT_FLAT
  381. bool "FLAT"
  382. depends on !BR2_USE_MMU
  383. help
  384. FLAT binary is a relatively simple and lightweight executable
  385. format based on the original a.out format. It is widely used
  386. in environment where no MMU is available.
  387. endchoice
  388. endmenu # Target options