diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2015-02-22 02:39:38 -0600 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-02-22 02:39:38 -0600 |
commit | 476a87c63fe284faf4ea0a76f7b540845c5f6a52 (patch) | |
tree | 729a9ca60bb305018305e5ddffe407277264680e /target/config | |
parent | 64fe21734343ee2395ddb6586195d3db374f91ea (diff) |
rework FPU/FLOAT support
NEON is only an extension not the FPU hardware.
So handle this in a better way.
Remove the lower case symbols.
Diffstat (limited to 'target/config')
-rw-r--r-- | target/config/Config.in.arm.choice | 18 | ||||
-rw-r--r-- | target/config/Config.in.cpu | 13 | ||||
-rw-r--r-- | target/config/Config.in.float.choice | 2 | ||||
-rw-r--r-- | target/config/Config.in.float.default | 11 | ||||
-rw-r--r-- | target/config/Config.in.fpu.default | 21 | ||||
-rw-r--r-- | target/config/Config.in.target | 21 |
6 files changed, 39 insertions, 47 deletions
diff --git a/target/config/Config.in.arm.choice b/target/config/Config.in.arm.choice index 0de8794db..3de588cc6 100644 --- a/target/config/Config.in.arm.choice +++ b/target/config/Config.in.arm.choice @@ -6,11 +6,21 @@ prompt "CPU architecture and family" depends on ADK_TARGET_TOOLCHAIN && ADK_TARGET_ARCH_ARM config ADK_CPU_ARMV7A_CORTEX_A9 - bool "cortex-a9 (armv7-a)" + bool "cortex-a9" select ADK_CPU_CORTEX_A9 +config ADK_CPU_ARMV7A_CORTEX_A7 + bool "cortex-a7" + select ADK_CPU_CORTEX_A7 + +config ADK_CPU_ARMV7M_CORTEX_M4 + bool "cortex-m4" + select ADK_CPU_CORTEX_M4 + select ADK_TARGET_ARCH_ARM_WITH_THUMB + select ADK_TARGET_UCLINUX + config ADK_CPU_ARMV7M_CORTEX_M3 - bool "cortex-m3 (armv7-m)" + bool "cortex-m3" select ADK_CPU_CORTEX_M3 select ADK_TARGET_ARCH_ARM_WITH_THUMB select ADK_TARGET_UCLINUX @@ -23,6 +33,10 @@ config ADK_CPU_ARMV5TE_ARM926EJ_S bool "arm926ej-s (armv5te)" select ADK_CPU_ARM926EJ_S +config ADK_CPU_XSCALE + bool "xscale" + select ADK_CPU_XSCALE + endchoice choice diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu index fccb7da51..eb7628d0c 100644 --- a/target/config/Config.in.cpu +++ b/target/config/Config.in.cpu @@ -22,6 +22,7 @@ config ADK_CPU_ARM1176JZF_S bool select ADK_TARGET_WITH_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_CPU_WITH_FPU_VFP config ADK_CPU_ARM926EJ_S bool @@ -71,11 +72,13 @@ config ADK_CPU_CORTEX_A7 bool select ADK_TARGET_WITH_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_CPU_WITH_FPU_VFP4 config ADK_CPU_CORTEX_A9 bool select ADK_TARGET_WITH_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_CPU_WITH_FPU_VFP3 config ADK_CPU_CRIS_V10 bool @@ -203,20 +206,19 @@ config ADK_TARGET_CPU_WITH_FPU config ADK_TARGET_CPU_WITH_FPU_VFP bool + select ADK_TARGET_CPU_WITH_FPU select ADK_fpu_vfp config ADK_TARGET_CPU_WITH_FPU_VFP3 bool + select ADK_TARGET_CPU_WITH_FPU select ADK_fpu_vfp3 config ADK_TARGET_CPU_WITH_FPU_VFP4 bool + select ADK_TARGET_CPU_WITH_FPU select ADK_fpu_vfp4 -config ADK_TARGET_CPU_WITH_FPU_NEON - bool - select ADK_fpu_neon - config ADK_TARGET_CPU_WITH_VT bool @@ -244,6 +246,9 @@ config ADK_TARGET_CPU_WITH_SSSE3 config ADK_TARGET_CPU_WITH_IWMMXT bool +config ADK_TARGET_CPU_WITH_NEON + bool + config ADK_TARGET_CPU_WITH_HT bool diff --git a/target/config/Config.in.float.choice b/target/config/Config.in.float.choice index 1b5c34752..65ec89d4e 100644 --- a/target/config/Config.in.float.choice +++ b/target/config/Config.in.float.choice @@ -10,10 +10,8 @@ depends on (ADK_TARGET_ARCH_ARM || \ config ADK_TARGET_HARD_FLOAT bool "hard-float" - select ADK_hard_float config ADK_TARGET_SOFT_FLOAT bool "soft-float" - select ADK_soft_float endchoice diff --git a/target/config/Config.in.float.default b/target/config/Config.in.float.default index 087a79fff..886d85e5c 100644 --- a/target/config/Config.in.float.default +++ b/target/config/Config.in.float.default @@ -1,14 +1,7 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. -config ADK_soft_float - bool - -config ADK_hard_float - bool - config ADK_TARGET_FLOAT string - default "hard" if ADK_hard_float - default "soft" if ADK_soft_float - + default "hard" if ADK_TARGET_HARD_FLOAT + default "soft" if ADK_TARGET_SOFT_FLOAT diff --git a/target/config/Config.in.fpu.default b/target/config/Config.in.fpu.default index 095b2cb5f..0fd8f616c 100644 --- a/target/config/Config.in.fpu.default +++ b/target/config/Config.in.fpu.default @@ -1,23 +1,10 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. -config ADK_fpu_neon - bool - -config ADK_fpu_vfp - bool - -config ADK_fpu_vfp3 - bool - -config ADK_fpu_vfp4 - bool - config ADK_TARGET_FPU string depends on ADK_TARGET_ARCH_ARM - default "vfp" if ADK_fpu_vfp - default "vfp3" if ADK_fpu_vfp3 - default "vfp4" if ADK_fpu_vfp4 - default "neon" if ADK_fpu_neon - + default "vfp" if ADK_TARGET_CPU_WITH_FPU_VFP + default "vfp3" if ADK_TARGET_CPU_WITH_FPU_VFP3 + default "vfp4" if ADK_TARGET_CPU_WITH_FPU_VFP4 + default "neon" if ADK_TARGET_CPU_WITH_NEON diff --git a/target/config/Config.in.target b/target/config/Config.in.target index 2245e511b..09c536afb 100644 --- a/target/config/Config.in.target +++ b/target/config/Config.in.target @@ -24,22 +24,17 @@ config ADK_TARGET_CFLAGS default "-mcpu=v8" if ADK_CPU_SPARC_V8 default "-mcpu=ultrasparc -m64" if ADK_CPU_SPARC_V9 default "-march=loongson2f -Wa,-mfix-loongson2f-nop" if ADK_CPU_LOONGSON2F - default "-march=mips32" if ADK_CPU_MIPS32 && ADK_hard_float - default "-march=mips32r2" if ADK_CPU_MIPS32R2 && ADK_hard_float - default "-march=mips32 -msoft-float" if ADK_CPU_MIPS32 && ADK_soft_float - default "-march=mips32r2 -msoft-float" if ADK_CPU_MIPS32R2 && ADK_soft_float + default "-march=mips32" if ADK_CPU_MIPS32 + default "-march=mips32r2" if ADK_CPU_MIPS32R2 default "-march=mips64" if ADK_CPU_MIPS64 default "-march=armv8-a" if ADK_CPU_ARMV8 default "-march=armv5te -mtune=iwmmxt" if ADK_CPU_XSCALE - default "-march=armv5te -mtune=arm926ej-s -mfloat-abi=soft" if ADK_CPU_ARM926EJ_S && ADK_soft_float - default "-march=armv5te -mtune=arm926ej-s -mfloat-abi=hard" if ADK_CPU_ARM926EJ_S && ADK_hard_float - default "-march=armv6 -mtune=arm1176jzf-s -mfloat-abi=soft" if ADK_CPU_ARM1176JZF_S && ADK_soft_float - default "-march=armv6 -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard" if ADK_CPU_ARM1176JZF_S && ADK_hard_float - default "-mcpu=cortex-m3 -mfloat-abi=soft" if ADK_CPU_CORTEX_M3 && ADK_soft_float - default "-mcpu=cortex-a7 -mfloat-abi=soft" if ADK_CPU_CORTEX_A7 && ADK_soft_float - default "-mcpu=cortex-a7 -mfpu=neon -mfloat-abi=hard" if ADK_CPU_CORTEX_A7 && ADK_hard_float - default "-mcpu=cortex-a9 -mfloat-abi=soft" if ADK_CPU_CORTEX_A9 && ADK_soft_float - default "-mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard" if ADK_CPU_CORTEX_A9 && ADK_hard_float + default "-march=armv5te -mtune=arm926ej-s" if ADK_CPU_ARM926EJ_S + default "-march=armv6 -mtune=arm1176jzf-s" if ADK_CPU_ARM1176JZF_S + default "-mcpu=cortex-m3" if ADK_CPU_CORTEX_M3 + default "-mcpu=cortex-m4" if ADK_CPU_CORTEX_M3 + default "-mcpu=cortex-a7" if ADK_CPU_CORTEX_A7 + default "-mcpu=cortex-a9" if ADK_CPU_CORTEX_A9 default "-march=armv5te" if ADK_CPU_ARMV5TE default "-march=armv6" if ADK_CPU_ARMV6 default "-march=armv7-a" if ADK_CPU_ARMV7A |