]> Git Repo - buildroot-mgba.git/blob - arch/Config.in
arch/mips: add support for MIPS NaN
[buildroot-mgba.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 config BR2_ARCH_HAS_MMU_MANDATORY
13         bool
14
15 config BR2_ARCH_HAS_MMU_OPTIONAL
16         bool
17
18 config BR2_ARCH_HAS_FDPIC_SUPPORT
19         bool
20
21 choice
22         prompt "Target Architecture"
23         default BR2_i386
24         help
25           Select the target architecture family to build for.
26
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.
34
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.
42
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
51
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
60
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
69
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
78
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
87
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
95
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
102
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
109
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
118
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
127
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
135
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
143
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
152
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
161
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
169
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
176
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
185
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
195
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
205
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
214
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
223
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
233
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
242
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/
250
251 endchoice
252
253 # The following string values are defined by the individual
254 # Config.in.$ARCH files
255 config BR2_ARCH
256         string
257
258 config BR2_ENDIAN
259         string
260
261 config BR2_GCC_TARGET_ARCH
262         string
263
264 config BR2_GCC_TARGET_ABI
265         string
266
267 config BR2_GCC_TARGET_NAN
268         string
269
270 config BR2_GCC_TARGET_CPU
271         string
272
273 config BR2_GCC_TARGET_CPU_REVISION
274         string
275
276 # The value of this option will be passed as --with-fpu=<value> when
277 # building gcc (internal backend) or -mfpu=<value> in the toolchain
278 # wrapper (external toolchain)
279 config BR2_GCC_TARGET_FPU
280         string
281
282 # The value of this option will be passed as --with-float=<value> when
283 # building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
284 # wrapper (external toolchain)
285 config BR2_GCC_TARGET_FLOAT_ABI
286         string
287
288 # The value of this option will be passed as --with-mode=<value> when
289 # building gcc (internal backend) or -m<value> in the toolchain
290 # wrapper (external toolchain)
291 config BR2_GCC_TARGET_MODE
292         string
293
294 # Must be selected by binary formats that support shared libraries.
295 config BR2_BINFMT_SUPPORTS_SHARED
296         bool
297
298 # Must match the name of the architecture from readelf point of view,
299 # i.e the "Machine:" field of readelf output. See get_machine_name()
300 # in binutils/readelf.c for the list of possible values.
301 config BR2_READELF_ARCH_NAME
302         string
303
304 # Set up target binary format
305 choice
306         prompt "Target Binary Format"
307         default BR2_BINFMT_ELF if BR2_USE_MMU
308         default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
309         default BR2_BINFMT_FLAT
310
311 config BR2_BINFMT_ELF
312         bool "ELF"
313         depends on BR2_USE_MMU
314         select BR2_BINFMT_SUPPORTS_SHARED
315         help
316           ELF (Executable and Linkable Format) is a format for libraries and
317           executables used across different architectures and operating
318           systems.
319
320 config BR2_BINFMT_FDPIC
321         bool "FDPIC"
322         depends on BR2_ARCH_HAS_FDPIC_SUPPORT
323         select BR2_BINFMT_SUPPORTS_SHARED
324         help
325           ELF FDPIC binaries are based on ELF, but allow the individual load
326           segments of a binary to be located in memory independently of each
327           other. This makes this format ideal for use in environments where no
328           MMU is available.
329
330 config BR2_BINFMT_FLAT
331         bool "FLAT"
332         depends on !BR2_USE_MMU
333         help
334           FLAT binary is a relatively simple and lightweight executable format
335           based on the original a.out format. It is widely used in environment
336           where no MMU is available.
337
338 endchoice
339
340 # Set up flat binary type
341 choice
342         prompt "FLAT Binary type"
343         depends on BR2_BINFMT_FLAT
344         default BR2_BINFMT_FLAT_ONE
345
346 config BR2_BINFMT_FLAT_ONE
347         bool "One memory region"
348         help
349           All segments are linked into one memory region.
350
351 config BR2_BINFMT_FLAT_SEP_DATA
352         bool "Separate data and code region"
353         # this FLAT binary type technically exists on m68k, but fails
354         # to build numerous packages: due to architecture limitation,
355         # big functions cannot be built in this mode. They cause build
356         # failures such as "Tried to convert PC relative branch to
357         # absolute jump" or "error: value -yyyyy out of range".
358         depends on BR2_bfin
359         help
360           Allow for the data and text segments to be separated and placed in
361           different regions of memory.
362
363 config BR2_BINFMT_FLAT_SHARED
364         bool "Shared binary"
365         depends on BR2_m68k || BR2_bfin
366         # Even though this really generates shared binaries, there is no libdl
367         # and dlopen() cannot be used. So packages that require shared
368         # libraries cannot be built. Therefore, we don't select
369         # BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
370         # Although this adds -static to the compilation, that's not a problem
371         # because the -mid-shared-library option overrides it.
372         help
373           Allow to load and link indiviual FLAT binaries at run time.
374
375 endchoice
376
377 if BR2_arcle || BR2_arceb
378 source "arch/Config.in.arc"
379 endif
380
381 if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
382 source "arch/Config.in.arm"
383 endif
384
385 if BR2_bfin
386 source "arch/Config.in.bfin"
387 endif
388
389 if BR2_csky
390 source "arch/Config.in.csky"
391 endif
392
393 if BR2_m68k
394 source "arch/Config.in.m68k"
395 endif
396
397 if BR2_microblazeel || BR2_microblazebe
398 source "arch/Config.in.microblaze"
399 endif
400
401 if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
402 source "arch/Config.in.mips"
403 endif
404
405 if BR2_nios2
406 source "arch/Config.in.nios2"
407 endif
408
409 if BR2_or1k
410 source "arch/Config.in.or1k"
411 endif
412
413 if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
414 source "arch/Config.in.powerpc"
415 endif
416
417 if BR2_sh
418 source "arch/Config.in.sh"
419 endif
420
421 if BR2_sparc || BR2_sparc64
422 source "arch/Config.in.sparc"
423 endif
424
425 if BR2_i386 || BR2_x86_64
426 source "arch/Config.in.x86"
427 endif
428
429 if BR2_xtensa
430 source "arch/Config.in.xtensa"
431 endif
432
433 endmenu # Target options
This page took 0.051773 seconds and 4 git commands to generate.