summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-30 21:12:08 (GMT)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-12-05 22:07:10 (GMT)
commitd690b7444a819a53a756cd3b6047584802d55d92 (patch)
treee4f7ba4fc4e7818f131444d982d7af7eb0e337f3
parent743e6639123890f6cbcecdc8d4b935e82a548aca (diff)
downloadbuildroot-d690b7444a819a53a756cd3b6047584802d55d92.tar.gz
buildroot-d690b7444a819a53a756cd3b6047584802d55d92.tar.bz2
arch/Config.in.arm: add FPU related options for ARMv8 cores
The ARMv8 cores have a mandatory FPU unit called FP-ARMv8, so we: - add a new hidden Config.in option for the availability of this unit (BR2_ARM_CPU_HAS_FP_ARMV8) - allow the selection of a possible choice in the "Floating point strategy", and add two new choices: BR2_ARM_FPU_FP_ARMV8 and BR2_ARM_FPU_NEON_FP_ARMV8. - specify the -mfpu values for BR2_ARM_FPU_FP_ARMV8 and BR2_ARM_FPU_NEON_FP_ARMV8 cases, when used on ARM 32 bits (-mfpu doesn't exist on ARM64, instead -mcpu modifiers are used, so they will be added on a per-core basis). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [yann.morin.1998@free.fr: drop the FP strategy dependency] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--arch/Config.in.arm21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index fa999d5..1a3c36d 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -31,6 +31,10 @@ config BR2_ARM_CPU_HAS_VFPV4
bool
select BR2_ARM_CPU_HAS_VFPV3
+config BR2_ARM_CPU_HAS_FP_ARMV8
+ bool
+ select BR2_ARM_CPU_HAS_VFPV4
+
config BR2_ARM_CPU_HAS_ARM
bool
@@ -308,6 +312,7 @@ endchoice
choice
prompt "Floating point strategy"
+ default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8
default BR2_ARM_FPU_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4
default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3
default BR2_ARM_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2
@@ -418,6 +423,20 @@ config BR2_ARM_FPU_NEON_VFPV4
example on Cortex-A5 and Cortex-A7, support for VFPv4 and
NEON is optional.
+config BR2_ARM_FPU_FP_ARMV8
+ bool "FP-ARMv8"
+ depends on BR2_ARM_CPU_HAS_FP_ARMV8
+ help
+ This option allows to use the ARMv8 floating point unit.
+
+config BR2_ARM_FPU_NEON_FP_ARMV8
+ bool "NEON/FP-ARMv8"
+ depends on BR2_ARM_CPU_HAS_FP_ARMV8
+ depends on BR2_ARM_CPU_HAS_NEON
+ help
+ This option allows to use both the ARMv8 floating point unit
+ and the NEON SIMD unit for floating point operations.
+
endchoice
choice
@@ -504,6 +523,8 @@ config BR2_GCC_TARGET_FPU
default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
default "neon" if BR2_ARM_FPU_NEON
default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4
+ default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8
+ default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8
config BR2_GCC_TARGET_FLOAT_ABI
default "soft" if BR2_ARM_SOFT_FLOAT