blob: 327aff06b0fe72113e682948b7bca8a2b343ae5b [file] [log] [blame]
Thomas Petazzoni79ee3c12012-11-03 08:27:59 +00001# i386/x86_64 cpu features
2config BR2_X86_CPU_HAS_MMX
3 bool
4config BR2_X86_CPU_HAS_SSE
5 bool
6config BR2_X86_CPU_HAS_SSE2
7 bool
8config BR2_X86_CPU_HAS_SSE3
9 bool
10config BR2_X86_CPU_HAS_SSSE3
11 bool
Bernd Kuhls0e8e3c22014-01-02 18:59:45 +010012config BR2_X86_CPU_HAS_SSE4
13 bool
14config BR2_X86_CPU_HAS_SSE42
15 bool
Thomas Petazzoni79ee3c12012-11-03 08:27:59 +000016
17choice
18 prompt "Target Architecture Variant"
19 depends on BR2_i386 || BR2_x86_64
20 default BR2_x86_i586 if BR2_i386
21 default BR2_x86_generic if BR2_x86_64
22 help
23 Specific CPU variant to use
24
25config BR2_x86_generic
26 bool "generic"
27config BR2_x86_i386
28 bool "i386"
29 depends on !BR2_x86_64
30config BR2_x86_i486
31 bool "i486"
32 depends on !BR2_x86_64
33config BR2_x86_i586
34 bool "i586"
35 depends on !BR2_x86_64
36config BR2_x86_i686
37 bool "i686"
38 depends on !BR2_x86_64
39config BR2_x86_pentiumpro
40 bool "pentium pro"
41 depends on !BR2_x86_64
42config BR2_x86_pentium_mmx
43 bool "pentium MMX"
44 select BR2_X86_CPU_HAS_MMX
45 depends on !BR2_x86_64
46config BR2_x86_pentium_m
47 bool "pentium mobile"
48 select BR2_X86_CPU_HAS_MMX
49 select BR2_X86_CPU_HAS_SSE
50 depends on !BR2_x86_64
51config BR2_x86_pentium2
52 bool "pentium2"
53 select BR2_X86_CPU_HAS_MMX
54 depends on !BR2_x86_64
55config BR2_x86_pentium3
56 bool "pentium3"
57 select BR2_X86_CPU_HAS_MMX
58 select BR2_X86_CPU_HAS_SSE
59 depends on !BR2_x86_64
60config BR2_x86_pentium4
61 bool "pentium4"
62 select BR2_X86_CPU_HAS_MMX
63 select BR2_X86_CPU_HAS_SSE
64 select BR2_X86_CPU_HAS_SSE2
65 depends on !BR2_x86_64
66config BR2_x86_prescott
67 bool "prescott"
68 select BR2_X86_CPU_HAS_MMX
69 select BR2_X86_CPU_HAS_SSE
70 select BR2_X86_CPU_HAS_SSE2
71 select BR2_X86_CPU_HAS_SSE3
72 depends on !BR2_x86_64
73config BR2_x86_nocona
74 bool "nocona"
75 select BR2_X86_CPU_HAS_MMX
76 select BR2_X86_CPU_HAS_SSE
77 select BR2_X86_CPU_HAS_SSE2
78 select BR2_X86_CPU_HAS_SSE3
79config BR2_x86_core2
80 bool "core2"
81 select BR2_X86_CPU_HAS_MMX
82 select BR2_X86_CPU_HAS_SSE
83 select BR2_X86_CPU_HAS_SSE2
84 select BR2_X86_CPU_HAS_SSE3
85 select BR2_X86_CPU_HAS_SSSE3
Bernd Kuhlsaffb6a32014-04-27 13:29:15 +020086config BR2_x86_corei7
87 bool "corei7"
88 select BR2_X86_CPU_HAS_MMX
89 select BR2_X86_CPU_HAS_SSE
90 select BR2_X86_CPU_HAS_SSE2
91 select BR2_X86_CPU_HAS_SSE3
92 select BR2_X86_CPU_HAS_SSSE3
93 select BR2_X86_CPU_HAS_SSE4
94 select BR2_X86_CPU_HAS_SSE42
Thomas Petazzoni79ee3c12012-11-03 08:27:59 +000095config BR2_x86_atom
96 bool "atom"
97 select BR2_X86_CPU_HAS_MMX
98 select BR2_X86_CPU_HAS_SSE
99 select BR2_X86_CPU_HAS_SSE2
100 select BR2_X86_CPU_HAS_SSE3
101 select BR2_X86_CPU_HAS_SSSE3
102config BR2_x86_k6
103 bool "k6"
104 select BR2_X86_CPU_HAS_MMX
105 depends on !BR2_x86_64
106config BR2_x86_k6_2
107 bool "k6-2"
108 select BR2_X86_CPU_HAS_MMX
109 depends on !BR2_x86_64
110config BR2_x86_athlon
111 bool "athlon"
112 select BR2_X86_CPU_HAS_MMX
113 depends on !BR2_x86_64
114config BR2_x86_athlon_4
115 bool "athlon-4"
116 select BR2_X86_CPU_HAS_MMX
117 select BR2_X86_CPU_HAS_SSE
118 depends on !BR2_x86_64
119config BR2_x86_opteron
120 bool "opteron"
121 select BR2_X86_CPU_HAS_MMX
122 select BR2_X86_CPU_HAS_SSE
123 select BR2_X86_CPU_HAS_SSE2
124config BR2_x86_opteron_sse3
125 bool "opteron w/ SSE3"
126 select BR2_X86_CPU_HAS_MMX
127 select BR2_X86_CPU_HAS_SSE
128 select BR2_X86_CPU_HAS_SSE2
129 select BR2_X86_CPU_HAS_SSE3
130config BR2_x86_barcelona
131 bool "barcelona"
132 select BR2_X86_CPU_HAS_MMX
133 select BR2_X86_CPU_HAS_SSE
134 select BR2_X86_CPU_HAS_SSE2
135 select BR2_X86_CPU_HAS_SSE3
Adrien Bérauda20cb382014-01-15 17:17:10 -0500136config BR2_x86_jaguar
137 bool "jaguar"
138 select BR2_X86_CPU_HAS_MMX
139 select BR2_X86_CPU_HAS_SSE
140 select BR2_X86_CPU_HAS_SSE2
141 select BR2_X86_CPU_HAS_SSE3
142 select BR2_X86_CPU_HAS_SSSE3
Adrien Béraud485f07d2014-01-20 12:35:17 -0500143 select BR2_X86_CPU_HAS_SSE4
144 select BR2_X86_CPU_HAS_SSE42
Thomas Petazzoni79ee3c12012-11-03 08:27:59 +0000145config BR2_x86_geode
146 bool "geode"
147 # Don't include MMX support because there several variant of geode
148 # processor, some with MMX support, some without.
149 # See: http://en.wikipedia.org/wiki/Geode_%28processor%29
150 depends on !BR2_x86_64
151config BR2_x86_c3
152 bool "Via/Cyrix C3 (Samuel/Ezra cores)"
153 select BR2_X86_CPU_HAS_MMX
154 depends on !BR2_x86_64
155config BR2_x86_c32
156 bool "Via C3-2 (Nehemiah cores)"
157 select BR2_X86_CPU_HAS_MMX
158 select BR2_X86_CPU_HAS_SSE
159 depends on !BR2_x86_64
160config BR2_x86_winchip_c6
161 bool "IDT Winchip C6"
162 select BR2_X86_CPU_HAS_MMX
163 depends on !BR2_x86_64
164config BR2_x86_winchip2
165 bool "IDT Winchip 2"
166 select BR2_X86_CPU_HAS_MMX
167 depends on !BR2_x86_64
168endchoice
Thomas Petazzoni44c04a22012-11-15 03:53:48 +0000169
170config BR2_ARCH
171 default "i386" if BR2_x86_i386
172 default "i486" if BR2_x86_i486
173 default "i586" if BR2_x86_i586
174 default "i586" if BR2_x86_pentium_mmx
175 default "i586" if BR2_x86_geode
176 default "i586" if BR2_x86_c3
177 default "i686" if BR2_x86_c32
178 default "i586" if BR2_x86_winchip_c6
179 default "i586" if BR2_x86_winchip2
180 default "i686" if BR2_x86_i686
181 default "i686" if BR2_x86_pentium2
182 default "i686" if BR2_x86_pentium3
183 default "i686" if BR2_x86_pentium4
184 default "i686" if BR2_x86_pentium_m
185 default "i686" if BR2_x86_pentiumpro
186 default "i686" if BR2_x86_prescott
187 default "i686" if BR2_x86_nocona && BR2_i386
188 default "i686" if BR2_x86_core2 && BR2_i386
Bernd Kuhlsaffb6a32014-04-27 13:29:15 +0200189 default "i686" if BR2_x86_corei7 && BR2_i386
Thomas Petazzoni44c04a22012-11-15 03:53:48 +0000190 default "i686" if BR2_x86_atom && BR2_i386
191 default "i686" if BR2_x86_opteron && BR2_i386
192 default "i686" if BR2_x86_opteron_sse3 && BR2_i386
193 default "i686" if BR2_x86_barcelona && BR2_i386
Adrien Bérauda20cb382014-01-15 17:17:10 -0500194 default "i686" if BR2_x86_jaguar && BR2_i386
Thomas Petazzoni44c04a22012-11-15 03:53:48 +0000195 default "i686" if BR2_x86_k6
196 default "i686" if BR2_x86_k6_2
197 default "i686" if BR2_x86_athlon
198 default "i686" if BR2_x86_athlon_4
199 default "x86_64" if BR2_x86_64
Richard Braun2a27ad32012-12-20 03:41:52 +0000200 default "i386" if BR2_x86_generic
Thomas Petazzoni44c04a22012-11-15 03:53:48 +0000201
202config BR2_ENDIAN
203 default "LITTLE"
204
205config BR2_GCC_TARGET_TUNE
Thomas Petazzoni171075e2012-11-15 03:53:53 +0000206 default "i386" if BR2_x86_i386
207 default "i486" if BR2_x86_i486
208 default "i586" if BR2_x86_i586
209 default "pentium-mmx" if BR2_x86_pentium_mmx
210 default "i686" if BR2_x86_i686
211 default "pentiumpro" if BR2_x86_pentiumpro
212 default "pentium-m" if BR2_x86_pentium_m
213 default "pentium2" if BR2_x86_pentium2
214 default "pentium3" if BR2_x86_pentium3
215 default "pentium4" if BR2_x86_pentium4
216 default "prescott" if BR2_x86_prescott
217 default "nocona" if BR2_x86_nocona
218 default "core2" if BR2_x86_core2
Bernd Kuhlsaffb6a32014-04-27 13:29:15 +0200219 default "corei7" if BR2_x86_corei7
Thomas Petazzoni171075e2012-11-15 03:53:53 +0000220 default "atom" if BR2_x86_atom
221 default "k8" if BR2_x86_opteron
222 default "k8-sse3" if BR2_x86_opteron_sse3
223 default "barcelona" if BR2_x86_barcelona
Adrien Bérauda20cb382014-01-15 17:17:10 -0500224 default "btver2" if BR2_x86_jaguar
Thomas Petazzoni171075e2012-11-15 03:53:53 +0000225 default "k6" if BR2_x86_k6
226 default "k6-2" if BR2_x86_k6_2
227 default "athlon" if BR2_x86_athlon
228 default "athlon-4" if BR2_x86_athlon_4
229 default "winchip-c6" if BR2_x86_winchip_c6
230 default "winchip2" if BR2_x86_winchip2
231 default "c3" if BR2_x86_c3
232 default "c3-2" if BR2_x86_c32
233 default "geode" if BR2_x86_geode
234 default "generic" if BR2_x86_generic
Thomas Petazzoni44c04a22012-11-15 03:53:48 +0000235
236config BR2_GCC_TARGET_ARCH
Thomas Petazzoni171075e2012-11-15 03:53:53 +0000237 default "i386" if BR2_x86_i386
238 default "i486" if BR2_x86_i486
239 default "i586" if BR2_x86_i586
240 default "pentium-mmx" if BR2_x86_pentium_mmx
241 default "i686" if BR2_x86_i686
242 default "pentiumpro" if BR2_x86_pentiumpro
243 default "pentium-m" if BR2_x86_pentium_m
244 default "pentium2" if BR2_x86_pentium2
245 default "pentium3" if BR2_x86_pentium3
246 default "pentium4" if BR2_x86_pentium4
247 default "prescott" if BR2_x86_prescott
248 default "nocona" if BR2_x86_nocona
249 default "core2" if BR2_x86_core2
Bernd Kuhlsaffb6a32014-04-27 13:29:15 +0200250 default "corei7" if BR2_x86_corei7
Thomas Petazzoni171075e2012-11-15 03:53:53 +0000251 default "atom" if BR2_x86_atom
252 default "k8" if BR2_x86_opteron
253 default "k8-sse3" if BR2_x86_opteron_sse3
254 default "barcelona" if BR2_x86_barcelona
Adrien Bérauda20cb382014-01-15 17:17:10 -0500255 default "btver2" if BR2_x86_jaguar
Thomas Petazzoni171075e2012-11-15 03:53:53 +0000256 default "k6" if BR2_x86_k6
257 default "k6-2" if BR2_x86_k6_2
258 default "athlon" if BR2_x86_athlon
259 default "athlon-4" if BR2_x86_athlon_4
260 default "winchip-c6" if BR2_x86_winchip_c6
261 default "winchip2" if BR2_x86_winchip2
262 default "c3" if BR2_x86_c3
263 default "c3-2" if BR2_x86_c32
264 default "geode" if BR2_x86_geode