All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Flax <flatmax@flatmax.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/3] arch/arm: Add ARMV8 (aarch32) toolchain config.
Date: Tue, 23 Aug 2016 10:53:23 +1000	[thread overview]
Message-ID: <1471913603-21487-4-git-send-email-flatmax@flatmax.org> (raw)
In-Reply-To: <1471913603-21487-1-git-send-email-flatmax@flatmax.org>

This commit configures the toolchain to use the ARMV8 hardware features.
This commit also cleans up and adds to the previous cortex-a53 commit.

This commit adds BR2_ARM_CPU_HAS_ARMV8 to arch/Config.in.arm and cleans up
the BR2_cortex_a53 config to remove redundant selections relating to VFPV4 and
ARMV7A. The commit also adds BR2_ARM_CPU_HAS_ARMV8 to BR2_ARM_EABIHF which
allows the selection of hard float (HF) activating the toolchain for whatever
specific ARMV8 hardware features are possible. It also adds the
BR2_ARM_FPU_NEON_ARMV8 HF tuning (crypto-neon-fp-armv8).

The cortex-a53 BR2_ARCH_HAS_MMU_OPTIONAL selection ensures that uclibc successfully
compiles without non-compliant swp assembly calls.

Signed-off-by: Matt Flax <flatmax@flatmax.org>
---
 arch/Config.in.arm | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 72bb744..c01daf6 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -31,6 +31,9 @@ config BR2_ARM_CPU_HAS_VFPV4
 	bool
 	select BR2_ARM_CPU_HAS_VFPV3
 
+config BR2_ARM_CPU_HAS_ARMV8
+	bool
+
 config BR2_ARM_CPU_HAS_ARM
 	bool
 
@@ -174,8 +177,7 @@ config BR2_cortex_a53
 	bool "cortex-A53"
 	select BR2_ARM_CPU_HAS_ARM
 	select BR2_ARM_CPU_HAS_NEON
-	select BR2_ARM_CPU_HAS_VFPV4
-	select BR2_ARM_CPU_ARMV7A
+	select BR2_ARM_CPU_HAS_ARMV8
 	select BR2_ARCH_HAS_MMU_OPTIONAL
 config BR2_cortex_m3
 	bool "cortex-M3"
@@ -271,7 +273,7 @@ config BR2_ARM_EABI
 
 config BR2_ARM_EABIHF
 	bool "EABIhf"
-	depends on BR2_ARM_CPU_HAS_VFPV2
+	depends on BR2_ARM_CPU_HAS_VFPV2 || BR2_ARM_CPU_HAS_ARMV8
 	help
 	  The EABIhf is an extension of EABI which supports the 'hard'
 	  floating point model. This model uses the floating point
@@ -292,6 +294,7 @@ endchoice
 choice
 	prompt "Floating point strategy"
 	depends on BR2_ARM_EABI || BR2_ARM_EABIHF
+	default BR2_ARM_FPU_NEON_ARMV8 if BR2_ARM_CPU_HAS_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
@@ -366,6 +369,13 @@ config BR2_ARM_FPU_VFPV4
 	  cores, including the earlier Cortex-A{8, 9}, you should
 	  instead select VFPv3.
 
+config BR2_ARM_FPU_NEON_ARMV8
+	bool "ARMV8"
+	depends on BR2_ARM_CPU_HAS_ARMV8
+	help
+	  This option allows to use the ARMV8 floating point unit, as
+	  available in some ARMv8 processors (Cortex-A53).
+
 config BR2_ARM_FPU_VFPV4D16
 	bool "VFPv4-D16"
 	depends on BR2_ARM_CPU_HAS_VFPV4
@@ -485,6 +495,7 @@ 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 "crypto-neon-fp-armv8" 	if BR2_ARM_FPU_NEON_ARMV8
 
 config BR2_GCC_TARGET_FLOAT_ABI
 	default "soft"		if BR2_ARM_SOFT_FLOAT
-- 
2.7.4

  parent reply	other threads:[~2016-08-23  0:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-23  0:53 [Buildroot] [PATCH 0/3] arch/arm a53 + ARMV8, package/fftw rework Matt Flax
2016-08-23  0:53 ` [Buildroot] [PATCH 1/3] arch/arm: Add Cortex-a53 CPU Matt Flax
2016-08-23 22:03   ` Thomas Petazzoni
2016-08-23 23:44     ` Matt Flax
2016-08-24 21:20       ` Waldemar Brodkorb
2016-08-25  0:55         ` Matt Flax
2016-08-24 22:14       ` Thomas Petazzoni
2016-08-25  0:25         ` Matt Flax
2016-08-23  0:53 ` [Buildroot] [PATCH 2/3] package/fftw : Allow all precisions to be installed at the same time Matt Flax
2016-08-23 21:32   ` Thomas Petazzoni
2016-08-23  0:53 ` Matt Flax [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-08-22 10:12 [Buildroot] [PATCH 3/3] arch/arm: Add ARMV8 (aarch32) toolchain config Matt Flax
2016-08-22 14:36 ` Thomas Petazzoni
2016-08-23  0:39   ` Matt Flax

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1471913603-21487-4-git-send-email-flatmax@flatmax.org \
    --to=flatmax@flatmax.org \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.