]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - arch/Config.in
d06ab5e547588e55ca22050c4fa5885c67ddcef8
[coffee/buildroot.git] / arch / Config.in
1 menu "Target options"
2
3 config BR2_ARCH_IS_64
4         bool
5
6 config BR2_KERNEL_64_USERLAND_32
7         bool
8
9 config BR2_SOFT_FLOAT
10         bool
11
12 choice
13         prompt "Target Architecture"
14         default BR2_i386
15         help
16           Select the target architecture family to build for.
17
18 config BR2_arcle
19         bool "ARC (little endian)"
20         help
21           Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
22           that can be used from deeply embedded to high performance host
23           applications. Little endian.
24
25 config BR2_arceb
26         bool "ARC (big endian)"
27         help
28           Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
29           that can be used from deeply embedded to high performance host
30           applications. Big endian.
31
32 config BR2_arm
33         bool "ARM (little endian)"
34         help
35           ARM is a 32-bit reduced instruction set computer (RISC) instruction
36           set architecture (ISA) developed by ARM Holdings. Little endian.
37           http://www.arm.com/
38           http://en.wikipedia.org/wiki/ARM
39
40 config BR2_armeb
41         bool "ARM (big endian)"
42         help
43           ARM is a 32-bit reduced instruction set computer (RISC) instruction
44           set architecture (ISA) developed by ARM Holdings. Big endian.
45           http://www.arm.com/
46           http://en.wikipedia.org/wiki/ARM
47
48 config BR2_aarch64
49         bool "AArch64"
50         select BR2_ARCH_IS_64
51         help
52           Aarch64 is a 64-bit architecture developed by ARM Holdings.
53           http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
54           http://en.wikipedia.org/wiki/ARM
55
56 config BR2_avr32
57         bool "AVR32"
58         select BR2_SOFT_FLOAT
59         # This architecture is obsolete and complicated to maintain to
60         # do the lack of upstream support in the major toolchain
61         # components. If you're interested by AVR32, contact the
62         # Buildroot community. Otherwise, its support will be removed
63         # by the 2015.02 release.
64         depends on BR2_DEPRECATED_SINCE_2014_08
65         help
66           The AVR32 is a 32-bit RISC microprocessor architecture designed by
67           Atmel.
68           http://www.atmel.com/
69           http://en.wikipedia.org/wiki/Avr32
70
71 config BR2_bfin
72         bool "Blackfin"
73         help
74           The Blackfin is a family of 16 or 32-bit microprocessors developed,
75           manufactured and marketed by Analog Devices.
76           http://www.analog.com/
77           http://en.wikipedia.org/wiki/Blackfin
78
79 config BR2_i386
80         bool "i386"
81         help
82           Intel i386 architecture compatible microprocessor
83           http://en.wikipedia.org/wiki/I386
84
85 config BR2_m68k
86         bool "m68k"
87         depends on BROKEN # ice in uclibc / inet_ntoa_r
88         help
89           Motorola 68000 family microprocessor
90           http://en.wikipedia.org/wiki/M68k
91
92 config BR2_microblazeel
93         bool "Microblaze AXI (little endian)"
94         help
95           Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
96           based architecture (little endian)
97           http://www.xilinx.com
98           http://en.wikipedia.org/wiki/Microblaze
99
100 config BR2_microblazebe
101         bool "Microblaze non-AXI (big endian)"
102         help
103           Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
104           based architecture (non-AXI, big endian)
105           http://www.xilinx.com
106           http://en.wikipedia.org/wiki/Microblaze
107
108 config BR2_mips
109         bool "MIPS (big endian)"
110         help
111           MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
112           http://www.mips.com/
113           http://en.wikipedia.org/wiki/MIPS_Technologies
114
115 config BR2_mipsel
116         bool "MIPS (little endian)"
117         help
118           MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
119           http://www.mips.com/
120           http://en.wikipedia.org/wiki/MIPS_Technologies
121
122 config BR2_mips64
123         bool "MIPS64 (big endian)"
124         select BR2_ARCH_IS_64
125         help
126           MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
127           http://www.mips.com/
128           http://en.wikipedia.org/wiki/MIPS_Technologies
129
130 config BR2_mips64el
131         bool "MIPS64 (little endian)"
132         select BR2_ARCH_IS_64
133         help
134           MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
135           http://www.mips.com/
136           http://en.wikipedia.org/wiki/MIPS_Technologies
137
138 config BR2_nios2
139         bool "Nios II"
140         help
141           Nios II is a soft core processor from Altera Corporation.
142           http://www.altera.com/
143           http://en.wikipedia.org/wiki/Nios_II
144
145 config BR2_powerpc
146         bool "PowerPC"
147         help
148           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
149           Big endian.
150           http://www.power.org/
151           http://en.wikipedia.org/wiki/Powerpc
152
153 config BR2_powerpc64
154         bool "PowerPC64 (big endian)"
155         select BR2_ARCH_IS_64
156         help
157           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
158           Big endian.
159           http://www.power.org/
160           http://en.wikipedia.org/wiki/Powerpc
161
162 config BR2_powerpc64le
163         bool "PowerPC64 (little endian)"
164         select BR2_ARCH_IS_64
165         help
166           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
167           Little endian.
168           http://www.power.org/
169           http://en.wikipedia.org/wiki/Powerpc
170
171 config BR2_sh
172         bool "SuperH"
173         help
174           SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
175           instruction set architecture (ISA) developed by Hitachi.
176           http://www.hitachi.com/
177           http://en.wikipedia.org/wiki/SuperH
178
179 config BR2_sh64
180         bool "SuperH64"
181         help
182           SuperH64 (or SH) is a 64-bit reduced instruction set computer (RISC)
183           instruction set architecture (ISA) developed by Hitachi.
184           http://www.hitachi.com/
185           http://en.wikipedia.org/wiki/SuperH
186
187 config BR2_sparc
188         bool "SPARC"
189         help
190           SPARC (from Scalable Processor Architecture) is a RISC instruction
191           set architecture (ISA) developed by Sun Microsystems.
192           http://www.oracle.com/sun
193           http://en.wikipedia.org/wiki/Sparc
194
195 config BR2_x86_64
196         bool "x86_64"
197         select BR2_ARCH_IS_64
198         help
199           x86-64 is an extension of the x86 instruction set (Intel i386
200           architecture compatible microprocessor).
201           http://en.wikipedia.org/wiki/X86_64
202
203 config BR2_xtensa
204         bool "Xtensa"
205         help
206           Xtensa is a Tensilica processor IP architecture.
207           http://en.wikipedia.org/wiki/Xtensa
208           http://www.tensilica.com/
209
210 endchoice
211
212 # The following string values are defined by the individual
213 # Config.in.$ARCH files
214 config BR2_ARCH
215         string
216
217 config BR2_ENDIAN
218         string
219
220 config BR2_GCC_TARGET_ARCH
221         string
222
223 config BR2_GCC_TARGET_ABI
224         string
225
226 config BR2_GCC_TARGET_CPU
227         string
228
229 config BR2_GCC_TARGET_CPU_REVISION
230         string
231
232 # The value of this option will be passed as --with-fpu=<value> when
233 # building gcc (internal backend) or -mfpu=<value> in the toolchain
234 # wrapper (external toolchain)
235 config BR2_GCC_TARGET_FPU
236         string
237
238 # The value of this option will be passed as --with-float=<value> when
239 # building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
240 # wrapper (external toolchain)
241 config BR2_GCC_TARGET_FLOAT_ABI
242         string
243
244 # The value of this option will be passed as --with-mode=<value> when
245 # building gcc (internal backend) or -m<value> in the toolchain
246 # wrapper (external toolchain)
247 config BR2_GCC_TARGET_MODE
248         string
249
250 # If the architecture has atomic operations, select this:
251 config BR2_ARCH_HAS_ATOMICS
252         bool
253
254 # Must be selected by binary formats that support shared libraries.
255 config BR2_BINFMT_SUPPORTS_SHARED
256         bool
257
258 # Set up target binary format
259 choice
260         prompt "Target Binary Format"
261         default BR2_BINFMT_ELF if !(BR2_bfin || BR2_m68k)
262         default BR2_BINFMT_FDPIC if BR2_bfin
263         default BR2_BINFMT_FLAT if BR2_m68k
264
265 config BR2_BINFMT_ELF
266         bool "ELF"
267         depends on !BR2_bfin && !BR2_m68k
268         select BR2_BINFMT_SUPPORTS_SHARED
269         help
270           ELF (Executable and Linkable Format) is a format for libraries and
271           executables used across different architectures and operating
272           systems.
273
274 config BR2_BINFMT_FDPIC
275         bool "FDPIC"
276         depends on BR2_bfin
277         select BR2_BINFMT_SUPPORTS_SHARED
278         help
279           ELF FDPIC binaries are based on ELF, but allow the individual load
280           segments of a binary to be located in memory independently of each
281           other. This makes this format ideal for use in environments where no
282           MMU is available.
283
284 config BR2_BINFMT_FLAT
285         bool "FLAT"
286         depends on BR2_bfin || BR2_m68k
287         select BR2_STATIC_LIBS
288         help
289           FLAT binary is a relatively simple and lightweight executable format
290           based on the original a.out format. It is widely used in environment
291           where no MMU is available.
292
293 endchoice
294
295 # Set up flat binary type
296 choice
297         prompt "FLAT Binary type"
298         depends on BR2_BINFMT_FLAT
299         default BR2_BINFMT_FLAT_ONE
300
301 config BR2_BINFMT_FLAT_ONE
302         bool "One memory region"
303         help
304           All segments are linked into one memory region.
305
306 config BR2_BINFMT_FLAT_SEP_DATA
307         bool "Separate data and code region"
308         help
309           Allow for the data and text segments to be separated and placed in
310           different regions of memory.
311
312 config BR2_BINFMT_FLAT_SHARED
313         bool "Shared binary"
314         select BR2_BINFMT_SUPPORTS_SHARED
315         help
316           Allow to load and link indiviual FLAT binaries at run time.
317
318 endchoice
319
320 if BR2_arcle || BR2_arceb
321 source "arch/Config.in.arc"
322 endif
323
324 if BR2_arm || BR2_armeb
325 source "arch/Config.in.arm"
326 endif
327
328 if BR2_aarch64
329 source "arch/Config.in.aarch64"
330 endif
331
332 if BR2_avr32
333 source "arch/Config.in.avr32"
334 endif
335
336 if BR2_bfin
337 source "arch/Config.in.bfin"
338 endif
339
340 if BR2_m68k
341 source "arch/Config.in.m68k"
342 endif
343
344 if BR2_microblazeel || BR2_microblazebe
345 source "arch/Config.in.microblaze"
346 endif
347
348 if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
349 source "arch/Config.in.mips"
350 endif
351
352 if BR2_nios2
353 source "arch/Config.in.nios2"
354 endif
355
356 if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
357 source "arch/Config.in.powerpc"
358 endif
359
360 if BR2_sh || BR2_sh64
361 source "arch/Config.in.sh"
362 endif
363
364 if BR2_sparc
365 source "arch/Config.in.sparc"
366 endif
367
368 if BR2_i386 || BR2_x86_64
369 source "arch/Config.in.x86"
370 endif
371
372 if BR2_xtensa
373 source "arch/Config.in.xtensa"
374 endif
375
376 endmenu # Target options