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_MMU_MANDATORY
92 csky is processor IP from china.
94 http://www.github.com/c-sky
98 select BR2_ARCH_HAS_MMU_MANDATORY
100 Intel i386 architecture compatible microprocessor
101 http://en.wikipedia.org/wiki/I386
105 # MMU support is set by the subarchitecture file, arch/Config.in.m68k
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
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
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
129 bool "MIPS (big endian)"
130 select BR2_ARCH_HAS_MMU_MANDATORY
132 MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
134 http://en.wikipedia.org/wiki/MIPS_Technologies
137 bool "MIPS (little endian)"
138 select BR2_ARCH_HAS_MMU_MANDATORY
140 MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
142 http://en.wikipedia.org/wiki/MIPS_Technologies
145 bool "MIPS64 (big endian)"
146 select BR2_ARCH_IS_64
147 select BR2_ARCH_HAS_MMU_MANDATORY
149 MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
151 http://en.wikipedia.org/wiki/MIPS_Technologies
154 bool "MIPS64 (little endian)"
155 select BR2_ARCH_IS_64
156 select BR2_ARCH_HAS_MMU_MANDATORY
158 MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
160 http://en.wikipedia.org/wiki/MIPS_Technologies
164 select BR2_ARCH_HAS_MMU_MANDATORY
166 Nios II is a soft core processor from Altera Corporation.
167 http://www.altera.com/
168 http://en.wikipedia.org/wiki/Nios_II
172 select BR2_ARCH_HAS_MMU_MANDATORY
174 OpenRISC is a free and open processor for embedded system.
179 select BR2_ARCH_HAS_MMU_MANDATORY
181 PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
183 http://www.power.org/
184 http://en.wikipedia.org/wiki/Powerpc
187 bool "PowerPC64 (big endian)"
188 select BR2_ARCH_IS_64
189 select BR2_ARCH_HAS_MMU_MANDATORY
191 PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
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
201 PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
203 http://www.power.org/
204 http://en.wikipedia.org/wiki/Powerpc
208 select BR2_ARCH_HAS_MMU_OPTIONAL
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
217 select BR2_ARCH_HAS_MMU_MANDATORY
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
226 select BR2_ARCH_IS_64
227 select BR2_ARCH_HAS_MMU_MANDATORY
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
236 select BR2_ARCH_IS_64
237 select BR2_ARCH_HAS_MMU_MANDATORY
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
245 # MMU support is set by the subarchitecture file, arch/Config.in.xtensa
247 Xtensa is a Tensilica processor IP architecture.
248 http://en.wikipedia.org/wiki/Xtensa
249 http://www.tensilica.com/
253 # The following string values are defined by the individual
254 # Config.in.$ARCH files
261 config BR2_GCC_TARGET_ARCH
264 config BR2_GCC_TARGET_ABI
267 config BR2_GCC_TARGET_CPU
270 config BR2_GCC_TARGET_CPU_REVISION
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
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
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
291 # Must be selected by binary formats that support shared libraries.
292 config BR2_BINFMT_SUPPORTS_SHARED
295 # Set up target binary format
297 prompt "Target Binary Format"
298 default BR2_BINFMT_ELF if BR2_USE_MMU
299 default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
300 default BR2_BINFMT_FLAT
302 config BR2_BINFMT_ELF
304 depends on BR2_USE_MMU
305 select BR2_BINFMT_SUPPORTS_SHARED
307 ELF (Executable and Linkable Format) is a format for libraries and
308 executables used across different architectures and operating
311 config BR2_BINFMT_FDPIC
313 depends on BR2_ARCH_HAS_FDPIC_SUPPORT
314 select BR2_BINFMT_SUPPORTS_SHARED
316 ELF FDPIC binaries are based on ELF, but allow the individual load
317 segments of a binary to be located in memory independently of each
318 other. This makes this format ideal for use in environments where no
321 config BR2_BINFMT_FLAT
323 depends on !BR2_USE_MMU
325 FLAT binary is a relatively simple and lightweight executable format
326 based on the original a.out format. It is widely used in environment
327 where no MMU is available.
331 # Set up flat binary type
333 prompt "FLAT Binary type"
334 depends on BR2_BINFMT_FLAT
335 default BR2_BINFMT_FLAT_ONE
337 config BR2_BINFMT_FLAT_ONE
338 bool "One memory region"
340 All segments are linked into one memory region.
342 config BR2_BINFMT_FLAT_SEP_DATA
343 bool "Separate data and code region"
344 # this FLAT binary type technically exists on m68k, but fails
345 # to build numerous packages: due to architecture limitation,
346 # big functions cannot be built in this mode. They cause build
347 # failures such as "Tried to convert PC relative branch to
348 # absolute jump" or "error: value -yyyyy out of range".
351 Allow for the data and text segments to be separated and placed in
352 different regions of memory.
354 config BR2_BINFMT_FLAT_SHARED
356 depends on BR2_m68k || BR2_bfin
357 # Even though this really generates shared binaries, there is no libdl
358 # and dlopen() cannot be used. So packages that require shared
359 # libraries cannot be built. Therefore, we don't select
360 # BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
361 # Although this adds -static to the compilation, that's not a problem
362 # because the -mid-shared-library option overrides it.
364 Allow to load and link indiviual FLAT binaries at run time.
368 if BR2_arcle || BR2_arceb
369 source "arch/Config.in.arc"
372 if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
373 source "arch/Config.in.arm"
377 source "arch/Config.in.bfin"
381 source "arch/Config.in.csky"
385 source "arch/Config.in.m68k"
388 if BR2_microblazeel || BR2_microblazebe
389 source "arch/Config.in.microblaze"
392 if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
393 source "arch/Config.in.mips"
397 source "arch/Config.in.nios2"
401 source "arch/Config.in.or1k"
404 if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
405 source "arch/Config.in.powerpc"
409 source "arch/Config.in.sh"
412 if BR2_sparc || BR2_sparc64
413 source "arch/Config.in.sparc"
416 if BR2_i386 || BR2_x86_64
417 source "arch/Config.in.x86"
421 source "arch/Config.in.xtensa"
424 endmenu # Target options