Config.in 12 KB

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