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 Variant"
|
|
|
|
depends on BR2_arm || BR2_armeb
|
|
|
|
default BR2_generic_arm
|
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
|
|
|
|
config BR2_generic_arm
|
|
|
|
bool "generic_arm"
|
|
|
|
config BR2_arm7tdmi
|
|
|
|
bool "arm7tdmi"
|
|
|
|
config BR2_arm610
|
|
|
|
bool "arm610"
|
|
|
|
config BR2_arm710
|
|
|
|
bool "arm710"
|
|
|
|
config BR2_arm720t
|
|
|
|
bool "arm720t"
|
|
|
|
config BR2_arm920t
|
|
|
|
bool "arm920t"
|
|
|
|
config BR2_arm922t
|
|
|
|
bool "arm922t"
|
|
|
|
config BR2_arm926t
|
|
|
|
bool "arm926t"
|
|
|
|
config BR2_arm10t
|
|
|
|
bool "arm10t"
|
|
|
|
config BR2_arm1136jf_s
|
|
|
|
bool "arm1136jf_s"
|
|
|
|
config BR2_arm1176jz_s
|
|
|
|
bool "arm1176jz-s"
|
|
|
|
config BR2_arm1176jzf_s
|
|
|
|
bool "arm1176jzf-s"
|
|
|
|
config BR2_cortex_a8
|
|
|
|
bool "cortex-A8"
|
|
|
|
config BR2_cortex_a9
|
|
|
|
bool "cortex-A9"
|
|
|
|
config BR2_sa110
|
|
|
|
bool "sa110"
|
|
|
|
config BR2_sa1100
|
|
|
|
bool "sa1100"
|
|
|
|
config BR2_xscale
|
|
|
|
bool "xscale"
|
|
|
|
config BR2_iwmmxt
|
|
|
|
bool "iwmmxt"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Target ABI"
|
|
|
|
depends on BR2_arm || BR2_armeb
|
|
|
|
default BR2_ARM_EABI
|
|
|
|
help
|
|
|
|
Application Binary Interface to use
|
|
|
|
|
|
|
|
Note:
|
|
|
|
Using OABI is discouraged.
|
|
|
|
|
|
|
|
config BR2_ARM_EABI
|
|
|
|
bool "EABI"
|
|
|
|
config BR2_ARM_OABI
|
|
|
|
bool "OABI"
|
|
|
|
depends on !BR2_GCC_VERSION_4_7_X
|
|
|
|
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
|
|
|
config BR2_ARCH
|
|
|
|
default "arm" if BR2_arm
|
|
|
|
default "armeb" if BR2_armeb
|
|
|
|
|
|
|
|
config BR2_ENDIAN
|
|
|
|
default "LITTLE" if BR2_arm
|
|
|
|
default "BIG" if BR2_armeb
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_TUNE
|
2012-11-15 04:53:53 +01:00
|
|
|
default "arm600" if BR2_arm600
|
|
|
|
default "arm610" if BR2_arm610
|
|
|
|
default "arm620" if BR2_arm620
|
|
|
|
default "arm7tdmi" if BR2_arm7tdmi
|
|
|
|
default "arm7tdmi" if BR2_arm720t
|
|
|
|
default "arm7tdmi" if BR2_arm740t
|
|
|
|
default "arm920" if BR2_arm920
|
|
|
|
default "arm920t" if BR2_arm920t
|
|
|
|
default "arm922t" if BR2_arm922t
|
|
|
|
default "arm926ej-s" if BR2_arm926t
|
|
|
|
default "arm1136j-s" if BR2_arm1136j_s
|
|
|
|
default "arm1136jf-s" if BR2_arm1136jf_s
|
|
|
|
default "arm1176jz-s" if BR2_arm1176jz_s
|
|
|
|
default "arm1176jzf-s" if BR2_arm1176jzf_s
|
|
|
|
default "cortex-a8" if BR2_cortex_a8
|
|
|
|
default "cortex-a9" if BR2_cortex_a9
|
|
|
|
default "strongarm110" if BR2_sa110
|
|
|
|
default "strongarm1100" if BR2_sa1100
|
|
|
|
default "xscale" if BR2_xscale
|
|
|
|
default "iwmmxt" if BR2_iwmmxt
|
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_GCC_TARGET_ARCH
|
2012-11-15 04:53:53 +01:00
|
|
|
default "armv4t" if BR2_arm7tdmi
|
|
|
|
default "armv3" if BR2_arm610
|
|
|
|
default "armv3" if BR2_arm710
|
|
|
|
default "armv4t" if BR2_arm720t
|
|
|
|
default "armv4t" if BR2_arm920t
|
|
|
|
default "armv4t" if BR2_arm922t
|
|
|
|
default "armv5te" if BR2_arm926t
|
|
|
|
default "armv5t" if BR2_arm10t
|
|
|
|
default "armv6j" if BR2_arm1136jf_s
|
|
|
|
default "armv6zk" if BR2_arm1176jz_s
|
|
|
|
default "armv6zk" if BR2_arm1176jzf_s
|
|
|
|
default "armv7-a" if BR2_cortex_a8
|
|
|
|
default "armv7-a" if BR2_cortex_a9
|
|
|
|
default "armv4" if BR2_sa110
|
|
|
|
default "armv4" if BR2_sa1100
|
|
|
|
default "armv5te" if BR2_xscale
|
|
|
|
default "iwmmxt" if BR2_iwmmxt
|
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_GCC_TARGET_ABI
|
2012-11-15 04:53:53 +01:00
|
|
|
default "apcs-gnu" if BR2_ARM_OABI
|
|
|
|
default "aapcs-linux" if BR2_ARM_EABI
|