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