diff options
Diffstat (limited to 'arch/Config.in.arm')
-rw-r--r-- | arch/Config.in.arm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 2b493c0933..94c32c9672 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -31,6 +31,9 @@ config BR2_ARM_CPU_HAS_VFPV4 bool select BR2_ARM_CPU_HAS_VFPV3 +config BR2_ARM_CPU_HAS_THUMB2 + bool + choice prompt "Target Architecture Variant" depends on BR2_arm || BR2_armeb @@ -65,22 +68,27 @@ config BR2_cortex_a5 bool "cortex-A5" select BR2_ARM_CPU_MAYBE_HAS_NEON select BR2_ARM_CPU_MAYBE_HAS_VFPV4 + select BR2_ARM_CPU_HAS_THUMB2 config BR2_cortex_a7 bool "cortex-A7" select BR2_ARM_CPU_HAS_NEON select BR2_ARM_CPU_HAS_VFPV4 + select BR2_ARM_CPU_HAS_THUMB2 config BR2_cortex_a8 bool "cortex-A8" select BR2_ARM_CPU_HAS_NEON select BR2_ARM_CPU_HAS_VFPV3 + select BR2_ARM_CPU_HAS_THUMB2 config BR2_cortex_a9 bool "cortex-A9" select BR2_ARM_CPU_MAYBE_HAS_NEON select BR2_ARM_CPU_MAYBE_HAS_VFPV3 + select BR2_ARM_CPU_HAS_THUMB2 config BR2_cortex_a15 bool "cortex-A15" select BR2_ARM_CPU_HAS_NEON select BR2_ARM_CPU_HAS_VFPV4 + select BR2_ARM_CPU_HAS_THUMB2 config BR2_fa526 bool "fa526/626" config BR2_pj4 @@ -275,6 +283,30 @@ config BR2_ARM_FPU_NEON_VFPV4 endchoice +choice + prompt "ARM instruction set" + depends on BR2_ARM_CPU_HAS_THUMB2 + +config BR2_ARM_INSTRUCTIONS_ARM_CHOICE + bool "ARM" + help + This option instructs the compiler to generate regular ARM + instructions, that are all 32 bits wide. + +config BR2_ARM_INSTRUCTIONS_THUMB2 + bool "Thumb2" + help + This option instructions the compiler to generate Thumb2 + instructions, which allows to mix 16 bits instructions and + 32 bits instructions. This generally provides a much smaller + compiled binary size. + +endchoice + +config BR2_ARM_INSTRUCTIONS_ARM + def_bool y + depends on !BR2_ARM_INSTRUCTIONS_THUMB2 + config BR2_ARCH default "arm" if BR2_arm default "armeb" if BR2_armeb @@ -344,3 +376,7 @@ config BR2_GCC_TARGET_FLOAT_ABI default "soft" if BR2_ARM_SOFT_FLOAT default "softfp" if !BR2_ARM_SOFT_FLOAT && BR2_ARM_EABI default "hard" if !BR2_ARM_SOFT_FLOAT && BR2_ARM_EABIHF + +config BR2_GCC_TARGET_MODE + default "arm" if BR2_ARM_INSTRUCTIONS_ARM + default "thumb" if BR2_ARM_INSTRUCTIONS_THUMB2 |