2
1

Config.in.mips 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. # mips default CPU ISAs
  2. config BR2_MIPS_CPU_MIPS32
  3. bool
  4. select BR2_MIPS_NAN_LEGACY
  5. config BR2_MIPS_CPU_MIPS32R2
  6. bool
  7. select BR2_MIPS_NAN_LEGACY
  8. config BR2_MIPS_CPU_MIPS32R3
  9. bool
  10. select BR2_MIPS_NAN_LEGACY
  11. config BR2_MIPS_CPU_MIPS32R5
  12. bool
  13. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  14. config BR2_MIPS_CPU_MIPS32R6
  15. bool
  16. select BR2_MIPS_NAN_2008
  17. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  18. config BR2_MIPS_CPU_MIPS64
  19. bool
  20. select BR2_MIPS_NAN_LEGACY
  21. config BR2_MIPS_CPU_MIPS64R2
  22. bool
  23. select BR2_MIPS_NAN_LEGACY
  24. config BR2_MIPS_CPU_MIPS64R3
  25. bool
  26. select BR2_MIPS_NAN_LEGACY
  27. config BR2_MIPS_CPU_MIPS64R5
  28. bool
  29. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  30. config BR2_MIPS_CPU_MIPS64R6
  31. bool
  32. select BR2_MIPS_NAN_2008
  33. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  34. choice
  35. prompt "Target Architecture Variant"
  36. default BR2_mips_32 if BR2_mips || BR2_mipsel
  37. default BR2_mips_64 if BR2_mips64 || BR2_mips64el
  38. depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
  39. help
  40. Specific CPU variant to use
  41. 64bit capable: mips4, 64, 64r2, 64r3, 64r5, 64r6
  42. non-64bit capable: mips4, 32, 32r2, 32r3, 32r5, 32r6
  43. config BR2_mips_32
  44. bool "Generic MIPS32"
  45. depends on !BR2_ARCH_IS_64
  46. select BR2_MIPS_CPU_MIPS32
  47. config BR2_mips_32r2
  48. bool "Generic MIPS32R2"
  49. depends on !BR2_ARCH_IS_64
  50. select BR2_MIPS_CPU_MIPS32R2
  51. config BR2_mips_32r3
  52. bool "Generic MIPS32R3"
  53. depends on !BR2_ARCH_IS_64
  54. select BR2_MIPS_CPU_MIPS32R3
  55. config BR2_mips_32r5
  56. bool "Generic MIPS32R5"
  57. depends on !BR2_ARCH_IS_64
  58. select BR2_MIPS_CPU_MIPS32R5
  59. config BR2_mips_32r6
  60. bool "Generic MIPS32R6"
  61. depends on !BR2_ARCH_IS_64
  62. select BR2_MIPS_CPU_MIPS32R6
  63. config BR2_mips_interaptiv
  64. bool "interAptiv"
  65. depends on !BR2_ARCH_IS_64
  66. select BR2_MIPS_CPU_MIPS32R2
  67. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  68. config BR2_mips_m5150
  69. bool "M5150"
  70. depends on !BR2_ARCH_IS_64
  71. select BR2_MIPS_CPU_MIPS32R5
  72. select BR2_MIPS_NAN_2008
  73. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  74. config BR2_mips_m6250
  75. bool "M6250"
  76. depends on !BR2_ARCH_IS_64
  77. select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
  78. select BR2_MIPS_CPU_MIPS32R6
  79. config BR2_mips_p5600
  80. bool "P5600"
  81. depends on !BR2_ARCH_IS_64
  82. select BR2_MIPS_CPU_MIPS32R5
  83. select BR2_MIPS_NAN_2008
  84. config BR2_mips_xburst
  85. bool "XBurst"
  86. depends on !BR2_ARCH_IS_64
  87. select BR2_MIPS_CPU_MIPS32R2
  88. help
  89. The Ingenic XBurst is a MIPS32R2 microprocessor. It has a
  90. bug in the FPU that can generate incorrect results in
  91. certain cases. The problem shows up when you have several
  92. fused madd instructions in sequence with dependant
  93. operands. This requires the -mno-fused-madd compiler option
  94. to be used in order to prevent emitting these instructions.
  95. See http://www.ingenic.com/en/?xburst.html
  96. config BR2_mips4
  97. bool "MIPS IV"
  98. config BR2_mips_64
  99. bool "Generic MIPS64"
  100. depends on BR2_ARCH_IS_64
  101. select BR2_MIPS_CPU_MIPS64
  102. config BR2_mips_64r2
  103. bool "Generic MIPS64R2"
  104. depends on BR2_ARCH_IS_64
  105. select BR2_MIPS_CPU_MIPS64R2
  106. config BR2_mips_64r3
  107. bool "Generic MIPS64R3"
  108. depends on BR2_ARCH_IS_64
  109. select BR2_MIPS_CPU_MIPS64R3
  110. config BR2_mips_64r5
  111. bool "Generic MIPS64R5"
  112. depends on BR2_ARCH_IS_64
  113. select BR2_MIPS_CPU_MIPS64R5
  114. config BR2_mips_64r6
  115. bool "Generic MIPS64R6"
  116. depends on BR2_ARCH_IS_64
  117. select BR2_MIPS_CPU_MIPS64R6
  118. config BR2_mips_i6400
  119. bool "I6400"
  120. depends on BR2_ARCH_IS_64
  121. select BR2_MIPS_CPU_MIPS64R6
  122. select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
  123. config BR2_mips_octeon2
  124. bool "Octeon II"
  125. depends on BR2_ARCH_IS_64
  126. select BR2_MIPS_CPU_MIPS64R2
  127. help
  128. Marvell (formerly Cavium Networks) Octeon II CN60XX
  129. processors.
  130. config BR2_mips_octeon3
  131. bool "Octeon III"
  132. depends on BR2_ARCH_IS_64
  133. select BR2_MIPS_CPU_MIPS64R3
  134. help
  135. Marvell (formerly Cavium Networks) Octeon III CN7XXX
  136. processors.
  137. config BR2_mips_p6600
  138. bool "P6600"
  139. depends on BR2_ARCH_IS_64
  140. select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
  141. select BR2_MIPS_CPU_MIPS64R6
  142. endchoice
  143. choice
  144. prompt "Target ABI"
  145. default BR2_MIPS_NABI32
  146. depends on BR2_mips64 || BR2_mips64el
  147. help
  148. Application Binary Interface to use
  149. config BR2_MIPS_NABI32
  150. bool "n32"
  151. depends on BR2_ARCH_IS_64
  152. select BR2_KERNEL_64_USERLAND_32
  153. config BR2_MIPS_NABI64
  154. bool "n64"
  155. depends on BR2_ARCH_IS_64
  156. endchoice
  157. config BR2_MIPS_SOFT_FLOAT
  158. bool "Use soft-float"
  159. default y
  160. depends on !BR2_mips_octeon3 # hard-float only
  161. select BR2_SOFT_FLOAT
  162. help
  163. If your target CPU does not have a Floating Point Unit (FPU)
  164. or a kernel FPU emulator, but you still wish to support
  165. floating point functions, then everything will need to be
  166. compiled with soft floating point support (-msoft-float).
  167. choice
  168. prompt "FP mode"
  169. default BR2_MIPS_FP32_MODE_XX
  170. depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
  171. help
  172. MIPS32 supports different FP modes (32,xx,64). Information
  173. about FP modes can be found here:
  174. https://sourceware.org/binutils/docs/as/MIPS-Options.html
  175. https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code
  176. config BR2_MIPS_FP32_MODE_32
  177. bool "32"
  178. depends on !BR2_MIPS_CPU_MIPS32R6
  179. config BR2_MIPS_FP32_MODE_XX
  180. bool "xx"
  181. select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
  182. config BR2_MIPS_FP32_MODE_64
  183. bool "64"
  184. depends on !BR2_MIPS_CPU_MIPS32
  185. endchoice
  186. config BR2_GCC_TARGET_FP32_MODE
  187. default "32" if BR2_MIPS_FP32_MODE_32
  188. default "xx" if BR2_MIPS_FP32_MODE_XX
  189. default "64" if BR2_MIPS_FP32_MODE_64
  190. config BR2_MIPS_NAN_LEGACY
  191. bool
  192. config BR2_MIPS_NAN_2008
  193. bool
  194. select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
  195. choice
  196. prompt "Target NaN"
  197. default BR2_MIPS_ENABLE_NAN_2008
  198. depends on BR2_mips_32r5 || BR2_mips_64r5
  199. help
  200. MIPS supports two different NaN encodings, legacy and 2008.
  201. Information about MIPS NaN encodings can be found here:
  202. https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html
  203. config BR2_MIPS_ENABLE_NAN_LEGACY
  204. bool "legacy"
  205. select BR2_MIPS_NAN_LEGACY
  206. config BR2_MIPS_ENABLE_NAN_2008
  207. bool "2008"
  208. depends on !BR2_MIPS_SOFT_FLOAT
  209. select BR2_MIPS_NAN_2008
  210. endchoice
  211. config BR2_GCC_TARGET_NAN
  212. default "legacy" if BR2_MIPS_NAN_LEGACY
  213. default "2008" if BR2_MIPS_NAN_2008
  214. config BR2_ARCH
  215. default "mips" if BR2_mips
  216. default "mipsel" if BR2_mipsel
  217. default "mips64" if BR2_mips64
  218. default "mips64el" if BR2_mips64el
  219. config BR2_NORMALIZED_ARCH
  220. default "mips"
  221. config BR2_ENDIAN
  222. default "LITTLE" if BR2_mipsel || BR2_mips64el
  223. default "BIG" if BR2_mips || BR2_mips64
  224. config BR2_GCC_TARGET_ARCH
  225. default "mips32" if BR2_mips_32
  226. default "mips32r2" if BR2_mips_32r2
  227. default "mips32r3" if BR2_mips_32r3
  228. default "mips32r5" if BR2_mips_32r5
  229. default "mips32r6" if BR2_mips_32r6
  230. default "interaptiv" if BR2_mips_interaptiv
  231. default "m5101" if BR2_mips_m5150
  232. default "m6201" if BR2_mips_m6250
  233. default "p5600" if BR2_mips_p5600
  234. default "mips32r2" if BR2_mips_xburst
  235. default "mips64" if BR2_mips_64
  236. default "mips64r2" if BR2_mips_64r2
  237. default "mips64r3" if BR2_mips_64r3
  238. default "mips64r5" if BR2_mips_64r5
  239. default "mips64r6" if BR2_mips_64r6
  240. default "i6400" if BR2_mips_i6400
  241. default "octeon2" if BR2_mips_octeon2
  242. default "octeon3" if BR2_mips_octeon3
  243. default "p6600" if BR2_mips_p6600
  244. default "mips4" if BR2_mips4
  245. config BR2_MIPS_OABI32
  246. bool
  247. default y if BR2_mips || BR2_mipsel
  248. config BR2_GCC_TARGET_ABI
  249. default "32" if BR2_MIPS_OABI32
  250. default "n32" if BR2_MIPS_NABI32
  251. default "64" if BR2_MIPS_NABI64
  252. config BR2_READELF_ARCH_NAME
  253. default "MIPS R3000"
  254. # vim: ft=kconfig
  255. # -*- mode:kconfig; -*-