[Buildroot] [PATCH 3/4 v2] arch/arm: add big.LITTLE cpu variants
Arnout Vandecappelle
arnout at mind.be
Sat Jul 8 16:34:14 UTC 2017
On 08-07-17 16:08, Yann E. MORIN wrote:
> The big.LITTLE configurations can be optimised for by gcc, and a few
> users wonder what they should choose when they have such CPUs.
>
> Add new entries for those big.LITTLE configurations.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Cc: Thomas De Schampheleire <patrickdepinguin at gmail.com>
> Cc: Baruch Siach <baruch at tkos.co.il>
[snip]
> +config BR2_cortex_a15_a7
> + bool "cortex-A15/A7 big.LITTLE"
> + select BR2_ARM_CPU_HAS_ARM
> + select BR2_ARM_CPU_HAS_NEON
> + select BR2_ARM_CPU_HAS_VFPV4
> + select BR2_ARM_CPU_HAS_THUMB2
> + select BR2_ARM_CPU_ARMV7A
> + select BR2_ARCH_HAS_MMU_OPTIONAL
Not for this patch, but: is this actually correct? Looking at the kernel's
arch/arm/Kconfig, I see that all the platforms that can be selected when MMU is
not selected are <= ARMv6. Well, I'm not entirely sure, it's a bit difficult to
map stuff like CPU_XSC3 on an ARM version.
> + depends on !BR2_ARCH_IS_64
[snip]
> diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
> index 5dcaa03ff0..c072b78ae5 100644
> --- a/package/gcc/Config.in.host
> +++ b/package/gcc/Config.in.host
> @@ -25,7 +25,8 @@ config BR2_GCC_VERSION_4_9_X
> # Broken or unsupported architectures
> depends on !BR2_arc && !BR2_bfin && !BR2_or1k
> # Broken or unsupported ARM cores
> - depends on !BR2_cortex_a17 && !BR2_cortex_a72
> + depends on !BR2_cortex_a17 && !BR2_cortex_a17_a7
> + depends on !BR2_cortex_a72 && !BR2_cortex_a72_a53
> # Unsupported MIPS cores
> depends on !BR2_mips_interaptiv
> # Unsupported for MIPS R5
> @@ -45,6 +46,8 @@ config BR2_GCC_VERSION_5_X
> bool "gcc 5.x"
> # Broken or unsupported architectures
> depends on !BR2_arc && !BR2_bfin && !BR2_or1k
> + # Broken or unsupported ARM cores
> + depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53
According to [1], a72.a53 was added in GCC 5. And a57.a53 was already added in
GCC 4.9 - is it broken in GCC 5?
> # musl ppc64 unsupported
> depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
> # Unsupported MIPS cores
> diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
> index 2fbb218ecc..66a032e9ac 100644
> --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
> +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in
> @@ -1,6 +1,8 @@
> config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
> bool "CodeSourcery AArch64 2014.11"
> depends on BR2_aarch64
> + # a57/a53 and a72/a53 appeared in gcc-6 or were broken before
Ah, here you mention it. Better raise that to the commit message. Do you also
have a reference for it?
Regards,
Arnout
> + depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53
[snip]
[1] https://gcc.gnu.org/gcc-5/changes.html
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list