summaryrefslogtreecommitdiff
path: root/target/config
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-02-22 02:39:38 -0600
committerWaldemar Brodkorb <wbx@openadk.org>2015-02-22 02:39:38 -0600
commit476a87c63fe284faf4ea0a76f7b540845c5f6a52 (patch)
tree729a9ca60bb305018305e5ddffe407277264680e /target/config
parent64fe21734343ee2395ddb6586195d3db374f91ea (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.choice18
-rw-r--r--target/config/Config.in.cpu13
-rw-r--r--target/config/Config.in.float.choice2
-rw-r--r--target/config/Config.in.float.default11
-rw-r--r--target/config/Config.in.fpu.default21
-rw-r--r--target/config/Config.in.target21
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