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

Andre McCurdy armccurdy at gmail.com
Mon Mar 6 23:06:09 UTC 2017


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. 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?

Well, google does find a few examples, so to avoid any possible risk
of somehow trying to use Thumb-1 I'll send a v2 which drops the 't'
for ARMv6.

> (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



More information about the Openembedded-core mailing list