2013-09-04 23:35:55 +02:00
|
|
|
menu "Target options"
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_ARCH_IS_64
|
2013-07-16 10:03:25 +02:00
|
|
|
bool
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
|
2013-10-25 15:10:22 +02:00
|
|
|
config BR2_KERNEL_64_USERLAND_32
|
|
|
|
bool
|
|
|
|
|
2013-07-16 10:03:13 +02:00
|
|
|
config BR2_SOFT_FLOAT
|
|
|
|
bool
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture"
|
|
|
|
default BR2_i386
|
|
|
|
help
|
|
|
|
Select the target architecture family to build for.
|
|
|
|
|
2013-05-02 11:51:23 +02:00
|
|
|
config BR2_arcle
|
|
|
|
bool "ARC (little endian)"
|
|
|
|
help
|
|
|
|
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
|
|
|
that can be used from deeply embedded to high performance host
|
|
|
|
applications. Little endian.
|
|
|
|
|
|
|
|
config BR2_arceb
|
|
|
|
bool "ARC (big endian)"
|
|
|
|
help
|
|
|
|
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
|
|
|
that can be used from deeply embedded to high performance host
|
|
|
|
applications. Big endian.
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_arm
|
|
|
|
bool "ARM (little endian)"
|
|
|
|
help
|
|
|
|
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
|
|
|
set architecture (ISA) developed by ARM Holdings. Little endian.
|
|
|
|
http://www.arm.com/
|
|
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
|
|
|
|
config BR2_armeb
|
|
|
|
bool "ARM (big endian)"
|
|
|
|
help
|
|
|
|
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
|
|
|
set architecture (ISA) developed by ARM Holdings. Big endian.
|
|
|
|
http://www.arm.com/
|
|
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
|
|
|
|
config BR2_aarch64
|
|
|
|
bool "AArch64"
|
2013-03-18 06:18:09 +01:00
|
|
|
select BR2_ARCH_IS_64
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
help
|
|
|
|
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
|
|
|
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
|
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
|
|
|
|
config BR2_avr32
|
|
|
|
bool "AVR32"
|
|
|
|
select BR2_SOFT_FLOAT
|
arch: deprecate the AVR32 architecture
The AVR32 architecture from Atmel is obsolete since a long time, not
supported upstream in most of the toolchain components (requires a
special version of gcc, an old version of uClibc, etc.). Until
February, Simon Dawson was making an excellent job at maintaining
AVR32 in Buildroot, and fixing all the issues caused by this
architecture. However, Simon focus has changed, and despite his call
for a new maintainer for AVR32 in Buildroot, nobody stepped up.
The issue of maintaining AVR32 is becoming worse and worse, so this
patch proposes to deprecate it for 2014.08, but keeping the support
around, to remove it for sure in 2014.11.
Cc: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-01 20:03:00 +02:00
|
|
|
# This architecture is obsolete and complicated to maintain to
|
|
|
|
# do the lack of upstream support in the major toolchain
|
|
|
|
# components. If you're interested by AVR32, contact the
|
|
|
|
# Buildroot community. Otherwise, its support will be removed
|
2014-07-10 22:05:55 +02:00
|
|
|
# by the 2015.02 release.
|
arch: deprecate the AVR32 architecture
The AVR32 architecture from Atmel is obsolete since a long time, not
supported upstream in most of the toolchain components (requires a
special version of gcc, an old version of uClibc, etc.). Until
February, Simon Dawson was making an excellent job at maintaining
AVR32 in Buildroot, and fixing all the issues caused by this
architecture. However, Simon focus has changed, and despite his call
for a new maintainer for AVR32 in Buildroot, nobody stepped up.
The issue of maintaining AVR32 is becoming worse and worse, so this
patch proposes to deprecate it for 2014.08, but keeping the support
around, to remove it for sure in 2014.11.
Cc: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-01 20:03:00 +02:00
|
|
|
depends on BR2_DEPRECATED_SINCE_2014_08
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
help
|
|
|
|
The AVR32 is a 32-bit RISC microprocessor architecture designed by
|
|
|
|
Atmel.
|
|
|
|
http://www.atmel.com/
|
|
|
|
http://en.wikipedia.org/wiki/Avr32
|
|
|
|
|
|
|
|
config BR2_bfin
|
|
|
|
bool "Blackfin"
|
|
|
|
help
|
|
|
|
The Blackfin is a family of 16 or 32-bit microprocessors developed,
|
|
|
|
manufactured and marketed by Analog Devices.
|
|
|
|
http://www.analog.com/
|
|
|
|
http://en.wikipedia.org/wiki/Blackfin
|
|
|
|
|
|
|
|
config BR2_i386
|
|
|
|
bool "i386"
|
|
|
|
help
|
|
|
|
Intel i386 architecture compatible microprocessor
|
|
|
|
http://en.wikipedia.org/wiki/I386
|
|
|
|
|
|
|
|
config BR2_m68k
|
|
|
|
bool "m68k"
|
|
|
|
depends on BROKEN # ice in uclibc / inet_ntoa_r
|
|
|
|
help
|
|
|
|
Motorola 68000 family microprocessor
|
|
|
|
http://en.wikipedia.org/wiki/M68k
|
|
|
|
|
|
|
|
config BR2_microblazeel
|
|
|
|
bool "Microblaze AXI (little endian)"
|
|
|
|
help
|
|
|
|
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
|
|
|
|
based architecture (little endian)
|
|
|
|
http://www.xilinx.com
|
|
|
|
http://en.wikipedia.org/wiki/Microblaze
|
|
|
|
|
|
|
|
config BR2_microblazebe
|
|
|
|
bool "Microblaze non-AXI (big endian)"
|
|
|
|
help
|
|
|
|
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
|
|
|
|
based architecture (non-AXI, big endian)
|
|
|
|
http://www.xilinx.com
|
|
|
|
http://en.wikipedia.org/wiki/Microblaze
|
|
|
|
|
|
|
|
config BR2_mips
|
|
|
|
bool "MIPS (big endian)"
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
|
|
|
config BR2_mipsel
|
|
|
|
bool "MIPS (little endian)"
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
|
|
|
config BR2_mips64
|
|
|
|
bool "MIPS64 (big endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
|
|
|
config BR2_mips64el
|
|
|
|
bool "MIPS64 (little endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
2013-08-30 00:10:40 +02:00
|
|
|
config BR2_nios2
|
|
|
|
bool "Nios II"
|
|
|
|
help
|
|
|
|
Nios II is a soft core processor from Altera Corporation.
|
|
|
|
http://www.altera.com/
|
|
|
|
http://en.wikipedia.org/wiki/Nios_II
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_powerpc
|
|
|
|
bool "PowerPC"
|
|
|
|
help
|
|
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
2014-05-13 07:28:21 +02:00
|
|
|
Big endian.
|
|
|
|
http://www.power.org/
|
|
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
|
|
|
|
config BR2_powerpc64
|
|
|
|
bool "PowerPC64 (big endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
|
|
|
Big endian.
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
http://www.power.org/
|
|
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
|
2014-05-25 08:59:22 +02:00
|
|
|
config BR2_powerpc64le
|
|
|
|
bool "PowerPC64 (little endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
2014-05-13 07:28:21 +02:00
|
|
|
Little endian.
|
2014-05-25 08:59:22 +02:00
|
|
|
http://www.power.org/
|
|
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_sh
|
|
|
|
bool "SuperH"
|
|
|
|
help
|
|
|
|
SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
|
|
|
|
instruction set architecture (ISA) developed by Hitachi.
|
|
|
|
http://www.hitachi.com/
|
|
|
|
http://en.wikipedia.org/wiki/SuperH
|
|
|
|
|
|
|
|
config BR2_sh64
|
|
|
|
bool "SuperH64"
|
|
|
|
help
|
|
|
|
SuperH64 (or SH) is a 64-bit reduced instruction set computer (RISC)
|
|
|
|
instruction set architecture (ISA) developed by Hitachi.
|
|
|
|
http://www.hitachi.com/
|
|
|
|
http://en.wikipedia.org/wiki/SuperH
|
|
|
|
|
|
|
|
config BR2_sparc
|
|
|
|
bool "SPARC"
|
|
|
|
help
|
|
|
|
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
|
|
|
set architecture (ISA) developed by Sun Microsystems.
|
|
|
|
http://www.oracle.com/sun
|
|
|
|
http://en.wikipedia.org/wiki/Sparc
|
|
|
|
|
|
|
|
config BR2_x86_64
|
|
|
|
bool "x86_64"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
x86-64 is an extension of the x86 instruction set (Intel i386
|
|
|
|
architecture compatible microprocessor).
|
|
|
|
http://en.wikipedia.org/wiki/X86_64
|
|
|
|
|
2012-11-15 04:53:51 +01:00
|
|
|
config BR2_xtensa
|
|
|
|
bool "Xtensa"
|
|
|
|
help
|
|
|
|
Xtensa is a Tensilica processor IP architecture.
|
|
|
|
http://en.wikipedia.org/wiki/Xtensa
|
|
|
|
http://www.tensilica.com/
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
endchoice
|
|
|
|
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
# The following string values are defined by the individual
|
|
|
|
# Config.in.$ARCH files
|
|
|
|
config BR2_ARCH
|
|
|
|
string
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
config BR2_ENDIAN
|
|
|
|
string
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_ARCH
|
|
|
|
string
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_ABI
|
|
|
|
string
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_CPU
|
|
|
|
string
|
|
|
|
|
2013-05-03 02:39:36 +02:00
|
|
|
config BR2_GCC_TARGET_CPU_REVISION
|
|
|
|
string
|
|
|
|
|
arch: introduce BR2_GCC_TARGET_{FPU, FLOAT_ABI}
Buildroot already has the BR2_GCC_TARGET_{TUNE,ARCH,ABI,CPU} hidden
kconfig strings that allow per-architecture Config.in files to feed
the appropriate values of --with-{tune,arch,abi-cpu} when building
gcc, or the appropriate flags for the external toolchain wrapper.
This commit has two additional options:
BR2_GCC_TARGET_{FPU,FLOAT_ABI}, that allows to define the
--with-{fpu,float} gcc configure options for the internal backend, or
the -m{fpu,float-abi} options for the flags of the external toolchain
wrapper.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 10:03:12 +02:00
|
|
|
# The value of this option will be passed as --with-fpu=<value> when
|
|
|
|
# building gcc (internal backend) or -mfpu=<value> in the toolchain
|
|
|
|
# wrapper (external toolchain)
|
|
|
|
config BR2_GCC_TARGET_FPU
|
|
|
|
string
|
|
|
|
|
|
|
|
# The value of this option will be passed as --with-float=<value> when
|
|
|
|
# building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
|
|
|
|
# wrapper (external toolchain)
|
|
|
|
config BR2_GCC_TARGET_FLOAT_ABI
|
|
|
|
string
|
|
|
|
|
2013-07-16 10:03:22 +02:00
|
|
|
# The value of this option will be passed as --with-mode=<value> when
|
|
|
|
# building gcc (internal backend) or -m<value> in the toolchain
|
|
|
|
# wrapper (external toolchain)
|
|
|
|
config BR2_GCC_TARGET_MODE
|
|
|
|
string
|
|
|
|
|
2014-08-17 21:29:40 +02:00
|
|
|
# If the architecture has atomic operations, select this:
|
|
|
|
config BR2_ARCH_HAS_ATOMICS
|
|
|
|
bool
|
|
|
|
|
2014-12-03 22:41:32 +01:00
|
|
|
# Must be selected by binary formats that support shared libraries.
|
|
|
|
config BR2_BINFMT_SUPPORTS_SHARED
|
|
|
|
bool
|
|
|
|
|
2013-05-03 02:39:34 +02:00
|
|
|
# Set up target binary format
|
|
|
|
choice
|
|
|
|
prompt "Target Binary Format"
|
2014-12-03 22:41:31 +01:00
|
|
|
default BR2_BINFMT_ELF if !(BR2_bfin || BR2_m68k)
|
2014-12-03 22:41:30 +01:00
|
|
|
default BR2_BINFMT_FDPIC if BR2_bfin
|
|
|
|
default BR2_BINFMT_FLAT if BR2_m68k
|
2013-05-03 02:39:34 +02:00
|
|
|
|
|
|
|
config BR2_BINFMT_ELF
|
|
|
|
bool "ELF"
|
|
|
|
depends on !BR2_bfin && !BR2_m68k
|
2014-12-03 22:41:32 +01:00
|
|
|
select BR2_BINFMT_SUPPORTS_SHARED
|
2013-05-03 02:39:34 +02:00
|
|
|
help
|
|
|
|
ELF (Executable and Linkable Format) is a format for libraries and
|
|
|
|
executables used across different architectures and operating
|
|
|
|
systems.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FDPIC
|
|
|
|
bool "FDPIC"
|
2014-12-03 22:41:30 +01:00
|
|
|
depends on BR2_bfin
|
2014-12-03 22:41:32 +01:00
|
|
|
select BR2_BINFMT_SUPPORTS_SHARED
|
2013-05-03 02:39:34 +02:00
|
|
|
help
|
|
|
|
ELF FDPIC binaries are based on ELF, but allow the individual load
|
|
|
|
segments of a binary to be located in memory independently of each
|
|
|
|
other. This makes this format ideal for use in environments where no
|
|
|
|
MMU is available.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT
|
|
|
|
bool "FLAT"
|
|
|
|
depends on BR2_bfin || BR2_m68k
|
|
|
|
help
|
|
|
|
FLAT binary is a relatively simple and lightweight executable format
|
|
|
|
based on the original a.out format. It is widely used in environment
|
|
|
|
where no MMU is available.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2013-05-03 12:39:37 +02:00
|
|
|
# Set up flat binary type
|
|
|
|
choice
|
|
|
|
prompt "FLAT Binary type"
|
|
|
|
depends on BR2_BINFMT_FLAT
|
|
|
|
default BR2_BINFMT_FLAT_ONE
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT_ONE
|
|
|
|
bool "One memory region"
|
|
|
|
help
|
|
|
|
All segments are linked into one memory region.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT_SEP_DATA
|
|
|
|
bool "Separate data and code region"
|
|
|
|
help
|
|
|
|
Allow for the data and text segments to be separated and placed in
|
|
|
|
different regions of memory.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT_SHARED
|
|
|
|
bool "Shared binary"
|
2014-12-03 22:41:32 +01:00
|
|
|
select BR2_BINFMT_SUPPORTS_SHARED
|
2013-05-03 12:39:37 +02:00
|
|
|
help
|
|
|
|
Allow to load and link indiviual FLAT binaries at run time.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2013-05-02 11:51:23 +02:00
|
|
|
if BR2_arcle || BR2_arceb
|
|
|
|
source "arch/Config.in.arc"
|
|
|
|
endif
|
|
|
|
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
if BR2_arm || BR2_armeb
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.arm"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_aarch64
|
|
|
|
source "arch/Config.in.aarch64"
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_avr32
|
|
|
|
source "arch/Config.in.avr32"
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_bfin
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.bfin"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_m68k
|
|
|
|
source "arch/Config.in.m68k"
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_microblazeel || BR2_microblazebe
|
|
|
|
source "arch/Config.in.microblaze"
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.mips"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
2013-08-30 00:10:40 +02:00
|
|
|
if BR2_nios2
|
|
|
|
source "arch/Config.in.nios2"
|
|
|
|
endif
|
|
|
|
|
2014-05-13 07:28:21 +02:00
|
|
|
if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.powerpc"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_sh || BR2_sh64
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.sh"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_sparc
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.sparc"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_i386 || BR2_x86_64
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.x86"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
2012-11-15 04:53:51 +01:00
|
|
|
|
|
|
|
if BR2_xtensa
|
|
|
|
source "arch/Config.in.xtensa"
|
|
|
|
endif
|
2013-09-04 23:35:55 +02:00
|
|
|
|
|
|
|
endmenu # Target options
|