buildrootschalter/arch/Config.in.arm
Thomas Petazzoni 9b3e72b4fd arch: Refactor BR2_SOFT_FLOAT into per-architecture options
As we are going to introduced a more advanced support of floating
point options for the ARM architecture, we need to adjust how the
soft-float option is handled. We replace the current hidden option
BR2_PREFER_SOFT_FLOAT option and the visible BR2_SOFT_FLOAT option by:

 * A global hidden BR2_SOFT_FLOAT option, defined in arch/Config.in,
   that tells whether the architecture-specific code is using software
   emulated floating point. This hidden option can be used throughout
   Buildroot to determine whether soft float is used or not.

 * Per-architecture visible BR2_<arch>_SOFT_FLOAT options, for the
   architecture for which it makes sense, which allows users to select
   soft float emulation when needed.

This change will allow each architecture to have a different way of
presenting its floating point capabilities.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 14:35:07 +02:00

156 lines
3.8 KiB
Plaintext

# arm cpu features
config BR2_ARM_CPU_HAS_NEON
bool
# for some cores, NEON support is optional
config BR2_ARM_CPU_MAYBE_HAS_NEON
bool
choice
prompt "Target Architecture Variant"
depends on BR2_arm || BR2_armeb
default BR2_arm926t
help
Specific CPU variant to use
config BR2_arm7tdmi
bool "arm7tdmi"
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_r0
bool "arm1136jf_s rev0"
config BR2_arm1136jf_s_r1
bool "arm1136jf_s rev1"
config BR2_arm1176jz_s
bool "arm1176jz-s"
config BR2_arm1176jzf_s
bool "arm1176jzf-s"
config BR2_cortex_a5
bool "cortex-A5"
select BR2_ARM_CPU_MAYBE_HAS_NEON
config BR2_cortex_a7
bool "cortex-A7"
select BR2_ARM_CPU_HAS_NEON
config BR2_cortex_a8
bool "cortex-A8"
select BR2_ARM_CPU_HAS_NEON
config BR2_cortex_a9
bool "cortex-A9"
select BR2_ARM_CPU_MAYBE_HAS_NEON
config BR2_cortex_a15
bool "cortex-A15"
select BR2_ARM_CPU_HAS_NEON
config BR2_fa526
bool "fa526/626"
config BR2_pj4
bool "pj4"
config BR2_strongarm
bool "strongarm sa110/sa1100"
config BR2_xscale
bool "xscale"
config BR2_iwmmxt
bool "iwmmxt"
endchoice
config BR2_arm1136jf_s
bool
default BR2_arm1136jf_s_r0 || BR2_arm1136jf_s_r1
choice
prompt "Target ABI"
depends on BR2_arm || BR2_armeb
depends on BR2_DEPRECATED
default BR2_ARM_EABI
help
Application Binary Interface to use
config BR2_ARM_EABI_CHOICE
bool "EABI"
endchoice
config BR2_ARM_EABI
def_bool y
config BR2_ARM_SOFT_FLOAT
bool "Use soft-float"
default y
select BR2_SOFT_FLOAT
help
If your target CPU does not have a Floating Point Unit (FPU)
or a kernel FPU emulator, but you still wish to support
floating point functions, then everything will need to be
compiled with soft floating point support (-msoft-float).
config BR2_ARM_ENABLE_NEON
bool "Enable NEON SIMD extension support"
depends on BR2_ARM_CPU_MAYBE_HAS_NEON
select BR2_ARM_CPU_HAS_NEON
help
For some CPU cores, the NEON SIMD extension is optional.
Select this option if you are certain your particular
implementation has NEON support and you want to use it.
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
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-a5" if BR2_cortex_a5
default "cortex-a7" if BR2_cortex_a7
default "cortex-a8" if BR2_cortex_a8
default "cortex-a9" if BR2_cortex_a9
default "cortex-a15" if BR2_cortex_a15
default "fa526" if BR2_fa526
default "marvell-pj4" if BR2_pj4
default "strongarm" if BR2_strongarm
default "xscale" if BR2_xscale
default "iwmmxt" if BR2_iwmmxt
config BR2_GCC_TARGET_ARCH
default "armv4t" if BR2_arm7tdmi
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_r0
default "armv6k" if BR2_arm1136jf_s_r1
default "armv6zk" if BR2_arm1176jz_s
default "armv6zk" if BR2_arm1176jzf_s
default "armv7-a" if BR2_cortex_a5
default "armv7-a" if BR2_cortex_a7
default "armv7-a" if BR2_cortex_a8
default "armv7-a" if BR2_cortex_a9
default "armv7-a" if BR2_cortex_a15
default "armv4" if BR2_fa526
default "armv7-a" if BR2_pj4
default "armv4" if BR2_strongarm
default "armv5te" if BR2_xscale
default "iwmmxt" if BR2_iwmmxt
config BR2_GCC_TARGET_ABI
default "aapcs-linux"