Config.in 11 KB

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