[Buildroot] [PATCH v4 14/15] arch/arm: add two new non-cortex-based armv8.2a cores

Arnout Vandecappelle arnout at mind.be
Sat Jul 13 21:22:09 UTC 2019



On 20/06/2019 12:07, Giulio Benetti wrote:
> From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> 
> The Neoverse N1 CPU was supported in GCC earlier through the codename Ares [1].
> 
> [1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=37cf0ddecfd1eb5c6852a44135af5a92e5103931
> 
> Build tested:
> https://gitlab.com/kubu93/buildroot/pipelines/60318953
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> [Romain: rename BR2_ares to BR2_neoverse_n1]
> Signed-off-by: Romain Naour <romain.naour at gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> Signed-off-by: Giulio Benetti <giulio.benetti at micronovasrl.com>
> ---
> v2: add neoverse-e1 (Yann)
>     reorder alphabetically after renaming ares to neoverse-n1.
> 
> Note: The Neoverse E1 CPU needs at least binutils 2.32 to support Speculative Store
> Bypass Safe instruction (SSBS) which is part of ARMv8.5-A architecture extensions.
> Postpone the support for this new ARM core.
> See: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=104fefeebb544b7745bb353b63110afa46119647
> ---
>  arch/Config.in.arm | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/arch/Config.in.arm b/arch/Config.in.arm
> index a664cfe0e2..eea77cdabe 100644
> --- a/arch/Config.in.arm
> +++ b/arch/Config.in.arm
> @@ -512,6 +512,22 @@ config BR2_cortex_a76_a55
>  	select BR2_ARM_CPU_ARMV8A
>  	select BR2_ARCH_HAS_MMU_OPTIONAL
>  	select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
> +config BR2_neoverse_n1
> +	bool "neoverse-N1 (alias ares)"

 In an earlier patch, you used 'aka', so I did the same here.

> +	select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
> +	select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
> +	select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
> +	select BR2_ARM_CPU_HAS_FP_ARMV8
> +	select BR2_ARM_CPU_ARMV8A
> +	select BR2_ARCH_HAS_MMU_OPTIONAL
> +	select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
> +config BR2_tsv110
> +	bool "tsv110"
> +	depends on BR2_ARCH_IS_64
> +	select BR2_ARM_CPU_HAS_FP_ARMV8
> +	select BR2_ARM_CPU_ARMV8A
> +	select BR2_ARCH_HAS_MMU_OPTIONAL

 Somewhat unrelated to this patch, but: is this really correct? I thought the
MMU was mandatory on 64-bit ARM. At least, the kernel forces MMU on for arm64.

 Regards,
 Arnout

> +	select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
>  
>  comment "armv8.4a cores"
>  config BR2_saphira
> @@ -877,6 +893,8 @@ config BR2_GCC_TARGET_CPU
>  	default "cortex-a75.cortex-a55"	if BR2_cortex_a75_a55
>  	default "cortex-a76"	if BR2_cortex_a76
>  	default "cortex-a76.cortex-a55"	if BR2_cortex_a76_a55
> +	default "neoverse-n1"	if BR2_neoverse_n1
> +	default "tsv110"	if BR2_tsv110
>  	# armv8.4a
>  	default "saphira"	if BR2_saphira
>  
> 


More information about the buildroot mailing list