]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - arch/Config.in
arch: remove BR2_ARCH_HAS_ATOMICS option
[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 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_i386
89         bool "i386"
90         select BR2_ARCH_HAS_MMU_MANDATORY
91         help
92           Intel i386 architecture compatible microprocessor
93           http://en.wikipedia.org/wiki/I386
94
95 config BR2_m68k
96         bool "m68k"
97         select BR2_ARCH_HAS_MMU_MANDATORY
98         depends on BROKEN # ice in uclibc / inet_ntoa_r
99         help
100           Motorola 68000 family microprocessor
101           http://en.wikipedia.org/wiki/M68k
102
103 config BR2_microblazeel
104         bool "Microblaze AXI (little endian)"
105         select BR2_ARCH_HAS_MMU_MANDATORY
106         help
107           Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
108           based architecture (little endian)
109           http://www.xilinx.com
110           http://en.wikipedia.org/wiki/Microblaze
111
112 config BR2_microblazebe
113         bool "Microblaze non-AXI (big endian)"
114         select BR2_ARCH_HAS_MMU_MANDATORY
115         help
116           Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
117           based architecture (non-AXI, big endian)
118           http://www.xilinx.com
119           http://en.wikipedia.org/wiki/Microblaze
120
121 config BR2_mips
122         bool "MIPS (big endian)"
123         select BR2_ARCH_HAS_MMU_MANDATORY
124         help
125           MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
126           http://www.mips.com/
127           http://en.wikipedia.org/wiki/MIPS_Technologies
128
129 config BR2_mipsel
130         bool "MIPS (little endian)"
131         select BR2_ARCH_HAS_MMU_MANDATORY
132         help
133           MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
134           http://www.mips.com/
135           http://en.wikipedia.org/wiki/MIPS_Technologies
136
137 config BR2_mips64
138         bool "MIPS64 (big endian)"
139         select BR2_ARCH_IS_64
140         select BR2_ARCH_HAS_MMU_MANDATORY
141         help
142           MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
143           http://www.mips.com/
144           http://en.wikipedia.org/wiki/MIPS_Technologies
145
146 config BR2_mips64el
147         bool "MIPS64 (little endian)"
148         select BR2_ARCH_IS_64
149         select BR2_ARCH_HAS_MMU_MANDATORY
150         help
151           MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
152           http://www.mips.com/
153           http://en.wikipedia.org/wiki/MIPS_Technologies
154
155 config BR2_nios2
156         bool "Nios II"
157         select BR2_ARCH_HAS_MMU_MANDATORY
158         help
159           Nios II is a soft core processor from Altera Corporation.
160           http://www.altera.com/
161           http://en.wikipedia.org/wiki/Nios_II
162
163 config BR2_powerpc
164         bool "PowerPC"
165         select BR2_ARCH_HAS_MMU_MANDATORY
166         help
167           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
168           Big endian.
169           http://www.power.org/
170           http://en.wikipedia.org/wiki/Powerpc
171
172 config BR2_powerpc64
173         bool "PowerPC64 (big endian)"
174         select BR2_ARCH_IS_64
175         select BR2_ARCH_HAS_MMU_MANDATORY
176         help
177           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
178           Big endian.
179           http://www.power.org/
180           http://en.wikipedia.org/wiki/Powerpc
181
182 config BR2_powerpc64le
183         bool "PowerPC64 (little endian)"
184         select BR2_ARCH_IS_64
185         select BR2_ARCH_HAS_MMU_MANDATORY
186         help
187           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
188           Little endian.
189           http://www.power.org/
190           http://en.wikipedia.org/wiki/Powerpc
191
192 config BR2_sh
193         bool "SuperH"
194         select BR2_ARCH_HAS_MMU_OPTIONAL
195         help
196           SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
197           instruction set architecture (ISA) developed by Hitachi.
198           http://www.hitachi.com/
199           http://en.wikipedia.org/wiki/SuperH
200
201 config BR2_sh64
202         bool "SuperH64"
203         depends on BR2_DEPRECATED_SINCE_2015_05
204         select BR2_ARCH_HAS_MMU_MANDATORY
205         help
206           SuperH64 (or SH) is a 64-bit reduced instruction set computer (RISC)
207           instruction set architecture (ISA) developed by Hitachi.
208           http://www.hitachi.com/
209           http://en.wikipedia.org/wiki/SuperH
210
211 config BR2_sparc
212         bool "SPARC"
213         select BR2_ARCH_HAS_MMU_MANDATORY
214         help
215           SPARC (from Scalable Processor Architecture) is a RISC instruction
216           set architecture (ISA) developed by Sun Microsystems.
217           http://www.oracle.com/sun
218           http://en.wikipedia.org/wiki/Sparc
219
220 config BR2_sparc64
221         bool "SPARC64"
222         select BR2_ARCH_IS_64
223         select BR2_ARCH_HAS_MMU_MANDATORY
224         help
225           SPARC (from Scalable Processor Architecture) is a RISC instruction
226           set architecture (ISA) developed by Sun Microsystems.
227           http://www.oracle.com/sun
228           http://en.wikipedia.org/wiki/Sparc
229
230 config BR2_x86_64
231         bool "x86_64"
232         select BR2_ARCH_IS_64
233         select BR2_ARCH_HAS_MMU_MANDATORY
234         help
235           x86-64 is an extension of the x86 instruction set (Intel i386
236           architecture compatible microprocessor).
237           http://en.wikipedia.org/wiki/X86_64
238
239 config BR2_xtensa
240         bool "Xtensa"
241         # MMU support is set by the subarchitecture file, arch/Config.in.xtensa
242         help
243           Xtensa is a Tensilica processor IP architecture.
244           http://en.wikipedia.org/wiki/Xtensa
245           http://www.tensilica.com/
246
247 endchoice
248
249 # The following string values are defined by the individual
250 # Config.in.$ARCH files
251 config BR2_ARCH
252         string
253
254 config BR2_ENDIAN
255         string
256
257 config BR2_GCC_TARGET_ARCH
258         string
259
260 config BR2_GCC_TARGET_ABI
261         string
262
263 config BR2_GCC_TARGET_CPU
264         string
265
266 config BR2_GCC_TARGET_CPU_REVISION
267         string
268
269 # The value of this option will be passed as --with-fpu=<value> when
270 # building gcc (internal backend) or -mfpu=<value> in the toolchain
271 # wrapper (external toolchain)
272 config BR2_GCC_TARGET_FPU
273         string
274
275 # The value of this option will be passed as --with-float=<value> when
276 # building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
277 # wrapper (external toolchain)
278 config BR2_GCC_TARGET_FLOAT_ABI
279         string
280
281 # The value of this option will be passed as --with-mode=<value> when
282 # building gcc (internal backend) or -m<value> in the toolchain
283 # wrapper (external toolchain)
284 config BR2_GCC_TARGET_MODE
285         string
286
287 # Must be selected by binary formats that support shared libraries.
288 config BR2_BINFMT_SUPPORTS_SHARED
289         bool
290
291 # Set up target binary format
292 choice
293         prompt "Target Binary Format"
294         default BR2_BINFMT_ELF if BR2_USE_MMU
295         default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
296         default BR2_BINFMT_FLAT
297
298 config BR2_BINFMT_ELF
299         bool "ELF"
300         depends on BR2_USE_MMU
301         select BR2_BINFMT_SUPPORTS_SHARED
302         help
303           ELF (Executable and Linkable Format) is a format for libraries and
304           executables used across different architectures and operating
305           systems.
306
307 config BR2_BINFMT_FDPIC
308         bool "FDPIC"
309         depends on BR2_ARCH_HAS_FDPIC_SUPPORT
310         select BR2_BINFMT_SUPPORTS_SHARED
311         help
312           ELF FDPIC binaries are based on ELF, but allow the individual load
313           segments of a binary to be located in memory independently of each
314           other. This makes this format ideal for use in environments where no
315           MMU is available.
316
317 config BR2_BINFMT_FLAT
318         bool "FLAT"
319         depends on !BR2_USE_MMU
320         help
321           FLAT binary is a relatively simple and lightweight executable format
322           based on the original a.out format. It is widely used in environment
323           where no MMU is available.
324
325 endchoice
326
327 # Set up flat binary type
328 choice
329         prompt "FLAT Binary type"
330         depends on BR2_BINFMT_FLAT
331         default BR2_BINFMT_FLAT_ONE
332
333 config BR2_BINFMT_FLAT_ONE
334         bool "One memory region"
335         help
336           All segments are linked into one memory region.
337
338 config BR2_BINFMT_FLAT_SEP_DATA
339         bool "Separate data and code region"
340         help
341           Allow for the data and text segments to be separated and placed in
342           different regions of memory.
343
344 config BR2_BINFMT_FLAT_SHARED
345         bool "Shared binary"
346         # Even though this really generates shared binaries, there is no libdl
347         # and dlopen() cannot be used. So packages that require shared
348         # libraries cannot be built. Therefore, we don't select
349         # BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
350         # Although this adds -static to the compilation, that's not a problem
351         # because the -mid-shared-library option overrides it.
352         help
353           Allow to load and link indiviual FLAT binaries at run time.
354
355 endchoice
356
357 if BR2_arcle || BR2_arceb
358 source "arch/Config.in.arc"
359 endif
360
361 if BR2_arm || BR2_armeb
362 source "arch/Config.in.arm"
363 endif
364
365 if BR2_aarch64 || BR2_aarch64_be
366 source "arch/Config.in.aarch64"
367 endif
368
369 if BR2_bfin
370 source "arch/Config.in.bfin"
371 endif
372
373 if BR2_m68k
374 source "arch/Config.in.m68k"
375 endif
376
377 if BR2_microblazeel || BR2_microblazebe
378 source "arch/Config.in.microblaze"
379 endif
380
381 if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
382 source "arch/Config.in.mips"
383 endif
384
385 if BR2_nios2
386 source "arch/Config.in.nios2"
387 endif
388
389 if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
390 source "arch/Config.in.powerpc"
391 endif
392
393 if BR2_sh || BR2_sh64
394 source "arch/Config.in.sh"
395 endif
396
397 if BR2_sparc || BR2_sparc64
398 source "arch/Config.in.sparc"
399 endif
400
401 if BR2_i386 || BR2_x86_64
402 source "arch/Config.in.x86"
403 endif
404
405 if BR2_xtensa
406 source "arch/Config.in.xtensa"
407 endif
408
409 endmenu # Target options