6 config BR2_KERNEL_64_USERLAND_32
12 config BR2_ARCH_HAS_MMU_MANDATORY
15 config BR2_ARCH_HAS_MMU_OPTIONAL
18 config BR2_ARCH_HAS_FDPIC_SUPPORT
22 prompt "Target Architecture"
25 Select the target architecture family to build for.
28 bool "ARC (little endian)"
29 select BR2_ARCH_HAS_MMU_MANDATORY
31 Synopsys' DesignWare ARC Processor Cores are a family of
32 32-bit CPUs that can be used from deeply embedded to high
33 performance host applications. Little endian.
36 bool "ARC (big endian)"
37 select BR2_ARCH_HAS_MMU_MANDATORY
39 Synopsys' DesignWare ARC Processor Cores are a family of
40 32-bit CPUs that can be used from deeply embedded to high
41 performance host applications. Big endian.
44 bool "ARM (little endian)"
45 # MMU support is set by the subarchitecture file, arch/Config.in.arm
47 ARM is a 32-bit reduced instruction set computer (RISC)
48 instruction set architecture (ISA) developed by ARM Holdings.
51 http://en.wikipedia.org/wiki/ARM
54 bool "ARM (big endian)"
55 # MMU support is set by the subarchitecture file, arch/Config.in.arm
57 ARM is a 32-bit reduced instruction set computer (RISC)
58 instruction set architecture (ISA) developed by ARM Holdings.
61 http://en.wikipedia.org/wiki/ARM
64 bool "AArch64 (little endian)"
66 select BR2_ARCH_HAS_MMU_MANDATORY
68 Aarch64 is a 64-bit architecture developed by ARM Holdings.
69 http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
70 http://en.wikipedia.org/wiki/ARM
73 bool "AArch64 (big endian)"
75 select BR2_ARCH_HAS_MMU_MANDATORY
77 Aarch64 is a 64-bit architecture developed by ARM Holdings.
78 http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
79 http://en.wikipedia.org/wiki/ARM
83 select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
84 select BR2_ARCH_HAS_MMU_MANDATORY
86 csky is processor IP from china.
88 http://www.github.com/c-sky
92 select BR2_ARCH_HAS_MMU_MANDATORY
94 Intel i386 architecture compatible microprocessor
95 http://en.wikipedia.org/wiki/I386
99 # MMU support is set by the subarchitecture file, arch/Config.in.m68k
101 Motorola 68000 family microprocessor
102 http://en.wikipedia.org/wiki/M68k
104 config BR2_microblazeel
105 bool "Microblaze AXI (little endian)"
106 select BR2_ARCH_HAS_MMU_MANDATORY
108 Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
109 bus based architecture (little endian)
110 http://www.xilinx.com
111 http://en.wikipedia.org/wiki/Microblaze
113 config BR2_microblazebe
114 bool "Microblaze non-AXI (big endian)"
115 select BR2_ARCH_HAS_MMU_MANDATORY
117 Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
118 bus based architecture (non-AXI, big endian)
119 http://www.xilinx.com
120 http://en.wikipedia.org/wiki/Microblaze
123 bool "MIPS (big endian)"
124 select BR2_ARCH_HAS_MMU_MANDATORY
126 MIPS is a RISC microprocessor from MIPS Technologies. Big
129 http://en.wikipedia.org/wiki/MIPS_Technologies
132 bool "MIPS (little endian)"
133 select BR2_ARCH_HAS_MMU_MANDATORY
135 MIPS is a RISC microprocessor from MIPS Technologies. Little
138 http://en.wikipedia.org/wiki/MIPS_Technologies
141 bool "MIPS64 (big endian)"
142 select BR2_ARCH_IS_64
143 select BR2_ARCH_HAS_MMU_MANDATORY
145 MIPS is a RISC microprocessor from MIPS Technologies. Big
148 http://en.wikipedia.org/wiki/MIPS_Technologies
151 bool "MIPS64 (little endian)"
152 select BR2_ARCH_IS_64
153 select BR2_ARCH_HAS_MMU_MANDATORY
155 MIPS is a RISC microprocessor from MIPS Technologies. Little
158 http://en.wikipedia.org/wiki/MIPS_Technologies
162 select BR2_ARCH_HAS_MMU_MANDATORY
164 Nios II is a soft core processor from Altera Corporation.
165 http://www.altera.com/
166 http://en.wikipedia.org/wiki/Nios_II
170 select BR2_ARCH_HAS_MMU_MANDATORY
172 OpenRISC is a free and open processor for embedded system.
177 select BR2_ARCH_HAS_MMU_MANDATORY
179 PowerPC is a RISC architecture created by Apple-IBM-Motorola
180 alliance. Big endian.
181 http://www.power.org/
182 http://en.wikipedia.org/wiki/Powerpc
185 bool "PowerPC64 (big endian)"
186 select BR2_ARCH_IS_64
187 select BR2_ARCH_HAS_MMU_MANDATORY
189 PowerPC is a RISC architecture created by Apple-IBM-Motorola
190 alliance. Big endian.
191 http://www.power.org/
192 http://en.wikipedia.org/wiki/Powerpc
194 config BR2_powerpc64le
195 bool "PowerPC64 (little endian)"
196 select BR2_ARCH_IS_64
197 select BR2_ARCH_HAS_MMU_MANDATORY
199 PowerPC is a RISC architecture created by Apple-IBM-Motorola
200 alliance. Little endian.
201 http://www.power.org/
202 http://en.wikipedia.org/wiki/Powerpc
206 select BR2_ARCH_HAS_MMU_OPTIONAL
208 SuperH (or SH) is a 32-bit reduced instruction set computer
209 (RISC) instruction set architecture (ISA) developed by
211 http://www.hitachi.com/
212 http://en.wikipedia.org/wiki/SuperH
216 select BR2_ARCH_HAS_MMU_MANDATORY
218 SPARC (from Scalable Processor Architecture) is a RISC
219 instruction set architecture (ISA) developed by Sun
221 http://www.oracle.com/sun
222 http://en.wikipedia.org/wiki/Sparc
226 select BR2_ARCH_IS_64
227 select BR2_ARCH_HAS_MMU_MANDATORY
229 SPARC (from Scalable Processor Architecture) is a RISC
230 instruction set architecture (ISA) developed by Sun
232 http://www.oracle.com/sun
233 http://en.wikipedia.org/wiki/Sparc
237 select BR2_ARCH_IS_64
238 select BR2_ARCH_HAS_MMU_MANDATORY
240 x86-64 is an extension of the x86 instruction set (Intel i386
241 architecture compatible microprocessor).
242 http://en.wikipedia.org/wiki/X86_64
246 # MMU support is set by the subarchitecture file, arch/Config.in.xtensa
248 Xtensa is a Tensilica processor IP architecture.
249 http://en.wikipedia.org/wiki/Xtensa
250 http://www.tensilica.com/
254 # For some architectures or specific cores, our internal toolchain
255 # backend is not suitable (like, missing support in upstream gcc, or
256 # no ChipCo fork exists...)
257 config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
260 config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
262 default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
264 # The following symbols are selected by the individual
265 # Config.in.$ARCH files
266 config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
269 config BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
271 select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
273 config BR2_ARCH_NEEDS_GCC_AT_LEAST_5
275 select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
277 config BR2_ARCH_NEEDS_GCC_AT_LEAST_6
279 select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
281 config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
283 select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
285 # The following string values are defined by the individual
286 # Config.in.$ARCH files
293 config BR2_GCC_TARGET_ARCH
296 config BR2_GCC_TARGET_ABI
299 config BR2_GCC_TARGET_NAN
302 config BR2_GCC_TARGET_FP32_MODE
305 config BR2_GCC_TARGET_CPU
308 config BR2_GCC_TARGET_CPU_REVISION
311 # The value of this option will be passed as --with-fpu=<value> when
312 # building gcc (internal backend) or -mfpu=<value> in the toolchain
313 # wrapper (external toolchain)
314 config BR2_GCC_TARGET_FPU
317 # The value of this option will be passed as --with-float=<value> when
318 # building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
319 # wrapper (external toolchain)
320 config BR2_GCC_TARGET_FLOAT_ABI
323 # The value of this option will be passed as --with-mode=<value> when
324 # building gcc (internal backend) or -m<value> in the toolchain
325 # wrapper (external toolchain)
326 config BR2_GCC_TARGET_MODE
329 # Must be selected by binary formats that support shared libraries.
330 config BR2_BINFMT_SUPPORTS_SHARED
333 # Must match the name of the architecture from readelf point of view,
334 # i.e the "Machine:" field of readelf output. See get_machine_name()
335 # in binutils/readelf.c for the list of possible values.
336 config BR2_READELF_ARCH_NAME
339 # Set up target binary format
341 prompt "Target Binary Format"
342 default BR2_BINFMT_ELF if BR2_USE_MMU
343 default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
344 default BR2_BINFMT_FLAT
346 config BR2_BINFMT_ELF
348 depends on BR2_USE_MMU
349 select BR2_BINFMT_SUPPORTS_SHARED
351 ELF (Executable and Linkable Format) is a format for libraries
352 and executables used across different architectures and
355 config BR2_BINFMT_FDPIC
357 depends on BR2_ARCH_HAS_FDPIC_SUPPORT
358 select BR2_BINFMT_SUPPORTS_SHARED
360 ELF FDPIC binaries are based on ELF, but allow the individual
361 load segments of a binary to be located in memory
362 independently of each other. This makes this format ideal for
363 use in environments where no MMU is available.
365 config BR2_BINFMT_FLAT
367 depends on !BR2_USE_MMU
369 FLAT binary is a relatively simple and lightweight executable
370 format based on the original a.out format. It is widely used
371 in environment where no MMU is available.
375 # Set up flat binary type
377 prompt "FLAT Binary type"
378 default BR2_BINFMT_FLAT_ONE
379 depends on BR2_BINFMT_FLAT
381 config BR2_BINFMT_FLAT_ONE
382 bool "One memory region"
384 All segments are linked into one memory region.
386 config BR2_BINFMT_FLAT_SHARED
389 # Even though this really generates shared binaries, there is no libdl
390 # and dlopen() cannot be used. So packages that require shared
391 # libraries cannot be built. Therefore, we don't select
392 # BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
393 # Although this adds -static to the compilation, that's not a problem
394 # because the -mid-shared-library option overrides it.
396 Allow to load and link indiviual FLAT binaries at run time.
400 if BR2_arcle || BR2_arceb
401 source "arch/Config.in.arc"
404 if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
405 source "arch/Config.in.arm"
409 source "arch/Config.in.csky"
413 source "arch/Config.in.m68k"
416 if BR2_microblazeel || BR2_microblazebe
417 source "arch/Config.in.microblaze"
420 if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
421 source "arch/Config.in.mips"
425 source "arch/Config.in.nios2"
429 source "arch/Config.in.or1k"
432 if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
433 source "arch/Config.in.powerpc"
437 source "arch/Config.in.sh"
440 if BR2_sparc || BR2_sparc64
441 source "arch/Config.in.sparc"
444 if BR2_i386 || BR2_x86_64
445 source "arch/Config.in.x86"
449 source "arch/Config.in.xtensa"
452 endmenu # Target options