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-bit CPUs
32 that can be used from deeply embedded to high performance host
33 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 32-bit CPUs
40 that can be used from deeply embedded to high performance host
41 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) instruction
48 set architecture (ISA) developed by ARM Holdings. Little endian.
50 http://en.wikipedia.org/wiki/ARM
53 bool "ARM (big endian)"
54 # MMU support is set by the subarchitecture file, arch/Config.in.arm
56 ARM is a 32-bit reduced instruction set computer (RISC) instruction
57 set architecture (ISA) developed by ARM Holdings. Big endian.
59 http://en.wikipedia.org/wiki/ARM
62 bool "AArch64 (little endian)"
64 select BR2_ARCH_HAS_MMU_MANDATORY
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
71 bool "AArch64 (big endian)"
73 select BR2_ARCH_HAS_MMU_MANDATORY
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
81 select BR2_ARCH_HAS_FDPIC_SUPPORT
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
90 select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
91 select BR2_ARCH_HAS_MMU_MANDATORY
93 csky is processor IP from china.
95 http://www.github.com/c-sky
99 select BR2_ARCH_HAS_MMU_MANDATORY
101 Intel i386 architecture compatible microprocessor
102 http://en.wikipedia.org/wiki/I386
106 # MMU support is set by the subarchitecture file, arch/Config.in.m68k
108 Motorola 68000 family microprocessor
109 http://en.wikipedia.org/wiki/M68k
111 config BR2_microblazeel
112 bool "Microblaze AXI (little endian)"
113 select BR2_ARCH_HAS_MMU_MANDATORY
115 Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
116 based architecture (little endian)
117 http://www.xilinx.com
118 http://en.wikipedia.org/wiki/Microblaze
120 config BR2_microblazebe
121 bool "Microblaze non-AXI (big endian)"
122 select BR2_ARCH_HAS_MMU_MANDATORY
124 Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
125 based architecture (non-AXI, big endian)
126 http://www.xilinx.com
127 http://en.wikipedia.org/wiki/Microblaze
130 bool "MIPS (big endian)"
131 select BR2_ARCH_HAS_MMU_MANDATORY
133 MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
135 http://en.wikipedia.org/wiki/MIPS_Technologies
138 bool "MIPS (little endian)"
139 select BR2_ARCH_HAS_MMU_MANDATORY
141 MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
143 http://en.wikipedia.org/wiki/MIPS_Technologies
146 bool "MIPS64 (big endian)"
147 select BR2_ARCH_IS_64
148 select BR2_ARCH_HAS_MMU_MANDATORY
150 MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
152 http://en.wikipedia.org/wiki/MIPS_Technologies
155 bool "MIPS64 (little endian)"
156 select BR2_ARCH_IS_64
157 select BR2_ARCH_HAS_MMU_MANDATORY
159 MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
161 http://en.wikipedia.org/wiki/MIPS_Technologies
165 select BR2_ARCH_HAS_MMU_MANDATORY
167 Nios II is a soft core processor from Altera Corporation.
168 http://www.altera.com/
169 http://en.wikipedia.org/wiki/Nios_II
173 select BR2_ARCH_HAS_MMU_MANDATORY
175 OpenRISC is a free and open processor for embedded system.
180 select BR2_ARCH_HAS_MMU_MANDATORY
182 PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
184 http://www.power.org/
185 http://en.wikipedia.org/wiki/Powerpc
188 bool "PowerPC64 (big endian)"
189 select BR2_ARCH_IS_64
190 select BR2_ARCH_HAS_MMU_MANDATORY
192 PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
194 http://www.power.org/
195 http://en.wikipedia.org/wiki/Powerpc
197 config BR2_powerpc64le
198 bool "PowerPC64 (little endian)"
199 select BR2_ARCH_IS_64
200 select BR2_ARCH_HAS_MMU_MANDATORY
202 PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
204 http://www.power.org/
205 http://en.wikipedia.org/wiki/Powerpc
209 select BR2_ARCH_HAS_MMU_OPTIONAL
211 SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
212 instruction set architecture (ISA) developed by Hitachi.
213 http://www.hitachi.com/
214 http://en.wikipedia.org/wiki/SuperH
218 select BR2_ARCH_HAS_MMU_MANDATORY
220 SPARC (from Scalable Processor Architecture) is a RISC instruction
221 set architecture (ISA) developed by Sun Microsystems.
222 http://www.oracle.com/sun
223 http://en.wikipedia.org/wiki/Sparc
227 select BR2_ARCH_IS_64
228 select BR2_ARCH_HAS_MMU_MANDATORY
230 SPARC (from Scalable Processor Architecture) is a RISC instruction
231 set architecture (ISA) developed by Sun Microsystems.
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 string values are defined by the individual
265 # Config.in.$ARCH files
272 config BR2_GCC_TARGET_ARCH
275 config BR2_GCC_TARGET_ABI
278 config BR2_GCC_TARGET_NAN
281 config BR2_GCC_TARGET_FP32_MODE
284 config BR2_GCC_TARGET_CPU
287 config BR2_GCC_TARGET_CPU_REVISION
290 # The value of this option will be passed as --with-fpu=<value> when
291 # building gcc (internal backend) or -mfpu=<value> in the toolchain
292 # wrapper (external toolchain)
293 config BR2_GCC_TARGET_FPU
296 # The value of this option will be passed as --with-float=<value> when
297 # building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
298 # wrapper (external toolchain)
299 config BR2_GCC_TARGET_FLOAT_ABI
302 # The value of this option will be passed as --with-mode=<value> when
303 # building gcc (internal backend) or -m<value> in the toolchain
304 # wrapper (external toolchain)
305 config BR2_GCC_TARGET_MODE
308 # Must be selected by binary formats that support shared libraries.
309 config BR2_BINFMT_SUPPORTS_SHARED
312 # Must match the name of the architecture from readelf point of view,
313 # i.e the "Machine:" field of readelf output. See get_machine_name()
314 # in binutils/readelf.c for the list of possible values.
315 config BR2_READELF_ARCH_NAME
318 # Set up target binary format
320 prompt "Target Binary Format"
321 default BR2_BINFMT_ELF if BR2_USE_MMU
322 default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
323 default BR2_BINFMT_FLAT
325 config BR2_BINFMT_ELF
327 depends on BR2_USE_MMU
328 select BR2_BINFMT_SUPPORTS_SHARED
330 ELF (Executable and Linkable Format) is a format for libraries and
331 executables used across different architectures and operating
334 config BR2_BINFMT_FDPIC
336 depends on BR2_ARCH_HAS_FDPIC_SUPPORT
337 select BR2_BINFMT_SUPPORTS_SHARED
339 ELF FDPIC binaries are based on ELF, but allow the individual load
340 segments of a binary to be located in memory independently of each
341 other. This makes this format ideal for use in environments where no
344 config BR2_BINFMT_FLAT
346 depends on !BR2_USE_MMU
348 FLAT binary is a relatively simple and lightweight executable format
349 based on the original a.out format. It is widely used in environment
350 where no MMU is available.
354 # Set up flat binary type
356 prompt "FLAT Binary type"
357 depends on BR2_BINFMT_FLAT
358 default BR2_BINFMT_FLAT_ONE
360 config BR2_BINFMT_FLAT_ONE
361 bool "One memory region"
363 All segments are linked into one memory region.
365 config BR2_BINFMT_FLAT_SEP_DATA
366 bool "Separate data and code region"
367 # this FLAT binary type technically exists on m68k, but fails
368 # to build numerous packages: due to architecture limitation,
369 # big functions cannot be built in this mode. They cause build
370 # failures such as "Tried to convert PC relative branch to
371 # absolute jump" or "error: value -yyyyy out of range".
374 Allow for the data and text segments to be separated and placed in
375 different regions of memory.
377 config BR2_BINFMT_FLAT_SHARED
379 depends on BR2_m68k || BR2_bfin
380 # Even though this really generates shared binaries, there is no libdl
381 # and dlopen() cannot be used. So packages that require shared
382 # libraries cannot be built. Therefore, we don't select
383 # BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
384 # Although this adds -static to the compilation, that's not a problem
385 # because the -mid-shared-library option overrides it.
387 Allow to load and link indiviual FLAT binaries at run time.
391 if BR2_arcle || BR2_arceb
392 source "arch/Config.in.arc"
395 if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
396 source "arch/Config.in.arm"
400 source "arch/Config.in.bfin"
404 source "arch/Config.in.csky"
408 source "arch/Config.in.m68k"
411 if BR2_microblazeel || BR2_microblazebe
412 source "arch/Config.in.microblaze"
415 if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
416 source "arch/Config.in.mips"
420 source "arch/Config.in.nios2"
424 source "arch/Config.in.or1k"
427 if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
428 source "arch/Config.in.powerpc"
432 source "arch/Config.in.sh"
435 if BR2_sparc || BR2_sparc64
436 source "arch/Config.in.sparc"
439 if BR2_i386 || BR2_x86_64
440 source "arch/Config.in.x86"
444 source "arch/Config.in.xtensa"
447 endmenu # Target options