From: Khem Raj <raj.khem@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/3] Add ARM tune file overhaul based largely on work from Mark Hatle
Date: Thu, 28 Jul 2011 23:20:37 -0700 [thread overview]
Message-ID: <4E325135.8080504@gmail.com> (raw)
In-Reply-To: <4E30256F.7060503@windriver.com>
On 07/27/2011 07:49 AM, Mark Hatle wrote:
> On 7/27/11 9:33 AM, Koen Kooi wrote:
>>
>> Op 27 jul. 2011, om 16:27 heeft Mark Hatle het volgende geschreven:
>>
>>> On 7/27/11 8:33 AM, Richard Purdie wrote:
>>>> On Wed, 2011-07-27 at 13:17 +0100, Phil Blundell wrote:
>>>>> On Tue, 2011-07-26 at 13:44 +0100, Richard Purdie wrote:
>>>>>> +TARGET_FPU = "${@d.getVar('ARMPKGSFX_FPU', True).strip('-') or 'soft'}"
>>>>>
>>>>> This seems a bit backwards. Shouldn't TARGET_FPU be the primary
>>>>> variable and then the package suffix be computed from that, rather than
>>>>> vice versa?
>>>>
>>>> It's been "fun" to use the rather limited constructs we have in these
>>>> variables to construct the end result. I suspect this way around, it was
>>>> the easiest way to get the right variables in the right places.
>>>>
>>>>>> +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv4", "thumb" ], "t", "", d)}"
>>>>>> +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "thumb" ], "t", "", d)}"
>>>>>> +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv6", "thumb" ], "t2", "", d)}"
>>>>>> +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv7", "thumb" ], "t2", "", d)}"
>>>>>
>>>>> This is wrong: ARMv6 doesn't imply Thumb-2.
>>>>
>>>> Ah, yes. I'll fix this.
>>>
>>> Are you sure? I thought ARMv6 -was- the first to support Thumb-2. And armv5/4
>>> were thumb(1). Note, not all ARMv6 processors contain thumb support.
>>
>> As I understand it:
>>
>> arm1136 doesn't have t2
>> arm1176 does have t2
>>
>> both are armv6 :)
>
> They also don't have "thumb" support either. So armv6& thumb == t2.
>
>>>
>>>>>> +# Whether to compile with code to allow interworking between the two
>>>>>> +# instruction sets. This allows thumb code to be executed on a primarily
>>>>>> +# arm system and vice versa. It is strongly recommended that DISTROs not
>>>>>> +# turn this off - the actual cost is very small.
>>>>>> +TUNEVALID[no-thumb-interwork] = "Disable mixing of thumb and ARM functions"
>>>>>> +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", "-mthumb-interwork", d)}"
>>>>>> +OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", ":thumb-interwork", "", d)}"
>>>>>
>>>>> This is only relevant for v4t, I guess. Interworking is basically
>>>>> always on for v5 and later and (CeSI aside) it's impossible on v4, so
>>>>> hardly anybody is going to be flipping this switch. I'm not sure it
>>>>> really merits an OVERRIDE.
>>>>
>>>> I'd be happy to remove this option if there are no objections. It was
>>>> left for compatibility with the existing tune-thumb file but as you say,
>>>> it likely doesn't make much sense.
>>>>
>>>>>> --- a/meta/conf/machine/include/tune-xscale.inc
>>>>>> +++ b/meta/conf/machine/include/tune-xscale.inc
>>>>>> @@ -1,11 +1,17 @@
>>>>>> -require conf/machine/include/arm/arch-arm.inc
>>>>>> +DEFAULTTUNE ?= "xscale"
>>>>>>
>>>>>> -INHERIT += "siteinfo"
>>>>>> +require conf/machine/include/arm/arch-armv5-dsp.inc
>>>>>>
>>>>>> -TUNE_CCARGS = "-march=armv5te -mtune=xscale"
>>>>>> -TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
>>>>>> -TUNE_PKGARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
>>>>>> -PACKAGE_EXTRA_ARCHS = "${@['armeb armv4b armv4tb armv5teb', 'arm armv4 armv4t armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
>>>>>> +TUNEVALID[xscale] = "Enable PXA255/PXA26x Xscale specific processor optimizations"
>>>>>> +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "xscale", "-mtune=xscale", "", d)}"
>>>>>> +
>>>>>> +AVAILTUNES += "xscale"
>>>>>> +TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale"
>>>>>> +PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}"
>>>>>> +
>>>>>> +AVAILTUNES += "xscale-be"
>>>>>> +TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5teb} xscale"
>>>>>> +PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb}"
>>>>>
>>>>> I guess that should be "_tune-xscale-be".
>>>>
>>>> Yes, I'll fix, well spotted.
>>>
>>> In the original work I did it was just tune-xscale (no be). AFAIK there is no
>>> little endian version of xscale. (there was an iwmmxt that was similar to
>>> xscale, but was slightly different.)
>>
>> pxa25x are LE xscales (e.g. Palm Treo)
>> pxa26x are LE xscales with some NAND builtin
>> pxa27x are LE xscales with iwmmxt as an extra
>
> All thought all of those were considered to me iwmmxt cores. The whole PXA
> series naming is very confusing to say the least.
>
arm cores support both endians equally well. Its the usecases we have on
OE are little endian.
next prev parent reply other threads:[~2011-07-29 6:24 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1311683981.git.richard.purdie@linuxfoundation.org>
2011-07-26 12:44 ` [PATCH 1/3] Add ARM tune file overhaul based largely on work from Mark Hatle Richard Purdie
2011-07-26 12:46 ` Koen Kooi
2011-07-27 12:17 ` Phil Blundell
2011-07-27 13:33 ` Richard Purdie
2011-07-27 14:27 ` Mark Hatle
2011-07-27 14:33 ` Koen Kooi
2011-07-27 14:49 ` Mark Hatle
2011-07-27 14:57 ` Phil Blundell
2011-07-27 15:01 ` Koen Kooi
2011-07-27 15:08 ` Phil Blundell
2011-07-27 15:13 ` Koen Kooi
2011-07-27 15:17 ` Phil Blundell
2011-07-29 6:31 ` Khem Raj
2011-07-29 6:20 ` Khem Raj [this message]
2011-07-27 14:34 ` Richard Purdie
2011-07-27 14:44 ` Phil Blundell
2011-07-27 14:55 ` Mark Hatle
2011-07-29 6:18 ` Khem Raj
2011-07-29 7:15 ` Phil Blundell
2011-07-29 6:08 ` Khem Raj
2011-07-29 6:47 ` Phil Blundell
2011-07-29 6:51 ` Khem Raj
2011-07-27 14:34 ` Phil Blundell
2011-07-27 14:58 ` Mark Hatle
2011-07-27 15:25 ` Phil Blundell
2011-07-27 15:29 ` Richard Purdie
2011-07-27 15:49 ` Phil Blundell
2011-07-27 17:19 ` Mark Hatle
2011-07-27 19:31 ` Phil Blundell
2011-07-27 20:48 ` Mark Hatle
2011-07-27 21:16 ` Phil Blundell
2011-07-28 0:43 ` Khem Raj
2011-07-28 7:24 ` Martin Jansa
2011-07-28 8:54 ` Phil Blundell
2011-07-28 18:17 ` Martin Jansa
2011-07-29 6:41 ` Khem Raj
2011-07-29 6:38 ` Khem Raj
2011-07-29 7:13 ` Phil Blundell
2011-07-29 6:27 ` Khem Raj
2011-07-27 17:31 ` do_rootfs broken, was: " Koen Kooi
2011-07-27 18:19 ` Koen Kooi
2011-07-28 11:39 ` Phil Blundell
2011-07-29 5:59 ` Khem Raj
2011-07-29 7:25 ` Phil Blundell
2011-07-29 8:22 ` Koen Kooi
2011-07-26 12:44 ` [PATCH 2/3] Add basic Mips core tune config Richard Purdie
2011-07-26 14:41 ` Mark Hatle
2011-07-26 16:51 ` Richard Purdie
2011-07-26 17:08 ` Mark Hatle
2011-07-26 19:47 ` Khem Raj
2011-08-11 11:25 ` Phil Blundell
2011-08-11 12:08 ` Richard Purdie
2011-08-11 12:29 ` Phil Blundell
2011-08-11 14:28 ` Richard Purdie
2011-08-11 14:49 ` Khem Raj
2011-08-12 14:35 ` Phil Blundell
2011-08-12 15:28 ` Khem Raj
2011-08-11 15:54 ` Mark Hatle
2011-07-26 12:44 ` [PATCH 3/3] Add basic PowerPC " Richard Purdie
2011-07-26 13:47 ` Kumar Gala
2011-07-26 13:59 ` Richard Purdie
2011-07-26 14:59 ` Mark Hatle
2011-07-26 15:22 ` Kumar Gala
2011-07-26 16:18 ` Richard Purdie
2011-07-26 21:56 ` Kumar Gala
2011-07-26 22:02 ` Kumar Gala
2011-07-26 22:29 ` Khem Raj
2011-07-26 22:52 ` Richard Purdie
2011-07-27 3:23 ` Kumar Gala
2011-07-27 8:36 ` Richard Purdie
2011-07-27 8:44 ` Koen Kooi
2011-07-27 9:30 ` Richard Purdie
2011-07-28 5:25 ` Add basic PowerPC core tune config (bug?) Kumar Gala
2011-07-28 6:09 ` Saul Wold
2011-07-28 7:48 ` Cui, Dexuan
2011-07-28 8:47 ` Paul Eggleton
2011-07-28 8:57 ` Koen Kooi
2011-07-28 9:20 ` Phil Blundell
2011-07-28 10:00 ` Koen Kooi
2011-07-28 10:03 ` Phil Blundell
2011-07-27 9:35 ` [PATCH 3/3] Add basic PowerPC core tune config Phil Blundell
2011-07-26 22:03 ` Kumar Gala
2011-07-27 8:31 ` Richard Purdie
2011-07-26 20:03 ` Khem Raj
2011-07-26 14:57 ` Mark Hatle
2011-07-26 16:36 ` Richard Purdie
2011-07-26 16:53 ` Mark Hatle
2011-07-26 17:05 ` Richard Purdie
2011-07-26 17:15 ` Mark Hatle
2011-07-26 19:21 ` Richard Purdie
2011-07-26 20:28 ` Richard Purdie
2011-07-26 20:13 ` Khem Raj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E325135.8080504@gmail.com \
--to=raj.khem@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox