[4/9] arch/arm: do not allow soft-float for armv8a

Message ID bd6e8e2eaf13ecc5e45e360875cfff3494b86a8c.1504444617.git.yann.morin.1998@free.fr
State New
Headers show
Series
  • [1/9] arch/arm: re-order cores choice
Related show

Commit Message

Yann E. MORIN Sept. 3, 2017, 1:17 p.m.
armv8a has made VFPv4 and NEON mandatory, so there is no point in
allowing software floating point, even in 32-bit mode.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 arch/Config.in.arm | 1 +
 1 file changed, 1 insertion(+)

Comments

Yann E. MORIN Sept. 4, 2017, 5:21 p.m. | #1
Thomas, All,

On 2017-09-03 15:17 +0200, Yann E. MORIN spake thusly:
> armv8a has made VFPv4 and NEON mandatory, so there is no point in
> allowing software floating point, even in 32-bit mode.

In fact, even though I'm pretty sure that OK in 64-bit, we might still
have a reason to do soft-float in 32-bit mode, if only for legacy
binary-only applications that were built as soft-float way back in the
(not so) good old days...

In which case, we should instead depend on !BR2_ARCH_IS_64.

Thoughts?

Regards,
Yann E. MORIN.

> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  arch/Config.in.arm | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/Config.in.arm b/arch/Config.in.arm
> index d110d52e2d..0ae6a16a0a 100644
> --- a/arch/Config.in.arm
> +++ b/arch/Config.in.arm
> @@ -374,6 +374,7 @@ choice
>  config BR2_ARM_SOFT_FLOAT
>  	bool "Soft float"
>  	depends on BR2_ARM_EABI
> +	depends on !BR2_ARM_CPU_ARMV8A
>  	select BR2_SOFT_FLOAT
>  	help
>  	  This option allows to use software emulated floating
> -- 
> 2.11.0
>

Patch

diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index d110d52e2d..0ae6a16a0a 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -374,6 +374,7 @@  choice
 config BR2_ARM_SOFT_FLOAT
 	bool "Soft float"
 	depends on BR2_ARM_EABI
+	depends on !BR2_ARM_CPU_ARMV8A
 	select BR2_SOFT_FLOAT
 	help
 	  This option allows to use software emulated floating