arch/arm: introduce big.LITTLE configurations
v3 cover arch/arm: introduce big.LITTLE configurations
Hello All!
This series adds four new CPU variants to the arm choice, to enable optimising for big.LITTLE CPUs.
We first fix the current values in the first patch, then introduce the actual new variants, and then make use of them in the sole package that needs to know of them.
This has been only slightly tested by simply building the toolchains for the six possibilities:
- the four variants in arm mode (32-bit),
- the two armv8 variants in aarch64 mode (64-bit).
The variants were introduced in various versions of gcc, so we protect the internal gcc as well as the external toolchains accordingly.
To be noted: openblas also has a cortex-a15 optimisation, so maybe that optimisation can also be used for the cortex-a15.cortex-a7 variant as well. But I have absolutely no clue what openblas is doing with that anyway, so I left it alone for someone else to deal with...
Changes v2 -> v3:
- augment the commit log for the big.LITTLE variants and their gcc version dependencies (Arnout)
- fix KVM_UNIT_TEST_ARCH_SUPPORT wrt gcc (Arnout)
Changes v1 -> v2:
- squash first two patches in one (Thomas)
- parentheses and indentation cleanup (Baruch, me)
Regards,
Yann E. MORIN.
The following changes since commit 644c024edeb7e20bd96ce4426aeca2cbcd74d9b9
syslinux: drop patch 0003, not needed after gnu-efi update (2017-07-04 18:45:26 +0200)
are available in the git repository at:
git://git.buildroot.org/~ymorin/git/buildroot.git
for you to fetch changes up to e9a53f9e66ea0d124e8c4ab028f01b41d694910d
package/kvm-unit-test: available for big.LITTLE arm cores too (2017-07-09 11:24:31 +0200)
----------------------------------------------------------------
Yann E. MORIN (4):
arch/arm: fix -mcpu default values for AArch64 package/kvm-unit-tests: introduce _ARCH_SUPPORTS arch/arm: add big.LITTLE cpu variants package/kvm-unit-test: available for big.LITTLE arm cores too
arch/Config.in.arm | 50 ++++++++++++++++++---- package/gcc/Config.in.host | 5 ++- package/kvm-unit-tests/Config.in | 23 +++++++--- .../Config.in | 2 + .../toolchain-external-codesourcery-arm/Config.in | 4 ++ 5 files changed, 67 insertions(+), 17 deletions(-)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 1/4 arch/arm: fix -mcpu default values for AArch64
We have to specify the -mcpu value, even in 64-bit mode.
For AArch64, +fp and +simd are the default, so they are totally useless.
---
Changes v1 -> v2:
- squash the two changes into one patch (Thomas)
- remove useless parentheses (Baruch)
- remove superfluous indentation
Notes: If anything, it is the +nofp or +nosimd that should be specified. This can be done in a future patch, though.
--- arch/Config.in.arm | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)
arch/Config.in.arm +3 -9
@@ -534,15 +534,9 @@ config BR2_GCC_TARGET_CPU default "strongarm" if BR2_strongarm default "xscale" if BR2_xscale default "iwmmxt" if BR2_iwmmxt - default "cortex-a53" if (BR2_cortex_a53 && !BR2_ARCH_IS_64) - default "cortex-a53+fp" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8) - default "cortex-a53+fp+simd" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8) - default "cortex-a57" if (BR2_cortex_a57 && !BR2_ARCH_IS_64) - default "cortex-a57+fp" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8) - default "cortex-a57+fp+simd" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8) - default "cortex-a72" if (BR2_cortex_a72 && !BR2_ARCH_IS_64) - default "cortex-a72+fp" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8) - default "cortex-a72+fp+simd" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8) + default "cortex-a53" if BR2_cortex_a53 + default "cortex-a57" if BR2_cortex_a57 + default "cortex-a72" if BR2_cortex_a72 config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb
Signature · 1 line
2.11.0
Thomas Petazzoni
AppliedPATCH v3 1/4 arch/arm: fix -mcpu default values for AArch64
Hello,
Quoted 8 lines · Yann E. MORIN
We have to specify the -mcpu value, even in 64-bit mode.
For AArch64, +fp and +simd are the default, so they are totally useless.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Baruch Siach <[email protected]>
Quoted 5 lines
---
Changes v1 -> v2:
- squash the two changes into one patch (Thomas)
- remove useless parentheses (Baruch)
- remove superfluous indentation
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Tomov
AppliedPATCH v3 1/4 arch/arm: fix -mcpu default values for AArch64
Hi everybody,
Please remove my e-mail from your exchange list.
I just posted a ticket (ID 10011) for resolving the failure when Buildroot calls wget.
Thank you for your understanding,
Pavel Tomov
(Mirion technologies)
-----Original Message-----
From: buildroot [mailto:buildroot-bounces at busybox.net] On Behalf Of Thomas Petazzoni
Sent: Monday, July 10, 2017 9:05 AM
To: Yann E. MORIN <[email protected]>
Cc: buildroot at buildroot.org
Subject: Re: [Buildroot] [PATCH 1/4 v3] arch/arm: fix -mcpu default values for AArch64
Hello,
Quoted 8 lines · Yann E. MORIN
We have to specify the -mcpu value, even in 64-bit mode.
For AArch64, +fp and +simd are the default, so they are totally useless.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Baruch Siach <[email protected]>
Quoted 5 lines
---
Changes v1 -> v2:
- squash the two changes into one patch (Thomas)
- remove useless parentheses (Baruch)
- remove superfluous indentation
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering http://free-electrons.com _______________________________________________ buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
________________________________
PROPRIETARY INFORMATION NOTICE: This e-mail message and all attachments transmitted with it are intended solely for use by the addressee, may contain proprietary information of Mirion Technologies and/or its affiliates, and is subject to all applicable export controls. If the reader of this message is not the intended recipient, you are hereby notified that any review, dissemination, distribution, copying or other use of this message is strictly prohibited. If you have received this message in error, please notify the sender immediately by replying to the message, delete the original message and all attachments from your computer, and destroy any copies you may have made. Thank you.
PATCH v3 1/4 arch/arm: fix -mcpu default values for AArch64
Pavel,
On 2017-07-10 16:18 +0000, Tomov, Pavel spake thusly:
Quoted 3 lines
Hi everybody,
Please remove my e-mail from your exchange list.
You may remove yourself from the list, by following the link that is repeated at the bottom of every message that comes from the list:
http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
Yann E. MORIN.
Quoted 44 lines
I just posted a ticket (ID 10011) for resolving the failure when Buildroot calls wget.
Thank you for your understanding,
Pavel Tomov
(Mirion technologies)-----Original Message-----
From: buildroot [mailto:buildroot-bounces at busybox.net] On Behalf Of Thomas Petazzoni
Sent: Monday, July 10, 2017 9:05 AM
To: Yann E. MORIN <[email protected]>
Cc: buildroot at buildroot.org
Subject: Re: [Buildroot] [PATCH 1/4 v3]arch/arm: fix -mcpu default values for AArch64Hello,
Quoted 8 lines · Yann E. MORIN
We have to specify the -mcpu value, even in 64-bit mode.
For AArch64, +fp and +simd are the default, so they are totally useless.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Baruch Siach <[email protected]>Quoted 5 lines
---
Changes v1 -> v2:
- squash the two changes into one patch (Thomas)
- remove useless parentheses (Baruch)
- remove superfluous indentationApplied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering http://free-electrons.com _______________________________________________ buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot________________________________
PROPRIETARY INFORMATION NOTICE: This e-mail message and all attachments transmitted with it are intended solely for use by the addressee, may contain proprietary information of Mirion Technologies and/or its affiliates, and is subject to all applicable export controls. If the reader of this message is not the intended recipient, you are hereby notified that any review, dissemination, distribution, copying or other use of this message is strictly prohibited. If you have received this message in error, please notify the sender immediately by replying to the message, delete the original message and all attachments from your computer, and destroy any copies you may have made. Thank you.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 1/4 arch/arm: fix -mcpu default values for AArch64
In reply to Yann E. MORINQuoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Yann" == Yann E MORIN <[email protected]> writes:
We have to specify the -mcpu value, even in 64-bit mode.
For AArch64, +fp and +simd are the default, so they are totally useless.Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Baruch Siach <[email protected]>
Is this a candidate for 2017.02.x / 2017.05.x - In other words, what does it fix?
Signature · 1 line
Bye, Peter Korsgaard
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
In reply to Yann E. MORINMove all architecture options to their own symbol, so that it is easier to add more variants in the future.
The dependency on cross-gcc >= 4.5 is only valid for i386, as we use the host gcc for x86_64. Adapt the dependency accordingly.
---
Changes v2 -> v3:
- move gcc dependency back to the main symbol (Arnout)
- add comment (Arnout)
- fix dependency on gcc version
--- package/kvm-unit-tests/Config.in | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-)
package/kvm-unit-tests/Config.in +15 -7
@@ -1,15 +1,19 @@ +config BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS + bool + # On ARM, it uses virtualization extensions + default y if BR2_cortex_a7 || BR2_cortex_a12 || \ + BR2_cortex_a15 || BR2_cortex_a17 + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc64 || BR2_powerpc64le + config BR2_PACKAGE_KVM_UNIT_TESTS bool "kvm-unit-tests" + depends on BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS # on i386 and x86-64, __builtin_reachable is used, so we need # gcc 4.5 at least. on i386, we use the target gcc, while on # x86-64 we use the host gcc (see .mk file for details) - # On ARM, it uses virtualization extensions - depends on BR2_cortex_a7 || BR2_cortex_a12 || \ - BR2_cortex_a15 || BR2_cortex_a17 || \ - (BR2_i386 && BR2_TOOLCHAIN_GCC_AT_LEAST_4_5) || \ - BR2_powerpc64 || \ - BR2_powerpc64le || \ - (BR2_x86_64 && BR2_HOST_GCC_AT_LEAST_4_5) + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 if BR2_i386 + depends on BR2_HOST_GCC_AT_LEAST_4_5 if BR2_x86_64 select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y help kvm-unit-tests is a project as old as KVM. As its name
@@ -28,3 +32,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS features are submitted with accompanying unit tests. http://www.linux-kvm.org/page/KVM-unit-tests + +comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Signature · 1 line
2.11.0
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Hello,
Quoted 18 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in +9
-0@@ -1,15 +1,19 @@ +config BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS + bool + # On ARM, it uses virtualization extensions + default y if BR2_cortex_a7 || BR2_cortex_a12 || \ + BR2_cortex_a15 || BR2_cortex_a17 + default y if BR2_i386 || BR2_x86_64 + default y if BR2_powerpc64 || BR2_powerpc64le + config BR2_PACKAGE_KVM_UNIT_TESTS bool "kvm-unit-tests" + depends on BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS # on i386 and x86-64, __builtin_reachable is used, so we need # gcc 4.5 at least. on i386, we use the target gcc, while on
package/kvm-unit-tests/Config.in line 16
Quoted 10 lines
package/kvm-unit-tests/Config.in +2
-7# x86-64 we use the host gcc (see .mk file for details) - # On ARM, it uses virtualization extensions - depends on BR2_cortex_a7 || BR2_cortex_a12 || \ - BR2_cortex_a15 || BR2_cortex_a17 || \ - (BR2_i386 && BR2_TOOLCHAIN_GCC_AT_LEAST_4_5) || \ - BR2_powerpc64 || \ - BR2_powerpc64le || \ - (BR2_x86_64 && BR2_HOST_GCC_AT_LEAST_4_5) + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 if BR2_i386 + depends on BR2_HOST_GCC_AT_LEAST_4_5 if BR2_x86_64
Didn't know this syntax was valid. We usually do:
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386
but if the "depends on ... if ..." syntax works, I'm happy with it.
package/kvm-unit-tests/Config.in config BR2_PACKAGE_KVM_UNIT_TESTS · line 38
Quoted 11 lines
package/kvm-unit-tests/Config.in +4
-0select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y help kvm-unit-tests is a project as old as KVM. As its name@@ -28,3 +32,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS features are submitted with accompanying unit tests. http://www.linux-kvm.org/page/KVM-unit-tests + +comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
What about the x86_64 dependency on a host compiler >= 4.5 ?
But those Config.in comments are not really related to the introduction of the _ARCH_SUPPORTS variable, so perhaps they should be in a separate patch. If you don't want to respin but agree with what I said, just let me know, I can fixup when applying.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Thomas, All,
On 2017-07-10 18:09 +0200, Thomas Petazzoni spake thusly:
Quoted 6 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in
Quoted 5 lines
package/kvm-unit-tests/Config.in +0
-0
[--SNIP--]
Quoted 10 lines
package/kvm-unit-tests/Config.in config BR2_PACKAGE_KVM_UNIT_TESTS · line 38
Quoted 8 lines
package/kvm-unit-tests/Config.in +4
-0@@ -28,3 +32,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS features are submitted with accompanying unit tests. http://www.linux-kvm.org/page/KVM-unit-tests + +comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5What about the
x86_64dependency on a host compiler >= 4.5 ?
In the manual, it is said that one should not add a comment about a dependency on the host toolchain...
Quoted 3 lines
But those Config.in comments are not really related to the introduction of the
_ARCH_SUPPORTSvariable, so perhaps they should be in a separate patch.
Well, the comment did not exist previously indeed, but the dependency on gcc did exist.
Quoted 2 lines
If you don't want to respin but agree with what I said, just let me know, I can fixup when applying.
If you want to add this _one_ comment in a separate patch, I'm fine with you splitting it.
Regards,
Yann E. MORIN.
Quoted 7 lines
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Quoted 13 lines · Yann E. MORIN
Thomas, All,
On 2017-07-10 18:09 +0200, Thomas Petazzoni spake thusly:
Quoted 6 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in
Quoted 5 lines
package/kvm-unit-tests/Config.in +0
-0[--SNIP--]
Quoted 3 lines
Quoted 3 lines
package/kvm-unit-tests/Config.in +0
-0@@ -28,3 +32,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS features are submitted with accompanying unit tests.
Quoted 8 lines
Quoted 6 lines
package/kvm-unit-tests/Config.in config BR2_PACKAGE_KVM_UNIT_TESTS · line 38
Quoted 5 lines
package/kvm-unit-tests/Config.in +4
-0http://www.linux-kvm.org/page/KVM-unit-tests + +comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5What about the
x86_64dependency on a host compiler >= 4.5 ?In the manual, it is said that one should not add a comment about a dependency on the host toolchain...
I *think* Thomas didn't mean to say "host compiler". I think he meant:
Shouldn't this be:
depends on BR2_i386 || BR2_x86_64 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Regards,
Arnout
[snip]
Signature · 6 lines
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
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Arnout, All,
On 2017-07-10 21:56 +0200, Arnout Vandecappelle spake thusly:
Quoted 20 lines · Yann E. MORIN
Quoted 19 lines
Thomas, All,
On 2017-07-10 18:09 +0200, Thomas Petazzoni spake thusly:
Quoted 6 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in
Quoted 5 lines
package/kvm-unit-tests/Config.in +0
-0[--SNIP--]
Quoted 9 lines
package/kvm-unit-tests/Config.in config BR2_PACKAGE_KVM_UNIT_TESTS · line 38
Quoted 8 lines
package/kvm-unit-tests/Config.in +4
-0@@ -28,3 +32,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS features are submitted with accompanying unit tests. http://www.linux-kvm.org/page/KVM-unit-tests + +comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5What about the
x86_64dependency on a host compiler >= 4.5 ?
Quoted 8 lines
Quoted 2 lines
In the manual, it is said that one should not add a comment about a dependency on the host toolchain...
I *think* Thomas didn't mean to say "host compiler". I think he meant:
Shouldn't this be:
depends on BR2_i386 || BR2_x86_64 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
No, because for x86_64 we are using the host compiler. See the .mk file:
# For all architectures but x86-64, we use the target
# compiler. However, for x86-64, we use the host compiler, as # kvm-unit-tests builds 32 bit code, which Buildroot toolchains for # x86-64 cannot do.
ifneq ($(BR2_x86_64),y)
KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)" endif
So for x86_64 there is no dependency to add on the target compiler at all.
Regards,
Yann E. MORIN.
Quoted 13 lines
Regards,
Arnout[snip]
Signature · 6 lines
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
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Quoted 42 lines · Yann E. MORIN
Arnout, All,
On 2017-07-10 21:56 +0200, Arnout Vandecappelle spake thusly:
Quoted 20 lines · Yann E. MORIN
Quoted 19 lines
Thomas, All,
On 2017-07-10 18:09 +0200, Thomas Petazzoni spake thusly:
Quoted 6 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in
Quoted 5 lines
package/kvm-unit-tests/Config.in +0
-0[--SNIP--]
Quoted 9 lines
package/kvm-unit-tests/Config.in config BR2_PACKAGE_KVM_UNIT_TESTS · line 38
Quoted 8 lines
package/kvm-unit-tests/Config.in +4
-0@@ -28,3 +32,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS features are submitted with accompanying unit tests. http://www.linux-kvm.org/page/KVM-unit-tests + +comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5What about the
x86_64dependency on a host compiler >= 4.5 ?Quoted 8 lines
Quoted 2 lines
In the manual, it is said that one should not add a comment about a dependency on the host toolchain...
I *think* Thomas didn't mean to say "host compiler". I think he meant:
Shouldn't this be:
depends on BR2_i386 || BR2_x86_64 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5No, because for
x86_64we are using the host compiler. See the .mk file:# For all architectures but x86-64, we use the target
# compiler. However, for x86-64, we use the host compiler, as # kvm-unit-tests builds 32 bit code, which Buildroot toolchains for # x86-64 cannot do.
ifneq ($(BR2_x86_64),y)
KVM_UNIT_TESTS_CONF_OPTS+= --cross-prefix="$(TARGET_CROSS)" endif
Quoted 2 lines
So for
x86_64there is no dependency to add on the target compiler at all.
D'oh, I missed that subtlety, thanks for the explanation.
Regards,
Arnout
Signature · 6 lines
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
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Arnout, All,
On 2017-07-10 22:12 +0200, Arnout Vandecappelle spake thusly:
Quoted 28 lines · Yann E. MORIN
Quoted 27 lines
On 2017-07-10 21:56 +0200, Arnout Vandecappelle spake thusly:
Quoted 7 lines · Yann E. MORIN
Quoted 6 lines
On 2017-07-10 18:09 +0200, Thomas Petazzoni spake thusly:
Quoted 5 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in config BR2_PACKAGE_KVM_UNIT_TESTS · line 38
Quoted 3 lines
package/kvm-unit-tests/Config.in +3
-0+comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5" + depends on BR2_i386 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5What about the
x86_64dependency on a host compiler >= 4.5 ?Quoted 8 lines
Quoted 2 lines
In the manual, it is said that one should not add a comment about a dependency on the host toolchain...
I *think* Thomas didn't mean to say "host compiler". I think he meant:
Shouldn't this be:
depends on BR2_i386 || BR2_x86_64 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5No, because for
x86_64we are using the host compiler. See the .mk file:# For all architectures but x86-64, we use the target
# compiler. However, for x86-64, we use the host compiler, as # kvm-unit-tests builds 32 bit code, which Buildroot toolchains for # x86-64 cannot do.
ifneq ($(BR2_x86_64),y)
KVM_UNIT_TESTS_CONF_OPTS+= --cross-prefix="$(TARGET_CROSS)" endif
Quoted 4 lines
Quoted 2 lines
So for
x86_64there is no dependency to add on the target compiler at all.D'oh, I missed that subtlety, thanks for the explanation.
Yep, no problem. I got bitten by it as well, that's why I "fixed" it (and I should have improved the commit log a bit more, it seems ;-) ).
Thanks for the reviews! :-)
Regards,
Yann E. MORIN.
Quoted 10 lines
Regards,
ArnoutSignature · 6 lines
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
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
In reply to Yann E. MORINHello,
Quoted 4 lines · Yann E. MORIN
Quoted 1 line
What about the
x86_64dependency on a host compiler >= 4.5 ?In the manual, it is said that one should not add a comment about a dependency on the host toolchain...
The manual says one thing, reality says another:
package/collectd/Config.in:comment "write_prometheus needs a toolchain w/ C++, host gcc >= 4.5"
package/cppcms/Config.in:comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8"
package/icu/Config.in:comment "icu needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8"
package/kodi/Config.in:comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, locale, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6" package/mfgtools/Config.in.host:comment "mfgtools needs host gcc >= 4.8"
package/midori/Config.in:comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9, host gcc >= 4.8" package/php/Config.ext:comment "intl support needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8" package/protobuf-c/Config.in:comment "protobuf-c needs a toolchain w/ C++, threads, host gcc >= 4.5" package/python-mwscrape2slob/Config.in:comment "python-mwscrape2slob needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8" package/python-pyicu/Config.in:comment "python-pyicu needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8" package/python-slob/Config.in:comment "python-slob needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8"
package/qt5/qt5base/Config.in:comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8"
package/qt5/qt5webkit/Config.in:comment "qt5webkit needs a toolchain w/ dynamic library, gcc >= 4.8, host gcc >= 4.8" package/riemann-c-client/Config.in:comment "riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 4.5" package/webkitgtk/Config.in:comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9, host gcc >= 4.8"
I'm not sure why we would not add Config.in comment for dependencies on the host toolchain. What's the reasoning for *not* adding such dependencies ?
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Thomas, All,
On 2017-07-10 23:47 +0200, Thomas Petazzoni spake thusly:
Quoted 23 lines · Yann E. MORIN
Quoted 3 lines
Quoted 1 line
What about the
x86_64dependency on a host compiler >= 4.5 ?In the manual, it is said that one should not add a comment about a dependency on the host toolchain...
The manual says one thing, reality says another:
package/collectd/Config.in:comment "
write_prometheusneeds a toolchain w/ C++, host gcc >= 4.5"
package/cppcms/Config.in:comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8"
package/icu/Config.in:comment "icu needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8"
package/kodi/Config.in:comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, locale, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6" package/mfgtools/Config.in.host:comment "mfgtools needs host gcc >= 4.8"
package/midori/Config.in:comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9, host gcc >= 4.8" package/php/Config.ext:comment "intl support needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8" package/protobuf-c/Config.in:comment "protobuf-c needs a toolchain w/ C++, threads, host gcc >= 4.5" package/python-mwscrape2slob/Config.in:comment "python-mwscrape2slob needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8" package/python-pyicu/Config.in:comment "python-pyicu needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8" package/python-slob/Config.in:comment "python-slob needs a toolchain w/ C++, gcc >= 4.8, host gcc >= 4.8"
package/qt5/qt5base/Config.in:comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8"
package/qt5/qt5webkit/Config.in:comment "qt5webkit needs a toolchain w/ dynamic library, gcc >= 4.8, host gcc >= 4.8" package/riemann-c-client/Config.in:comment "riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 4.5" package/webkitgtk/Config.in:comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9, host gcc >= 4.8"
Quoted 3 lines
I'm not sure why we would not add Config.in comment for dependencies on the host toolchain. What's the reasoning for *not* adding such dependencies ?
Because there is not much a user can do about the toolchain on host host machine?
As much as it is "possible" to change the version for the cross-gcc, the native compiler is often not replaceable. This is most probably the case on enterprise-grade servers, where users are not root (and are stuck with a precambrian host compiler)...
I wrote the comment, checked the manual for the template, then removed the comment. Oh well, here it is again, then:
comment "kvm-unit-tests needs a host gcc >= 4.5"
depends on BR2_x86_64
depends on !BR2_HOST_GCC_AT_LEAST_4_5Hehe! ;-)
Regards,
Yann E. MORIN.
Quoted 7 lines
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Quoted 4 lines · Yann E. MORIN
As much as it is "possible" to change the version for the cross-gcc, the native compiler is often not replaceable. This is most probably the case on enterprise-grade servers, where users are not root (and are stuck with a precambrian host compiler)...
Building a native compiler from source is annoying, but not impossible. Libc is
a different story, but a compiler is feasible. In addition, many users can indeed install a decent compiler either from the distro or from a PPA, so really it does make sense to have such a comment.
What you *really* can't change is your target architecture and its features.
Regards,
Arnout
Signature · 6 lines
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
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
In reply to Yann E. MORINHello,
package/kvm-unit-tests/Config.in line 16
Quoted 2 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in +2
-0+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 if BR2_i386 + depends on BR2_HOST_GCC_AT_LEAST_4_5 if BR2_x86_64
Did you actually test this? "make menuconfig" complains:
thomas at windsurf:~/projets/buildroot (master)$ make menuconfig package/kvm-unit-tests/Config.in:16: syntax error package/kvm-unit-tests/Config.in:15: invalid option package/kvm-unit-tests/Config.in:17: syntax error package/kvm-unit-tests/Config.in:16: invalid option Makefile:876: recipe for target 'menuconfig' failed
So I've replaced them with the more usual:
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386
+ depends on BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_x86_64
I've also re-add the Config.in comment about the host gcc >= 4.5 dependency.
Applied with those changes. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v3 2/4 package/kvm-unit-tests: introduce _ARCH_SUPPORTS
Thomas, All,
On 2017-07-22 23:28 +0200, Thomas Petazzoni spake thusly:
Quoted 6 lines · Yann E. MORIN
package/kvm-unit-tests/Config.in line 16
Quoted 2 lines
package/kvm-unit-tests/Config.in +2
-0+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 if BR2_i386 + depends on BR2_HOST_GCC_AT_LEAST_4_5 if BR2_x86_64Did you actually test this? "make menuconfig" complains:
Quoted 6 lines
thomas at windsurf:~/projets/buildroot (master)$ make menuconfig package/kvm-unit-tests/Config.in:16: syntax error package/kvm-unit-tests/Config.in:15: invalid option package/kvm-unit-tests/Config.in:17: syntax error package/kvm-unit-tests/Config.in:16: invalid option Makefile:876: recipe for target 'menuconfig' failed
I am really surprised, because I am sure I did test it, yes. But apparently, I did not.
I have no idea about what hapenned... :-/
Quoted 9 lines
So I've replaced them with the more usual:
(quoted diff) +2
-0+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386 + depends on BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_x86_64I've also re-add the Config.in comment about the host gcc >= 4.5 dependency.
Applied with those changes. Thanks!
Thanks!
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 3/4 arch/arm: add big.LITTLE cpu variants
In reply to Yann E. MORINThe 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.
Note: the various combos were added in various gcc versions, but only really worked in later versions:
Variant | Introduced in | First built in
----------+---------------+----------------
a15-a7 | 4.9 | 4.9
a17-a7 | 5 | 5
a57-a53 | 4.9 | 6
a72-a53 | 5 | 6---
Changes v1 -> v2:
- remove superfluous parentheses (Baruch)
--- arch/Config.in.arm | 38 ++++++++++++++++++++++ package/gcc/Config.in.host | 5 ++- .../Config.in | 2 ++ .../toolchain-external-codesourcery-arm/Config.in | 4 +++ 4 files changed, 48 insertions(+), 1 deletion(-)
arch/Config.in.arm +38 -0
@@ -182,6 +182,15 @@ config BR2_cortex_a15 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL depends on !BR2_ARCH_IS_64 +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 + depends on !BR2_ARCH_IS_64 config BR2_cortex_a17 bool "cortex-A17" select BR2_ARM_CPU_HAS_ARM
@@ -191,6 +200,15 @@ config BR2_cortex_a17 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL depends on !BR2_ARCH_IS_64 +config BR2_cortex_a17_a7 + bool "cortex-A17/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 + depends on !BR2_ARCH_IS_64 config BR2_cortex_a53 bool "cortex-A53" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
@@ -207,6 +225,14 @@ config BR2_cortex_a57 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8 select BR2_ARCH_HAS_MMU_OPTIONAL +config BR2_cortex_a57_a53 + bool "cortex-A57/A53 big.LITTLE" + 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_ARMV8 + select BR2_ARCH_HAS_MMU_OPTIONAL config BR2_cortex_a72 bool "cortex-A72" select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
@@ -215,6 +241,14 @@ config BR2_cortex_a72 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8 select BR2_ARCH_HAS_MMU_OPTIONAL +config BR2_cortex_a72_a53 + bool "cortex-A72/A53 big.LITTLE" + 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_ARMV8 + select BR2_ARCH_HAS_MMU_OPTIONAL config BR2_cortex_m3 bool "cortex-M3" select BR2_ARM_CPU_HAS_THUMB2
@@ -526,7 +560,9 @@ config BR2_GCC_TARGET_CPU default "cortex-a9" if BR2_cortex_a9 default "cortex-a12" if BR2_cortex_a12 default "cortex-a15" if BR2_cortex_a15 + default "cortex-a15.cortex-a7" if BR2_cortex_a15_a7 default "cortex-a17" if BR2_cortex_a17 + default "cortex-a17.cortex-a7" if BR2_cortex_a17_a7 default "cortex-m3" if BR2_cortex_m3 default "cortex-m4" if BR2_cortex_m4 default "fa526" if BR2_fa526
@@ -536,7 +572,9 @@ config BR2_GCC_TARGET_CPU default "iwmmxt" if BR2_iwmmxt default "cortex-a53" if BR2_cortex_a53 default "cortex-a57" if BR2_cortex_a57 + default "cortex-a57.cortex-a53" if BR2_cortex_a57_a53 default "cortex-a72" if BR2_cortex_a72 + default "cortex-a72.cortex-a53" if BR2_cortex_a72_a53 config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb
package/gcc/Config.in.host +4 -1
@@ -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 # musl ppc64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) # Unsupported MIPS cores
toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in +2 -0
@@ -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 + depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC
toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in +4 -0
@@ -1,6 +1,10 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM bool "Sourcery CodeBench ARM 2014.05" depends on BR2_arm + # a15/a7 appeared in gcc-4.9, a17/a7 in gcc-5, a57/a53 and a72/a53 + # in gcc-6, or they each were broken earlier than that. + depends on !BR2_cortex_a15_a7 && !BR2_cortex_a17_a7 + depends on !BR2_cortex_a57_53 && !BR2_cortex_a72_53 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABI # Unsupported ARM cores
Signature · 1 line
2.11.0
Thomas Petazzoni
AppliedPATCH v3 3/4 arch/arm: add big.LITTLE cpu variants
Hello,
Quoted 23 lines · Yann E. MORIN
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.
Note: the various combos were added in various gcc versions, but only really worked in later versions:
Variant | Introduced in | First built in ----------+---------------+---------------- a15-a7 | 4.9 | 4.9 a17-a7 | 5 | 5 a57-a53 | 4.9 | 6 a72-a53 | 5 | 6Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Thomas De Schampheleire <[email protected]>Cc Baruch Siach <[email protected]>---
Changes v1 -> v2:
- remove superfluous parentheses (Baruch)
Quoted 6 lines
--- arch/Config.in.arm | 38 ++++++++++++++++++++++ package/gcc/Config.in.host | 5 ++- .../Config.in | 2 ++ .../toolchain-external-codesourcery-arm/Config.in | 4 +++ 4 files changed, 48 insertions(+), 1 deletion(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 4/4 package/kvm-unit-test: available for big.LITTLE arm cores too
In reply to Yann E. MORINSince it supports each variants individually, it should also supports the big.LITTLE configurations.
--- package/kvm-unit-tests/Config.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
package/kvm-unit-tests/Config.in +2 -1
@@ -2,7 +2,8 @@ config BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS bool # On ARM, it uses virtualization extensions default y if BR2_cortex_a7 || BR2_cortex_a12 || \ - BR2_cortex_a15 || BR2_cortex_a17 + BR2_cortex_a15 || BR2_cortex_a15_a7 \ + BR2_cortex_a17 || BR2_cortex_a17_a7 default y if BR2_i386 || BR2_x86_64 default y if BR2_powerpc64 || BR2_powerpc64le
Signature · 1 line
2.11.0
Thomas Petazzoni
AppliedPATCH v3 4/4 package/kvm-unit-test: available for big.LITTLE arm cores too
Hello,
Quoted 9 lines · Yann E. MORIN
Since it supports each variants individually, it should also supports the big.LITTLE configurations.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Cyril Bur <[email protected]>Cc Thomas Petazzoni <[email protected]>--- package/kvm-unit-tests/Config.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 4/4 package/kvm-unit-test: available for big.LITTLE arm cores too
Thomas, All,
On 2017-07-22 23:29 +0200, Thomas Petazzoni spake thusly:
Quoted 12 lines · Yann E. MORIN
Quoted 9 lines
Since it supports each variants individually, it should also supports the big.LITTLE configurations.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Cyril Bur <[email protected]>Cc Thomas Petazzoni <[email protected]>--- package/kvm-unit-tests/Config.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)Applied to master, thanks.
Alas, this is also causing kconfig issues:
package/kvm-unit-tests/Config.in:5: syntax error package/kvm-unit-tests/Config.in:4: invalid option
I've sent a fix:
https://patchwork.ozlabs.org/patch/792481/
Sorry about that. There realyl is something that I miossed in that series... :-/
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'