[OE-core] [PATCH] conf/machine/include: enable hardfloat by default for ARMv6 and above

Andre McCurdy armccurdy at gmail.com
Thu Mar 9 20:09:51 UTC 2017


On Thu, Mar 9, 2017 at 12:18 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> Shouldn't we change default ARM_INSTRUCTION_SET while we're at it as well?

Yes, that's the longer term goal. It needs to be done a little
carefully though - ie in a way which doesn't ever enable Thumb by
default for cores which only support Thumb1.

> https://bugzilla.yoctoproject.org/show_bug.cgi?id=9213
>
> On Tue, Mar 7, 2017 at 12:35 AM, Khem Raj <raj.khem at gmail.com> wrote:
>>
>>
>> On Mon, Mar 6, 2017 at 2:51 PM Andre McCurdy <armccurdy at gmail.com> wrote:
>>>
>>> On Mon, Mar 6, 2017 at 2:37 PM, Khem Raj <raj.khem at gmail.com> wrote:
>>> > On Mon, Mar 6, 2017 at 1:47 PM, Andre McCurdy <armccurdy at gmail.com>
>>> > wrote:
>>> >> Defaulting to softfp probably isn't the best choice anymore,
>>> >> especially as there are now ARM BSP layers which leave DEFAULTTUNE
>>> >> entirely up to the distro:
>>> >>
>>> >>
>>> >> https://lists.yoctoproject.org/pipermail/yocto/2017-February/034637.html
>>> >>
>>> >
>>> > I like this patch and want to clarify that it changes the default ISA
>>> > to thumb2
>>> > which we should use anyway due to size reasons and other distros use it
>>> > as
>>> > default too.
>>>
>>> No, it doesn't.
>>
>>
>> That's right I wanted to say to make that default while you are at it
>>
>>> The choice between ARM and Thumb(2) is made by the
>>> ARM_INSTRUCTION_SET variable. Adding 't' to DEFAULTTUNE simply means
>>> that the ARM_INSTRUCTION_SET variable will not be ignored (it's really
>>> a long standing bug that we ever defined DEFAULTTUNE options for ARMv6
>>> and above which ignore ARM_INSTRUCTION_SET, but that's a separate
>>> topic).
>>>
>>> > I am not sure of we should change it for armv6 though. since some armv6
>>> > has t1 and some has t2 so lets leave that as it is.
>>>
>>> I'm not aware of any ARMv6 cores which don't support Thumb2. Do you
>>> have a reference?
>>>
>>> (But again, to be clear, this commit doesn't change the default in
>>> terms of instruction set - all builds will still use ARM).
>>>
>>> >> Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>>> >> ---
>>> >>  meta/conf/machine/include/arm/arch-armv6.inc   | 2 +-
>>> >>  meta/conf/machine/include/arm/arch-armv7a.inc  | 2 +-
>>> >>  meta/conf/machine/include/arm/arch-armv7ve.inc | 2 +-
>>> >>  meta/conf/machine/include/tune-arm1136jf-s.inc | 2 +-
>>> >>  meta/conf/machine/include/tune-cortexa15.inc   | 2 +-
>>> >>  meta/conf/machine/include/tune-cortexa17.inc   | 2 +-
>>> >>  meta/conf/machine/include/tune-cortexa5.inc    | 2 +-
>>> >>  meta/conf/machine/include/tune-cortexa7.inc    | 2 +-
>>> >>  meta/conf/machine/include/tune-cortexa8.inc    | 2 +-
>>> >>  meta/conf/machine/include/tune-cortexa9.inc    | 2 +-
>>> >>  10 files changed, 10 insertions(+), 10 deletions(-)
>>> >>
>>> >> diff --git a/meta/conf/machine/include/arm/arch-armv6.inc
>>> >> b/meta/conf/machine/include/arm/arch-armv6.inc
>>> >> index 91f0f07..5e1f973 100644
>>> >> --- a/meta/conf/machine/include/arm/arch-armv6.inc
>>> >> +++ b/meta/conf/machine/include/arm/arch-armv6.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv6"
>>> >> +DEFAULTTUNE ?= "armv6thf"
>>> >>
>>> >>  TUNEVALID[armv6] = "Enable instructions for ARMv6"
>>> >>  TUNECONFLICTS[armv6] = "armv4 armv5"
>>> >> diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc
>>> >> b/meta/conf/machine/include/arm/arch-armv7a.inc
>>> >> index 5446048..bad1c27 100644
>>> >> --- a/meta/conf/machine/include/arm/arch-armv7a.inc
>>> >> +++ b/meta/conf/machine/include/arm/arch-armv7a.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7a"
>>> >> +DEFAULTTUNE ?= "armv7athf"
>>> >>
>>> >>  TUNEVALID[armv7a] = "Enable instructions for ARMv7-a"
>>> >>  TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7"
>>> >> diff --git a/meta/conf/machine/include/arm/arch-armv7ve.inc
>>> >> b/meta/conf/machine/include/arm/arch-armv7ve.inc
>>> >> index 42d8d04..4d9260f 100644
>>> >> --- a/meta/conf/machine/include/arm/arch-armv7ve.inc
>>> >> +++ b/meta/conf/machine/include/arm/arch-armv7ve.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7ve"
>>> >> +DEFAULTTUNE ?= "armv7vethf"
>>> >>
>>> >>  TUNEVALID[armv7ve] = "Enable instructions for ARMv7ve"
>>> >>  TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a"
>>> >> diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc
>>> >> b/meta/conf/machine/include/tune-arm1136jf-s.inc
>>> >> index 53994ef..2cadbee 100644
>>> >> --- a/meta/conf/machine/include/tune-arm1136jf-s.inc
>>> >> +++ b/meta/conf/machine/include/tune-arm1136jf-s.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv6"
>>> >> +DEFAULTTUNE ?= "armv6thf"
>>> >>
>>> >>  require conf/machine/include/arm/arch-armv6.inc
>>> >>
>>> >> diff --git a/meta/conf/machine/include/tune-cortexa15.inc
>>> >> b/meta/conf/machine/include/tune-cortexa15.inc
>>> >> index 03de602..25e99f9 100644
>>> >> --- a/meta/conf/machine/include/tune-cortexa15.inc
>>> >> +++ b/meta/conf/machine/include/tune-cortexa15.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7ve-neon"
>>> >> +DEFAULTTUNE ?= "armv7vethf-neon"
>>> >>
>>> >>  require conf/machine/include/arm/arch-armv7ve.inc
>>> >>
>>> >> diff --git a/meta/conf/machine/include/tune-cortexa17.inc
>>> >> b/meta/conf/machine/include/tune-cortexa17.inc
>>> >> index f659a62..40392f9 100644
>>> >> --- a/meta/conf/machine/include/tune-cortexa17.inc
>>> >> +++ b/meta/conf/machine/include/tune-cortexa17.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7ve-neon"
>>> >> +DEFAULTTUNE ?= "armv7vethf-neon"
>>> >>
>>> >>  require conf/machine/include/arm/arch-armv7ve.inc
>>> >>
>>> >> diff --git a/meta/conf/machine/include/tune-cortexa5.inc
>>> >> b/meta/conf/machine/include/tune-cortexa5.inc
>>> >> index 93f9ca4..1f0cda6 100644
>>> >> --- a/meta/conf/machine/include/tune-cortexa5.inc
>>> >> +++ b/meta/conf/machine/include/tune-cortexa5.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7a-neon"
>>> >> +DEFAULTTUNE ?= "armv7athf-neon"
>>> >>
>>> >>  require conf/machine/include/arm/arch-armv7a.inc
>>> >>
>>> >> diff --git a/meta/conf/machine/include/tune-cortexa7.inc
>>> >> b/meta/conf/machine/include/tune-cortexa7.inc
>>> >> index 52e06b8..52415d9 100644
>>> >> --- a/meta/conf/machine/include/tune-cortexa7.inc
>>> >> +++ b/meta/conf/machine/include/tune-cortexa7.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7ve-neon"
>>> >> +DEFAULTTUNE ?= "armv7vethf-neon"
>>> >>
>>> >>  require conf/machine/include/arm/arch-armv7ve.inc
>>> >>
>>> >> diff --git a/meta/conf/machine/include/tune-cortexa8.inc
>>> >> b/meta/conf/machine/include/tune-cortexa8.inc
>>> >> index a831bd5..8ee8de9 100644
>>> >> --- a/meta/conf/machine/include/tune-cortexa8.inc
>>> >> +++ b/meta/conf/machine/include/tune-cortexa8.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7a-neon"
>>> >> +DEFAULTTUNE ?= "armv7athf-neon"
>>> >>
>>> >>  require conf/machine/include/arm/arch-armv7a.inc
>>> >>
>>> >> diff --git a/meta/conf/machine/include/tune-cortexa9.inc
>>> >> b/meta/conf/machine/include/tune-cortexa9.inc
>>> >> index 8b84e60..0cf323c 100644
>>> >> --- a/meta/conf/machine/include/tune-cortexa9.inc
>>> >> +++ b/meta/conf/machine/include/tune-cortexa9.inc
>>> >> @@ -1,4 +1,4 @@
>>> >> -DEFAULTTUNE ?= "armv7a-neon"
>>> >> +DEFAULTTUNE ?= "armv7athf-neon"
>>> >>
>>> >>  require conf/machine/include/arm/arch-armv7a.inc
>>> >>
>>> >> --
>>> >> 1.9.1
>>> >>
>>> >> --
>>> >> _______________________________________________
>>> >> Openembedded-core mailing list
>>> >> Openembedded-core at lists.openembedded.org
>>> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>



More information about the Openembedded-core mailing list