summaryrefslogtreecommitdiff
path: root/target/config
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-04-03 14:41:07 -0500
committerWaldemar Brodkorb <wbx@openadk.org>2015-04-03 14:41:07 -0500
commit21b8f713db4b71cdf1e329afb3372aadec88f1e7 (patch)
treee9e9fd057ce7b6ec8d797374addd949842f49423 /target/config
parentbf46ae546e86c39e2b0f900610b9a72076af35b4 (diff)
rework FPU support for ARM again
With this commit I broke Kodi support for cubox-i: 4f93b213f2d3393fbb0b7ca200988f475e6cef83 I found following info regarding VFP and NEON: http://community.arm.com/groups/tools/blog/2013/04/15/arm-cortex-a-processors-and-gcc-command-lines Try to implement with this table in mind.
Diffstat (limited to 'target/config')
-rw-r--r--target/config/Config.in.cpu20
-rw-r--r--target/config/Config.in.fpu.choice6
-rw-r--r--target/config/Config.in.fpu.default14
3 files changed, 36 insertions, 4 deletions
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index 10909a12e..1dcd72fd0 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -77,22 +77,40 @@ config ADK_CPU_CORTEX_M4
bool
select ADK_TARGET_WITH_LT
+config ADK_CPU_CORTEX_A5
+ bool
+ select ADK_TARGET_WITH_NPTL
+ select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_CPU_WITH_FPU_VFPV3
+ select ADK_TARGET_CPU_WITH_NEON
+
config ADK_CPU_CORTEX_A7
bool
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
select ADK_TARGET_CPU_WITH_FPU_VFPV4
+ select ADK_TARGET_CPU_WITH_NEON
config ADK_CPU_CORTEX_A8
bool
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_CPU_WITH_FPU_VFPV3
+ select ADK_TARGET_CPU_WITH_NEON
config ADK_CPU_CORTEX_A9
bool
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
select ADK_TARGET_CPU_WITH_FPU_VFPV3
+ select ADK_TARGET_CPU_WITH_NEON
+
+config ADK_CPU_CORTEX_A15
+ bool
+ select ADK_TARGET_WITH_NPTL
+ select ADK_TARGET_WITH_MMU
+ select ADK_TARGET_CPU_WITH_FPU_VFPV4
+ select ADK_TARGET_CPU_WITH_NEON
config ADK_CPU_CORTEX_A53
bool
@@ -306,9 +324,11 @@ config ADK_TARGET_GCC_CPU
default "arm1176jzf-s" if ADK_CPU_ARM1176JZF_S
default "arm926ej-s" if ADK_CPU_ARM926EJ_S
default "armv8-a" if ADK_CPU_ARMV8
+ default "cortex-a5" if ADK_CPU_CORTEX_A5
default "cortex-a7" if ADK_CPU_CORTEX_A7
default "cortex-a8" if ADK_CPU_CORTEX_A8
default "cortex-a9" if ADK_CPU_CORTEX_A9
+ default "cortex-a15" if ADK_CPU_CORTEX_A15
default "cortex-a53" if ADK_CPU_CORTEX_A53
default "cortex-a57" if ADK_CPU_CORTEX_A57
default "cortex-m3" if ADK_CPU_CORTEX_M3
diff --git a/target/config/Config.in.fpu.choice b/target/config/Config.in.fpu.choice
index 43df6220c..47ac22ddd 100644
--- a/target/config/Config.in.fpu.choice
+++ b/target/config/Config.in.fpu.choice
@@ -1,3 +1,9 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
+config ADK_TARGET_ARCH_ARM_WITH_NEON
+ bool "enable NEON SIMD support"
+ depends on ADK_TARGET_ARCH_ARM
+ default n
+ help
+ Enable support for NEON SIMD CPU extensions.
diff --git a/target/config/Config.in.fpu.default b/target/config/Config.in.fpu.default
index c55b0a602..55c00e0a5 100644
--- a/target/config/Config.in.fpu.default
+++ b/target/config/Config.in.fpu.default
@@ -4,7 +4,13 @@
config ADK_TARGET_FPU
string
depends on ADK_TARGET_ARCH_ARM
- default "neon" if ADK_TARGET_CPU_WITH_NEON
- default "vfp" if ADK_TARGET_CPU_WITH_FPU_VFP
- default "vfpv3" if ADK_TARGET_CPU_WITH_FPU_VFPV3
- default "vfpv4" if ADK_TARGET_CPU_WITH_FPU_VFPV4
+ default "vfpv3-fp16" if ADK_CPU_CORTEX_A5 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "vfpv4" if ADK_CPU_CORTEX_A7 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "vfpv3" if ADK_CPU_CORTEX_A8 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "vfpv3-fp16" if ADK_CPU_CORTEX_A9 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "vfpv4" if ADK_CPU_CORTEX_A15 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "neon-fp16" if ADK_CPU_CORTEX_A5 && ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "neon-vfpv4" if ADK_CPU_CORTEX_A7 && ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "neon" if ADK_CPU_CORTEX_A8 && ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "neon-fp16" if ADK_CPU_CORTEX_A9 && ADK_TARGET_ARCH_ARM_WITH_NEON
+ default "neon-vfpv4" if ADK_CPU_CORTEX_A15 && ADK_TARGET_ARCH_ARM_WITH_NEON