1 # mips default CPU ISAs
2 config BR2_MIPS_CPU_MIPS32
4 config BR2_MIPS_CPU_MIPS32R2
6 config BR2_MIPS_CPU_MIPS32R5
8 config BR2_MIPS_CPU_MIPS32R6
10 config BR2_MIPS_CPU_MIPS64
12 config BR2_MIPS_CPU_MIPS64R2
14 config BR2_MIPS_CPU_MIPS64R5
16 config BR2_MIPS_CPU_MIPS64R6
20 prompt "Target Architecture Variant"
21 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
22 default BR2_mips_32 if BR2_mips || BR2_mipsel
23 default BR2_mips_64 if BR2_mips64 || BR2_mips64el
25 Specific CPU variant to use
27 64bit cabable: 64, 64r2, 64r5, 64r6
28 non-64bit capable: 32, 32r2, 32r5, 32r6
32 depends on !BR2_ARCH_IS_64
33 select BR2_MIPS_CPU_MIPS32
35 bool "Generic MIPS32R2"
36 depends on !BR2_ARCH_IS_64
37 select BR2_MIPS_CPU_MIPS32R2
39 bool "Generic MIPS32R5"
40 depends on !BR2_ARCH_IS_64
41 select BR2_MIPS_CPU_MIPS32R5
43 bool "Generic MIPS32R6"
44 depends on !BR2_ARCH_IS_64
45 select BR2_MIPS_CPU_MIPS32R6
46 config BR2_mips_interaptiv
48 depends on !BR2_ARCH_IS_64
49 select BR2_MIPS_CPU_MIPS32R2
52 depends on !BR2_ARCH_IS_64
53 select BR2_MIPS_CPU_MIPS32R5
56 depends on !BR2_ARCH_IS_64
57 select BR2_MIPS_CPU_MIPS32R6
60 depends on !BR2_ARCH_IS_64
61 select BR2_MIPS_CPU_MIPS32R5
62 config BR2_mips_xburst
64 depends on !BR2_ARCH_IS_64
65 select BR2_MIPS_CPU_MIPS32R2
67 The Ingenic XBurst is a MIPS32R2 microprocessor. It has a
68 bug in the FPU that can generate incorrect results in
69 certain cases. The problem shows up when you have several
70 fused madd instructions in sequence with dependant
71 operands. This requires the -mno-fused-madd compiler option
72 to be used in order to prevent emitting these instructions.
74 See http://www.ingenic.com/en/?xburst.html
77 depends on BR2_ARCH_IS_64
78 select BR2_MIPS_CPU_MIPS64
80 bool "Generic MIPS64R2"
81 depends on BR2_ARCH_IS_64
82 select BR2_MIPS_CPU_MIPS64R2
84 bool "Generic MIPS64R5"
85 depends on BR2_ARCH_IS_64
86 select BR2_MIPS_CPU_MIPS64R5
88 bool "Generic MIPS64R6"
89 depends on BR2_ARCH_IS_64
90 select BR2_MIPS_CPU_MIPS64R6
93 depends on BR2_ARCH_IS_64
94 select BR2_MIPS_CPU_MIPS64R6
97 depends on BR2_ARCH_IS_64
98 select BR2_MIPS_CPU_MIPS64R6
104 depends on BR2_mips64 || BR2_mips64el
105 default BR2_MIPS_NABI32
108 Application Binary Interface to use
110 config BR2_MIPS_NABI32
112 depends on BR2_ARCH_IS_64
113 select BR2_KERNEL_64_USERLAND_32
114 config BR2_MIPS_NABI64
116 depends on BR2_ARCH_IS_64
119 config BR2_MIPS_SOFT_FLOAT
120 bool "Use soft-float"
122 select BR2_SOFT_FLOAT
124 If your target CPU does not have a Floating Point Unit (FPU)
125 or a kernel FPU emulator, but you still wish to support
126 floating point functions, then everything will need to be
127 compiled with soft floating point support (-msoft-float).
130 default "mips" if BR2_mips
131 default "mipsel" if BR2_mipsel
132 default "mips64" if BR2_mips64
133 default "mips64el" if BR2_mips64el
136 default "LITTLE" if BR2_mipsel || BR2_mips64el
137 default "BIG" if BR2_mips || BR2_mips64
139 config BR2_GCC_TARGET_ARCH
140 default "mips32" if BR2_mips_32
141 default "mips32r2" if BR2_mips_32r2
142 default "mips32r5" if BR2_mips_32r5
143 default "mips32r6" if BR2_mips_32r6
144 default "interaptiv" if BR2_mips_interaptiv
145 default "m5101" if BR2_mips_m5150
146 default "m6201" if BR2_mips_m6250
147 default "p5600" if BR2_mips_p5600
148 default "mips32r2" if BR2_mips_xburst
149 default "mips64" if BR2_mips_64
150 default "mips64r2" if BR2_mips_64r2
151 default "mips64r5" if BR2_mips_64r5
152 default "mips64r6" if BR2_mips_64r6
153 default "i6400" if BR2_mips_i6400
154 default "p6600" if BR2_mips_p6600
156 config BR2_MIPS_OABI32
158 default y if BR2_mips || BR2_mipsel
160 config BR2_GCC_TARGET_ABI
161 default "32" if BR2_MIPS_OABI32
162 default "n32" if BR2_MIPS_NABI32
163 default "64" if BR2_MIPS_NABI64