* [PATCH 0/2] Cortex M3 tune fixes
@ 2014-01-11 15:08 Andrei Gherzan
2014-01-11 15:08 ` [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb Andrei Gherzan
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Andrei Gherzan @ 2014-01-11 15:08 UTC (permalink / raw)
To: openembedded-core
Andrei Gherzan (2):
feature-arm-thumb.inc: Use thumb instruction by default if
TUNE_FEATURES thumb
tune-cortexm3.inc: Cortex-M3 doesn't support ARM instructions
meta/conf/machine/include/arm/feature-arm-thumb.inc | 2 +-
meta/conf/machine/include/tune-cortexm3.inc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--
1.8.1.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb
2014-01-11 15:08 [PATCH 0/2] Cortex M3 tune fixes Andrei Gherzan
@ 2014-01-11 15:08 ` Andrei Gherzan
2014-01-11 15:10 ` Koen Kooi
2014-02-03 18:50 ` Kristof Robot
2014-01-11 15:08 ` [PATCH 2/2] tune-cortexm3.inc: Cortex-M3 doesn't support ARM instructions Andrei Gherzan
2014-01-13 18:16 ` [PATCH 0/2] Cortex M3 tune fixes Trevor Woerner
2 siblings, 2 replies; 13+ messages in thread
From: Andrei Gherzan @ 2014-01-11 15:08 UTC (permalink / raw)
To: openembedded-core
Avoid a confusion when including thumb in TUNE_FATURES. In the curent behavior,
if I include thumb in TUNE_FATURES, ARM_THUMB_M_OPT will be "-marm" which makes
no sense for me as a default behavior. Obviously I can change this by using
ARM_INSTRUCTION_SET = thumb. But this seems strange and confusing. So let's do
it the other way around: have thumb instructions as default when TUNE_FATURES
contains "thumb" and switch to "arm" instructions when ARM_INSTRUCTION_SET is
"arm".
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
meta/conf/machine/include/arm/feature-arm-thumb.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
index bd754be..259f7fe 100644
--- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
+++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
@@ -5,7 +5,7 @@
# but requires more instructions (140% for 70% smaller code) so may be
# slower.
TUNEVALID[thumb] = "Use thumb instructions instead of ARM"
-ARM_THUMB_M_OPT = "${@['-marm', '-mthumb'][d.getVar('ARM_INSTRUCTION_SET', True) == 'thumb']}"
+ARM_THUMB_M_OPT = "${@['-mthumb', '-marm'][d.getVar('ARM_INSTRUCTION_SET', True) == 'arm']}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", " ${ARM_THUMB_M_OPT}", "", d)}"
OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", d)}"
--
1.8.1.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2] tune-cortexm3.inc: Cortex-M3 doesn't support ARM instructions
2014-01-11 15:08 [PATCH 0/2] Cortex M3 tune fixes Andrei Gherzan
2014-01-11 15:08 ` [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb Andrei Gherzan
@ 2014-01-11 15:08 ` Andrei Gherzan
2014-01-13 18:16 ` [PATCH 0/2] Cortex M3 tune fixes Trevor Woerner
2 siblings, 0 replies; 13+ messages in thread
From: Andrei Gherzan @ 2014-01-11 15:08 UTC (permalink / raw)
To: openembedded-core
Use thumb instructions for Cortex-M3 to avoid this gcc error:
'error: target CPU does not support ARM mode'.
Extracted from "Cortex-M3 Technical Reference Manual":
"The processor implements the ARM v7-M architecture. This includes the entire
16-bit Thumb instruction set and the base Thumb-2 32-bit instruction set
architecture. The processor cannot execute ARM instructions."
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
meta/conf/machine/include/tune-cortexm3.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/conf/machine/include/tune-cortexm3.inc b/meta/conf/machine/include/tune-cortexm3.inc
index cbc4c0d..780baf4 100644
--- a/meta/conf/machine/include/tune-cortexm3.inc
+++ b/meta/conf/machine/include/tune-cortexm3.inc
@@ -10,5 +10,5 @@ TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv7m", " -march=armv7-m
AVAILTUNES += "cortexm3"
ARMPKGARCH_tune-cortexm3 = "armv7m"
-TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3"
+TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3 thumb"
PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m-vfp"
--
1.8.1.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb
2014-01-11 15:08 ` [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb Andrei Gherzan
@ 2014-01-11 15:10 ` Koen Kooi
2014-01-11 15:16 ` Andrei Gherzan
2014-02-03 18:50 ` Kristof Robot
1 sibling, 1 reply; 13+ messages in thread
From: Koen Kooi @ 2014-01-11 15:10 UTC (permalink / raw)
To: Andrei Gherzan; +Cc: OE-core
Op 11 jan. 2014, om 16:08 heeft Andrei Gherzan <andrei@gherzan.ro> het volgende geschreven:
> Avoid a confusion when including thumb in TUNE_FATURES. In the curent behavior,
> if I include thumb in TUNE_FATURES, ARM_THUMB_M_OPT will be "-marm" which makes
> no sense for me as a default behavior. Obviously I can change this by using
> ARM_INSTRUCTION_SET = thumb. But this seems strange and confusing. So let's do
> it the other way around: have thumb instructions as default when TUNE_FATURES
> contains "thumb" and switch to "arm" instructions when ARM_INSTRUCTION_SET is
> "arm".
Since ARM_INSTRUCTION_SET is unset for most things this will change the default, are you sure that this is what you want?
regards,
Koen
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb
2014-01-11 15:10 ` Koen Kooi
@ 2014-01-11 15:16 ` Andrei Gherzan
2014-01-11 18:23 ` Koen Kooi
2014-01-11 23:19 ` Martin Jansa
0 siblings, 2 replies; 13+ messages in thread
From: Andrei Gherzan @ 2014-01-11 15:16 UTC (permalink / raw)
To: Koen Kooi; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 1040 bytes --]
On Sat, Jan 11, 2014 at 5:10 PM, Koen Kooi <koen@dominion.thruhere.net>wrote:
>
> Op 11 jan. 2014, om 16:08 heeft Andrei Gherzan <andrei@gherzan.ro> het
> volgende geschreven:
>
> > Avoid a confusion when including thumb in TUNE_FATURES. In the curent
> behavior,
> > if I include thumb in TUNE_FATURES, ARM_THUMB_M_OPT will be "-marm"
> which makes
> > no sense for me as a default behavior. Obviously I can change this by
> using
> > ARM_INSTRUCTION_SET = thumb. But this seems strange and confusing. So
> let's do
> > it the other way around: have thumb instructions as default when
> TUNE_FATURES
> > contains "thumb" and switch to "arm" instructions when
> ARM_INSTRUCTION_SET is
> > "arm".
>
> Since ARM_INSTRUCTION_SET is unset for most things this will change the
> default, are you sure that this is what you want?
>
I am aware of that but still, do you find it normal to add thumb as
TUNE_FEATURE and get your self with arm instructions flag?
And generally people adapt if changes make sense :)
ag
[-- Attachment #2: Type: text/html, Size: 1547 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb
2014-01-11 15:16 ` Andrei Gherzan
@ 2014-01-11 18:23 ` Koen Kooi
2014-01-11 23:19 ` Martin Jansa
1 sibling, 0 replies; 13+ messages in thread
From: Koen Kooi @ 2014-01-11 18:23 UTC (permalink / raw)
To: Andrei Gherzan; +Cc: OE-core
Op 11 jan. 2014, om 16:16 heeft Andrei Gherzan <andrei@gherzan.ro> het volgende geschreven:
>
>
>
> On Sat, Jan 11, 2014 at 5:10 PM, Koen Kooi <koen@dominion.thruhere.net> wrote:
>
> Op 11 jan. 2014, om 16:08 heeft Andrei Gherzan <andrei@gherzan.ro> het volgende geschreven:
>
> > Avoid a confusion when including thumb in TUNE_FATURES. In the curent behavior,
> > if I include thumb in TUNE_FATURES, ARM_THUMB_M_OPT will be "-marm" which makes
> > no sense for me as a default behavior. Obviously I can change this by using
> > ARM_INSTRUCTION_SET = thumb. But this seems strange and confusing. So let's do
> > it the other way around: have thumb instructions as default when TUNE_FATURES
> > contains "thumb" and switch to "arm" instructions when ARM_INSTRUCTION_SET is
> > "arm".
>
> Since ARM_INSTRUCTION_SET is unset for most things this will change the default, are you sure that this is what you want?
>
> I am aware of that but still, do you find it normal to add thumb as TUNE_FEATURE and get your self with arm instructions flag?
No, but I absolutely hate the ARM tune stuff in OE-core, you pretty much need anonymous python methods to change things on a distro level, which is crazy. It took me 2 weeks and a lot of help from Khem to switch angstrom to thumb2 mode on armv7a.
> And generally people adapt if changes make sense :)
What we actually need here is a way to say "this cpu can't to full ARM mode". Which is hard, since we are treating thumb as a superset instead of a subset.
regards,
Koen
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb
2014-01-11 15:16 ` Andrei Gherzan
2014-01-11 18:23 ` Koen Kooi
@ 2014-01-11 23:19 ` Martin Jansa
1 sibling, 0 replies; 13+ messages in thread
From: Martin Jansa @ 2014-01-11 23:19 UTC (permalink / raw)
To: Andrei Gherzan; +Cc: Koen Kooi, OE-core
[-- Attachment #1: Type: text/plain, Size: 1631 bytes --]
On Sat, Jan 11, 2014 at 05:16:27PM +0200, Andrei Gherzan wrote:
> On Sat, Jan 11, 2014 at 5:10 PM, Koen Kooi <koen@dominion.thruhere.net>wrote:
>
> >
> > Op 11 jan. 2014, om 16:08 heeft Andrei Gherzan <andrei@gherzan.ro> het
> > volgende geschreven:
> >
> > > Avoid a confusion when including thumb in TUNE_FATURES. In the curent
> > behavior,
> > > if I include thumb in TUNE_FATURES, ARM_THUMB_M_OPT will be "-marm"
> > which makes
> > > no sense for me as a default behavior. Obviously I can change this by
> > using
> > > ARM_INSTRUCTION_SET = thumb. But this seems strange and confusing. So
> > let's do
> > > it the other way around: have thumb instructions as default when
> > TUNE_FATURES
> > > contains "thumb" and switch to "arm" instructions when
> > ARM_INSTRUCTION_SET is
> > > "arm".
> >
> > Since ARM_INSTRUCTION_SET is unset for most things this will change the
> > default, are you sure that this is what you want?
> >
>
> I am aware of that but still, do you find it normal to add thumb as
> TUNE_FEATURE and get your self with arm instructions flag?
> And generally people adapt if changes make sense :)
With old behavior it was easier for DISTRO to have final say if it
supports thumb for MACHINEs with thumb in TUNE_FEATURES or not.
But with thumb-only MACHINE I see that this logic is going to be broken.
Should we introduce "arm" TUNE_FEATURE enabled in most MACHINEs (except
yours) and let feature-arm-thumb.inc respect that? (select "thumb" when
preferred or when there is no "arm" in TUNE_FEATUREs)?
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/2] Cortex M3 tune fixes
2014-01-11 15:08 [PATCH 0/2] Cortex M3 tune fixes Andrei Gherzan
2014-01-11 15:08 ` [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb Andrei Gherzan
2014-01-11 15:08 ` [PATCH 2/2] tune-cortexm3.inc: Cortex-M3 doesn't support ARM instructions Andrei Gherzan
@ 2014-01-13 18:16 ` Trevor Woerner
2014-01-13 18:25 ` Phil Blundell
2 siblings, 1 reply; 13+ messages in thread
From: Trevor Woerner @ 2014-01-13 18:16 UTC (permalink / raw)
To: openembedded-core
Since OE is generally used to build Linux distributions, I'm rather
curious to know why OE would include tunes for CortexM3?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/2] Cortex M3 tune fixes
2014-01-13 18:16 ` [PATCH 0/2] Cortex M3 tune fixes Trevor Woerner
@ 2014-01-13 18:25 ` Phil Blundell
2014-01-13 19:34 ` Trevor Woerner
0 siblings, 1 reply; 13+ messages in thread
From: Phil Blundell @ 2014-01-13 18:25 UTC (permalink / raw)
To: Trevor Woerner; +Cc: openembedded-core
On Mon, 2014-01-13 at 13:16 -0500, Trevor Woerner wrote:
> Since OE is generally used to build Linux distributions, I'm rather
> curious to know why OE would include tunes for CortexM3?
Well, Cortex-M can run uClinux. And "generally" != "exclusively".
p.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/2] Cortex M3 tune fixes
2014-01-13 18:25 ` Phil Blundell
@ 2014-01-13 19:34 ` Trevor Woerner
2014-01-13 19:46 ` Koen Kooi
0 siblings, 1 reply; 13+ messages in thread
From: Trevor Woerner @ 2014-01-13 19:34 UTC (permalink / raw)
To: openembedded-core
On 01/13/14 13:25, Phil Blundell wrote:
> On Mon, 2014-01-13 at 13:16 -0500, Trevor Woerner wrote:
>> Since OE is generally used to build Linux distributions, I'm rather
>> curious to know why OE would include tunes for CortexM3?
> Well, Cortex-M can run uClinux.
Is there an OE layer that adds support for building u-boot and uClinux
for Cortex-M3/4 [1]? I've been searching, and seem to be coming up empty.
If there isn't, then I'm back to my original question :-)
[1] https://github.com/EmcraftSystems
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/2] Cortex M3 tune fixes
2014-01-13 19:34 ` Trevor Woerner
@ 2014-01-13 19:46 ` Koen Kooi
0 siblings, 0 replies; 13+ messages in thread
From: Koen Kooi @ 2014-01-13 19:46 UTC (permalink / raw)
To: Trevor Woerner; +Cc: openembedded-core
Op 13 jan. 2014, om 20:34 heeft Trevor Woerner <trevor.woerner@linaro.org> het volgende geschreven:
> On 01/13/14 13:25, Phil Blundell wrote:
>> On Mon, 2014-01-13 at 13:16 -0500, Trevor Woerner wrote:
>>> Since OE is generally used to build Linux distributions, I'm rather
>>> curious to know why OE would include tunes for CortexM3?
>> Well, Cortex-M can run uClinux.
>
> Is there an OE layer that adds support for building u-boot and uClinux
> for Cortex-M3/4 [1]? I've been searching, and seem to be coming up empty.
You don't need a layer to build u-boot, it's in oe-core already.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb
2014-01-11 15:08 ` [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb Andrei Gherzan
2014-01-11 15:10 ` Koen Kooi
@ 2014-02-03 18:50 ` Kristof Robot
2014-02-03 19:06 ` Martin Jansa
1 sibling, 1 reply; 13+ messages in thread
From: Kristof Robot @ 2014-02-03 18:50 UTC (permalink / raw)
To: Andrei Gherzan; +Cc: openembedded-core
On Sat, Jan 11, 2014 at 4:08 PM, Andrei Gherzan <andrei@gherzan.ro> wrote:
> Avoid a confusion when including thumb in TUNE_FATURES. In the curent behavior,
> if I include thumb in TUNE_FATURES, ARM_THUMB_M_OPT will be "-marm" which makes
> no sense for me as a default behavior.
I agree that this is confusing, I actually fell for this - thinking I
was using thumb instructions, while apparently I was not...
Any update on this patch?
Thanks,
Kristof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb
2014-02-03 18:50 ` Kristof Robot
@ 2014-02-03 19:06 ` Martin Jansa
0 siblings, 0 replies; 13+ messages in thread
From: Martin Jansa @ 2014-02-03 19:06 UTC (permalink / raw)
To: Kristof Robot; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 798 bytes --]
On Mon, Feb 03, 2014 at 07:50:03PM +0100, Kristof Robot wrote:
> On Sat, Jan 11, 2014 at 4:08 PM, Andrei Gherzan <andrei@gherzan.ro> wrote:
> > Avoid a confusion when including thumb in TUNE_FATURES. In the curent behavior,
> > if I include thumb in TUNE_FATURES, ARM_THUMB_M_OPT will be "-marm" which makes
> > no sense for me as a default behavior.
>
> I agree that this is confusing, I actually fell for this - thinking I
> was using thumb instructions, while apparently I was not...
>
> Any update on this patch?
please test the patchset I've sent
http://lists.openembedded.org/pipermail/openembedded-core/2014-January/088665.html
it doesn't change the default, but it makes it easier to define thumb-only MACHINE
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-02-03 19:06 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-11 15:08 [PATCH 0/2] Cortex M3 tune fixes Andrei Gherzan
2014-01-11 15:08 ` [PATCH 1/2] feature-arm-thumb.inc: Use thumb instruction by default if TUNE_FEATURES thumb Andrei Gherzan
2014-01-11 15:10 ` Koen Kooi
2014-01-11 15:16 ` Andrei Gherzan
2014-01-11 18:23 ` Koen Kooi
2014-01-11 23:19 ` Martin Jansa
2014-02-03 18:50 ` Kristof Robot
2014-02-03 19:06 ` Martin Jansa
2014-01-11 15:08 ` [PATCH 2/2] tune-cortexm3.inc: Cortex-M3 doesn't support ARM instructions Andrei Gherzan
2014-01-13 18:16 ` [PATCH 0/2] Cortex M3 tune fixes Trevor Woerner
2014-01-13 18:25 ` Phil Blundell
2014-01-13 19:34 ` Trevor Woerner
2014-01-13 19:46 ` Koen Kooi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox