All of lore.kernel.org
 help / color / mirror / Atom feed
* cortexa9t2hf instead of cortexa9hf
@ 2019-06-17 12:03 Arno Steffens
  2019-06-17 12:17 ` Zoran Stojsavljevic
  2019-06-17 14:29 ` Martin Jansa
  0 siblings, 2 replies; 12+ messages in thread
From: Arno Steffens @ 2019-06-17 12:03 UTC (permalink / raw)
  To: Yocto Project

I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
Target system is a Zynq7020 system.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 12:03 cortexa9t2hf instead of cortexa9hf Arno Steffens
@ 2019-06-17 12:17 ` Zoran Stojsavljevic
  2019-06-17 13:00   ` Arno Steffens
  2019-06-17 14:29 ` Martin Jansa
  1 sibling, 1 reply; 12+ messages in thread
From: Zoran Stojsavljevic @ 2019-06-17 12:17 UTC (permalink / raw)
  To: Arno Steffens; +Cc: Yocto Project

Hello Arno,

Your question, per say, has little to do with YOCTO forum. But I'll
try (as my best) to answer your question.

Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).

Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
question is what is T2? T2 is addition to the previous architecture
Cortexa9hf, and addition is Thumb-2 mode.

Hope this helps,

Zoran
_______

On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
>
> I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> Target system is a Zynq7020 system.
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 12:17 ` Zoran Stojsavljevic
@ 2019-06-17 13:00   ` Arno Steffens
  2019-06-17 14:05     ` Zoran Stojsavljevic
  0 siblings, 1 reply; 12+ messages in thread
From: Arno Steffens @ 2019-06-17 13:00 UTC (permalink / raw)
  To: Zoran Stojsavljevic; +Cc: Yocto Project

Hello Zoran,
thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
But I want to keep all compatible to my previous tool-chain and settings.
The only file where I can found this "cortexa9t2hf" is
./meta/conf/machine/include/tune-cortexa9.inc
but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
Or have I been wrong the time before?

bitbake gives me in 2.5:

TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU           = "hard"

and in 2.7:
TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
TARGET_FPU           = "hard"

so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
Arno

>
> Hello Arno,
>
> Your question, per say, has little to do with YOCTO forum. But I'll
> try (as my best) to answer your question.
>
> Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
>
> Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> question is what is T2? T2 is addition to the previous architecture
> Cortexa9hf, and addition is Thumb-2 mode.
>
> Hope this helps,
>
> Zoran
> _______
>
> On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> >
> > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > Target system is a Zynq7020 system.
> > --
> > _______________________________________________
> > yocto mailing list
> > yocto@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 13:00   ` Arno Steffens
@ 2019-06-17 14:05     ` Zoran Stojsavljevic
  2019-06-17 17:47       ` Arno Steffens
  0 siblings, 1 reply; 12+ messages in thread
From: Zoran Stojsavljevic @ 2019-06-17 14:05 UTC (permalink / raw)
  To: Arno Steffens; +Cc: Yocto Project

Hello Arno,

Let me try to explain my point of view. Since here (my best guess) we
have some asynchronous bitbake code which went South upon introducing
T2 HW extension.

Point [1]: as far as I understand arm, cortexa9t2hf is is just a
superset of previous cortexa9hf (HW wise). NEON HW extension (NEON
media coprocessor) exists in both of them. In other words:
cortexa9t2hf = cortexa9hf HW + T2 HW extension.

Point [2]:
> bitbake gives me in 2.5:
> TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> TARGET_FPU           = "hard"
>
> and in 2.7:
> TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> TARGET_FPU           = "hard"

These two lines are the same: you are able to use 32b arm mode, 16bit
thumb mode, using armv7 HW with neon HW extension, and using HW FP
extension as well. The Cortex in both cases is A9.

I expect that somebody somewhere in bitbake version 1.42 - 100% sure
(since 2.5/Sumo uses bitbake 1.38) dropped "armv7a" as TUNE FEATURE,
and I have no idea if this is done intentionally or not.

Because of that I copied Alex and Ross to CC: into email, so they
should unveil this mystery (I would prefer "armv7" to stay in bitbake
1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).

Bottom line: nothing to be done by you, Arno, seems that bitbake 1.42
should return "armv7" as TUNE FEATURE.

Best Regards,
Zoran
_______


On Mon, Jun 17, 2019 at 3:00 PM Arno Steffens <star@gmx.li> wrote:
>
> Hello Zoran,
> thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
> But I want to keep all compatible to my previous tool-chain and settings.
> The only file where I can found this "cortexa9t2hf" is
> ./meta/conf/machine/include/tune-cortexa9.inc
> but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
> Or have I been wrong the time before?
>
> bitbake gives me in 2.5:
>
> TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> TARGET_FPU           = "hard"
>
> and in 2.7:
> TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> TARGET_FPU           = "hard"
>
> so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
> Arno
>
> >
> > Hello Arno,
> >
> > Your question, per say, has little to do with YOCTO forum. But I'll
> > try (as my best) to answer your question.
> >
> > Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
> >
> > Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> > question is what is T2? T2 is addition to the previous architecture
> > Cortexa9hf, and addition is Thumb-2 mode.
> >
> > Hope this helps,
> >
> > Zoran
> > _______
> >
> > On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> > >
> > > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > > Target system is a Zynq7020 system.
> > > --
> > > _______________________________________________
> > > yocto mailing list
> > > yocto@yoctoproject.org
> > > https://lists.yoctoproject.org/listinfo/yocto
> >


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 12:03 cortexa9t2hf instead of cortexa9hf Arno Steffens
  2019-06-17 12:17 ` Zoran Stojsavljevic
@ 2019-06-17 14:29 ` Martin Jansa
  2019-06-17 17:33   ` Zoran Stojsavljevic
  1 sibling, 1 reply; 12+ messages in thread
From: Martin Jansa @ 2019-06-17 14:29 UTC (permalink / raw)
  To: Arno Steffens; +Cc: Yocto Project

[-- Attachment #1: Type: text/plain, Size: 837 bytes --]

See this oe-core commit (from 2.6 Thud):

commit c88304a78e528596ca481cabe273749c286c352a
Author: Andre McCurdy <armccurdy@gmail.com>
Date:   Fri May 18 15:50:40 2018 -0700

    arch-armv7a.inc: default to Thumb2 instruction set for armv7a and above

which enabled Thumb2 by default, if you want to disable it as it was before
set ARM_INSTRUCTION_SET to "arm".

On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:

> I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something
> wrong or what exactly does this t2 mean?
> Target system is a Zynq7020 system.
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>

[-- Attachment #2: Type: text/html, Size: 1384 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 14:29 ` Martin Jansa
@ 2019-06-17 17:33   ` Zoran Stojsavljevic
  0 siblings, 0 replies; 12+ messages in thread
From: Zoran Stojsavljevic @ 2019-06-17 17:33 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Arno Steffens, Yocto Project

> Because of that I copied Alex and Ross to CC: into email, so they
> should unveil this mystery (I would prefer "armv7" to stay in bitbake
> 1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).

Sorry, my bad. A15 still belongs to armv7. And now I see/understand
why you removed "armv7". Well... Time Will Tell if this is a good
decision! ;-)

Zoran
_______

On Mon, Jun 17, 2019 at 4:29 PM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> See this oe-core commit (from 2.6 Thud):
>
> commit c88304a78e528596ca481cabe273749c286c352a
> Author: Andre McCurdy <armccurdy@gmail.com>
> Date:   Fri May 18 15:50:40 2018 -0700
>
>     arch-armv7a.inc: default to Thumb2 instruction set for armv7a and above
>
> which enabled Thumb2 by default, if you want to disable it as it was before set ARM_INSTRUCTION_SET to "arm".
>
> On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
>>
>> I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
>> Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
>> Target system is a Zynq7020 system.
>> --
>> _______________________________________________
>> yocto mailing list
>> yocto@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 14:05     ` Zoran Stojsavljevic
@ 2019-06-17 17:47       ` Arno Steffens
  2019-06-18 16:16         ` Khem Raj
  2019-06-18 17:13         ` Martin Jansa
  0 siblings, 2 replies; 12+ messages in thread
From: Arno Steffens @ 2019-06-17 17:47 UTC (permalink / raw)
  To: Zoran Stojsavljevic; +Cc: Yocto Project

Thanks for explaining this.
I take some time to read about thumb/thumb2. The feedback is mixed. It seems to generate more compact code, but some say it speeds up, others it slows down because of reduced function set - and it can cause strange effects.
And mixing this causes time to switch processor mode. So, as I am not an expert in this and can't decide what ist best on per function base and speed is of highest priority, I think I better should use not thumb(2).

So, do I get it right that with this cortexa9t2hf I just have the option to compile it for thumb2? But without using a dedicated compiler option it generates same "standard" arm code and the difference is just to adapt all the Makefiles for this suffix.

According to Martin I can get the previous setting by just set ARM_INSTRUCTION_SET to "arm" instead of "armv7a". Mh - I just afraid that I lose other kinds of optimisation. (I am just a user not an expert in arm architecture).
On the other hand for those like me it is better go the standard way. Once I am sure compiler results will not become worse (see above) I go for the pain and renaming my toolchain/makefiles/stuff.

Thanks for you taking the time.
Arno

> Hello Arno,
>
> Let me try to explain my point of view. Since here (my best guess) we
> have some asynchronous bitbake code which went South upon introducing
> T2 HW extension.
>
> Point [1]: as far as I understand arm, cortexa9t2hf is is just a
> superset of previous cortexa9hf (HW wise). NEON HW extension (NEON
> media coprocessor) exists in both of them. In other words:
> cortexa9t2hf = cortexa9hf HW + T2 HW extension.
>
> Point [2]:
> > bitbake gives me in 2.5:
> > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > TARGET_FPU           = "hard"
> >
> > and in 2.7:
> > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > TARGET_FPU           = "hard"
>
> These two lines are the same: you are able to use 32b arm mode, 16bit
> thumb mode, using armv7 HW with neon HW extension, and using HW FP
> extension as well. The Cortex in both cases is A9.
>
> I expect that somebody somewhere in bitbake version 1.42 - 100% sure
> (since 2.5/Sumo uses bitbake 1.38) dropped "armv7a" as TUNE FEATURE,
> and I have no idea if this is done intentionally or not.
>
> Because of that I copied Alex and Ross to CC: into email, so they
> should unveil this mystery (I would prefer "armv7" to stay in bitbake
> 1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).
>
> Bottom line: nothing to be done by you, Arno, seems that bitbake 1.42
> should return "armv7" as TUNE FEATURE.
>
> Best Regards,
> Zoran
> _______
>
>
> On Mon, Jun 17, 2019 at 3:00 PM Arno Steffens <star@gmx.li> wrote:
> >
> > Hello Zoran,
> > thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
> > But I want to keep all compatible to my previous tool-chain and settings.
> > The only file where I can found this "cortexa9t2hf" is
> > ./meta/conf/machine/include/tune-cortexa9.inc
> > but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
> > Or have I been wrong the time before?
> >
> > bitbake gives me in 2.5:
> >
> > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > TARGET_FPU           = "hard"
> >
> > and in 2.7:
> > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > TARGET_FPU           = "hard"
> >
> > so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
> > Arno
> >
> > >
> > > Hello Arno,
> > >
> > > Your question, per say, has little to do with YOCTO forum. But I'll
> > > try (as my best) to answer your question.
> > >
> > > Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
> > >
> > > Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> > > question is what is T2? T2 is addition to the previous architecture
> > > Cortexa9hf, and addition is Thumb-2 mode.
> > >
> > > Hope this helps,
> > >
> > > Zoran
> > > _______
> > >
> > > On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> > > >
> > > > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > > > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > > > Target system is a Zynq7020 system.
> > > > --
> > > > _______________________________________________
> > > > yocto mailing list
> > > > yocto@yoctoproject.org
> > > > https://lists.yoctoproject.org/listinfo/yocto
> > >
>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 17:47       ` Arno Steffens
@ 2019-06-18 16:16         ` Khem Raj
  2019-06-18 17:13         ` Martin Jansa
  1 sibling, 0 replies; 12+ messages in thread
From: Khem Raj @ 2019-06-18 16:16 UTC (permalink / raw)
  To: Arno Steffens; +Cc: Yocto Project

On Mon, Jun 17, 2019 at 10:48 AM Arno Steffens <star@gmx.li> wrote:
>
> Thanks for explaining this.
> I take some time to read about thumb/thumb2. The feedback is mixed. It seems to generate more compact code, but some say it speeds up, others it slows down because of reduced function set - and it can cause strange effects.
> And mixing this causes time to switch processor mode. So, as I am not an expert in this and can't decide what ist best on per function base and speed is of highest priority, I think I better should use not thumb(2).
>
> So, do I get it right that with this cortexa9t2hf I just have the option to compile it for thumb2? But without using a dedicated compiler option it generates same "standard" arm code and the difference is just to adapt all the Makefiles for this suffix.
>
> According to Martin I can get the previous setting by just set ARM_INSTRUCTION_SET to "arm" instead of "armv7a". Mh - I just afraid that I lose other kinds of optimisation. (I am just a user not an expert in arm architecture).
> On the other hand for those like me it is better go the standard way. Once I am sure compiler results will not become worse (see above) I go for the pain and renaming my toolchain/makefiles/stuff.
>
> Thanks for you taking the time.

While the gains/losses from using thumb2 ISA depends upon type of
loads you have and nature of code, in general this is most commonly
used ISA in linux distros, so most of the apps would have
been used compiled with this and probably optimized for as well. I
would advise that you do some bench-marking for your loads and then
decide if using thumb2 ISA is right choice for you or not.

if you want to drop thumb2 you can set appropriate default tune in
your machine config and that will do it

DEFAULTTUNE = "cortexa9hf-neon"


> Arno
>
> > Hello Arno,
> >
> > Let me try to explain my point of view. Since here (my best guess) we
> > have some asynchronous bitbake code which went South upon introducing
> > T2 HW extension.
> >
> > Point [1]: as far as I understand arm, cortexa9t2hf is is just a
> > superset of previous cortexa9hf (HW wise). NEON HW extension (NEON
> > media coprocessor) exists in both of them. In other words:
> > cortexa9t2hf = cortexa9hf HW + T2 HW extension.
> >
> > Point [2]:
> > > bitbake gives me in 2.5:
> > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > TARGET_FPU           = "hard"
> > >
> > > and in 2.7:
> > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > TARGET_FPU           = "hard"
> >
> > These two lines are the same: you are able to use 32b arm mode, 16bit
> > thumb mode, using armv7 HW with neon HW extension, and using HW FP
> > extension as well. The Cortex in both cases is A9.
> >
> > I expect that somebody somewhere in bitbake version 1.42 - 100% sure
> > (since 2.5/Sumo uses bitbake 1.38) dropped "armv7a" as TUNE FEATURE,
> > and I have no idea if this is done intentionally or not.
> >
> > Because of that I copied Alex and Ross to CC: into email, so they
> > should unveil this mystery (I would prefer "armv7" to stay in bitbake
> > 1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).
> >
> > Bottom line: nothing to be done by you, Arno, seems that bitbake 1.42
> > should return "armv7" as TUNE FEATURE.
> >
> > Best Regards,
> > Zoran
> > _______
> >
> >
> > On Mon, Jun 17, 2019 at 3:00 PM Arno Steffens <star@gmx.li> wrote:
> > >
> > > Hello Zoran,
> > > thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
> > > But I want to keep all compatible to my previous tool-chain and settings.
> > > The only file where I can found this "cortexa9t2hf" is
> > > ./meta/conf/machine/include/tune-cortexa9.inc
> > > but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
> > > Or have I been wrong the time before?
> > >
> > > bitbake gives me in 2.5:
> > >
> > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > TARGET_FPU           = "hard"
> > >
> > > and in 2.7:
> > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > TARGET_FPU           = "hard"
> > >
> > > so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
> > > Arno
> > >
> > > >
> > > > Hello Arno,
> > > >
> > > > Your question, per say, has little to do with YOCTO forum. But I'll
> > > > try (as my best) to answer your question.
> > > >
> > > > Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
> > > >
> > > > Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> > > > question is what is T2? T2 is addition to the previous architecture
> > > > Cortexa9hf, and addition is Thumb-2 mode.
> > > >
> > > > Hope this helps,
> > > >
> > > > Zoran
> > > > _______
> > > >
> > > > On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> > > > >
> > > > > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > > > > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > > > > Target system is a Zynq7020 system.
> > > > > --
> > > > > _______________________________________________
> > > > > yocto mailing list
> > > > > yocto@yoctoproject.org
> > > > > https://lists.yoctoproject.org/listinfo/yocto
> > > >
> >
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-17 17:47       ` Arno Steffens
  2019-06-18 16:16         ` Khem Raj
@ 2019-06-18 17:13         ` Martin Jansa
  2019-06-18 18:47           ` Zoran Stojsavljevic
  1 sibling, 1 reply; 12+ messages in thread
From: Martin Jansa @ 2019-06-18 17:13 UTC (permalink / raw)
  To: Arno Steffens; +Cc: Yocto Project

[-- Attachment #1: Type: text/plain, Size: 5671 bytes --]

On Mon, Jun 17, 2019 at 07:47:36PM +0200, Arno Steffens wrote:
> Thanks for explaining this.
> I take some time to read about thumb/thumb2. The feedback is mixed. It seems to generate more compact code, but some say it speeds up, others it slows down because of reduced function set - and it can cause strange effects.
> And mixing this causes time to switch processor mode. So, as I am not an expert in this and can't decide what ist best on per function base and speed is of highest priority, I think I better should use not thumb(2).
> 
> So, do I get it right that with this cortexa9t2hf I just have the option to compile it for thumb2? But without using a dedicated compiler option it generates same "standard" arm code and the difference is just to adapt all the Makefiles for this suffix.
> 
> According to Martin I can get the previous setting by just set ARM_INSTRUCTION_SET to "arm" instead of "armv7a". Mh - I just afraid that I lose other kinds of optimisation. (I am just a user not an expert in arm architecture).

I didn't say anything about changing the DEFAULTTUNE.

Just ARM_INSTRUCTION_SET to "arm" which will give you "cortexa9hf" again
(not "armv7a").

> On the other hand for those like me it is better go the standard way. Once I am sure compiler results will not become worse (see above) I go for the pain and renaming my toolchain/makefiles/stuff.

The results should be almost the same, maybe slightly better, depends on
the actual code as Khem mentioned.

But if this causes you a lot of pain "renaming my toolchain/makefiles/stuff"
then you should probably spend the time on your tooling instead of
replacing one hardcoded value with another.

Cheers,

> 
> Thanks for you taking the time.
> Arno
> 
> > Hello Arno,
> >
> > Let me try to explain my point of view. Since here (my best guess) we
> > have some asynchronous bitbake code which went South upon introducing
> > T2 HW extension.
> >
> > Point [1]: as far as I understand arm, cortexa9t2hf is is just a
> > superset of previous cortexa9hf (HW wise). NEON HW extension (NEON
> > media coprocessor) exists in both of them. In other words:
> > cortexa9t2hf = cortexa9hf HW + T2 HW extension.
> >
> > Point [2]:
> > > bitbake gives me in 2.5:
> > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > TARGET_FPU           = "hard"
> > >
> > > and in 2.7:
> > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > TARGET_FPU           = "hard"
> >
> > These two lines are the same: you are able to use 32b arm mode, 16bit
> > thumb mode, using armv7 HW with neon HW extension, and using HW FP
> > extension as well. The Cortex in both cases is A9.
> >
> > I expect that somebody somewhere in bitbake version 1.42 - 100% sure
> > (since 2.5/Sumo uses bitbake 1.38) dropped "armv7a" as TUNE FEATURE,
> > and I have no idea if this is done intentionally or not.
> >
> > Because of that I copied Alex and Ross to CC: into email, so they
> > should unveil this mystery (I would prefer "armv7" to stay in bitbake
> > 1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).
> >
> > Bottom line: nothing to be done by you, Arno, seems that bitbake 1.42
> > should return "armv7" as TUNE FEATURE.
> >
> > Best Regards,
> > Zoran
> > _______
> >
> >
> > On Mon, Jun 17, 2019 at 3:00 PM Arno Steffens <star@gmx.li> wrote:
> > >
> > > Hello Zoran,
> > > thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
> > > But I want to keep all compatible to my previous tool-chain and settings.
> > > The only file where I can found this "cortexa9t2hf" is
> > > ./meta/conf/machine/include/tune-cortexa9.inc
> > > but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
> > > Or have I been wrong the time before?
> > >
> > > bitbake gives me in 2.5:
> > >
> > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > TARGET_FPU           = "hard"
> > >
> > > and in 2.7:
> > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > TARGET_FPU           = "hard"
> > >
> > > so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
> > > Arno
> > >
> > > >
> > > > Hello Arno,
> > > >
> > > > Your question, per say, has little to do with YOCTO forum. But I'll
> > > > try (as my best) to answer your question.
> > > >
> > > > Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
> > > >
> > > > Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> > > > question is what is T2? T2 is addition to the previous architecture
> > > > Cortexa9hf, and addition is Thumb-2 mode.
> > > >
> > > > Hope this helps,
> > > >
> > > > Zoran
> > > > _______
> > > >
> > > > On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> > > > >
> > > > > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > > > > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > > > > Target system is a Zynq7020 system.
> > > > > --
> > > > > _______________________________________________
> > > > > yocto mailing list
> > > > > yocto@yoctoproject.org
> > > > > https://lists.yoctoproject.org/listinfo/yocto
> > > >
> >
> -- 
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-18 17:13         ` Martin Jansa
@ 2019-06-18 18:47           ` Zoran Stojsavljevic
  2019-06-18 19:03             ` Martin Jansa
  0 siblings, 1 reply; 12+ messages in thread
From: Zoran Stojsavljevic @ 2019-06-18 18:47 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Arno Steffens, Yocto Project

> Just ARM_INSTRUCTION_SET to "arm" which will give you "cortexa9hf" again
> (not "armv7a").

I think this is impossible for the current state of YOCTO affairs. I
do not think bitbake is able to determine type of arm silicon, since
it needs to implement the following instruction somewhere beneath (in
privileged mode):
asm volatile("mrc p15, 0, r0, c0, c0, 0" : "=r"(reg_value) );

But according to the variable MACHINE (example: MACHINE ??=
"beaglebone"), it is able to determine that the platform is a type of
armv7a.

My two cent worth thinking,
Zoran
_______


On Tue, Jun 18, 2019 at 7:13 PM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Mon, Jun 17, 2019 at 07:47:36PM +0200, Arno Steffens wrote:
> > Thanks for explaining this.
> > I take some time to read about thumb/thumb2. The feedback is mixed. It seems to generate more compact code, but some say it speeds up, others it slows down because of reduced function set - and it can cause strange effects.
> > And mixing this causes time to switch processor mode. So, as I am not an expert in this and can't decide what ist best on per function base and speed is of highest priority, I think I better should use not thumb(2).
> >
> > So, do I get it right that with this cortexa9t2hf I just have the option to compile it for thumb2? But without using a dedicated compiler option it generates same "standard" arm code and the difference is just to adapt all the Makefiles for this suffix.
> >
> > According to Martin I can get the previous setting by just set ARM_INSTRUCTION_SET to "arm" instead of "armv7a". Mh - I just afraid that I lose other kinds of optimisation. (I am just a user not an expert in arm architecture).
>
> I didn't say anything about changing the DEFAULTTUNE.
>
> Just ARM_INSTRUCTION_SET to "arm" which will give you "cortexa9hf" again
> (not "armv7a").
>
> > On the other hand for those like me it is better go the standard way. Once I am sure compiler results will not become worse (see above) I go for the pain and renaming my toolchain/makefiles/stuff.
>
> The results should be almost the same, maybe slightly better, depends on
> the actual code as Khem mentioned.
>
> But if this causes you a lot of pain "renaming my toolchain/makefiles/stuff"
> then you should probably spend the time on your tooling instead of
> replacing one hardcoded value with another.
>
> Cheers,
>
> >
> > Thanks for you taking the time.
> > Arno
> >
> > > Hello Arno,
> > >
> > > Let me try to explain my point of view. Since here (my best guess) we
> > > have some asynchronous bitbake code which went South upon introducing
> > > T2 HW extension.
> > >
> > > Point [1]: as far as I understand arm, cortexa9t2hf is is just a
> > > superset of previous cortexa9hf (HW wise). NEON HW extension (NEON
> > > media coprocessor) exists in both of them. In other words:
> > > cortexa9t2hf = cortexa9hf HW + T2 HW extension.
> > >
> > > Point [2]:
> > > > bitbake gives me in 2.5:
> > > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > > TARGET_FPU           = "hard"
> > > >
> > > > and in 2.7:
> > > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > > TARGET_FPU           = "hard"
> > >
> > > These two lines are the same: you are able to use 32b arm mode, 16bit
> > > thumb mode, using armv7 HW with neon HW extension, and using HW FP
> > > extension as well. The Cortex in both cases is A9.
> > >
> > > I expect that somebody somewhere in bitbake version 1.42 - 100% sure
> > > (since 2.5/Sumo uses bitbake 1.38) dropped "armv7a" as TUNE FEATURE,
> > > and I have no idea if this is done intentionally or not.
> > >
> > > Because of that I copied Alex and Ross to CC: into email, so they
> > > should unveil this mystery (I would prefer "armv7" to stay in bitbake
> > > 1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).
> > >
> > > Bottom line: nothing to be done by you, Arno, seems that bitbake 1.42
> > > should return "armv7" as TUNE FEATURE.
> > >
> > > Best Regards,
> > > Zoran
> > > _______
> > >
> > >
> > > On Mon, Jun 17, 2019 at 3:00 PM Arno Steffens <star@gmx.li> wrote:
> > > >
> > > > Hello Zoran,
> > > > thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
> > > > But I want to keep all compatible to my previous tool-chain and settings.
> > > > The only file where I can found this "cortexa9t2hf" is
> > > > ./meta/conf/machine/include/tune-cortexa9.inc
> > > > but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
> > > > Or have I been wrong the time before?
> > > >
> > > > bitbake gives me in 2.5:
> > > >
> > > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > > TARGET_FPU           = "hard"
> > > >
> > > > and in 2.7:
> > > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > > TARGET_FPU           = "hard"
> > > >
> > > > so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
> > > > Arno
> > > >
> > > > >
> > > > > Hello Arno,
> > > > >
> > > > > Your question, per say, has little to do with YOCTO forum. But I'll
> > > > > try (as my best) to answer your question.
> > > > >
> > > > > Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
> > > > >
> > > > > Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> > > > > question is what is T2? T2 is addition to the previous architecture
> > > > > Cortexa9hf, and addition is Thumb-2 mode.
> > > > >
> > > > > Hope this helps,
> > > > >
> > > > > Zoran
> > > > > _______
> > > > >
> > > > > On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> > > > > >
> > > > > > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > > > > > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > > > > > Target system is a Zynq7020 system.
> > > > > > --
> > > > > > _______________________________________________
> > > > > > yocto mailing list
> > > > > > yocto@yoctoproject.org
> > > > > > https://lists.yoctoproject.org/listinfo/yocto
> > > > >
> > >
> > --
> > _______________________________________________
> > yocto mailing list
> > yocto@yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
>
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-18 18:47           ` Zoran Stojsavljevic
@ 2019-06-18 19:03             ` Martin Jansa
  2019-06-18 20:55               ` Zoran Stojsavljevic
  0 siblings, 1 reply; 12+ messages in thread
From: Martin Jansa @ 2019-06-18 19:03 UTC (permalink / raw)
  To: Zoran Stojsavljevic; +Cc: Arno Steffens, Yocto Project

[-- Attachment #1: Type: text/plain, Size: 7520 bytes --]

On Tue, Jun 18, 2019 at 08:47:32PM +0200, Zoran Stojsavljevic wrote:
> > Just ARM_INSTRUCTION_SET to "arm" which will give you "cortexa9hf" again
> > (not "armv7a").
> 
> I think this is impossible for the current state of YOCTO affairs. I
> do not think bitbake is able to determine type of arm silicon, since

Have you read the commit which enabled thumb by default for MACHINEs
which support it?

bitbake is still just a parser of the metadata and executor of our
tasks, it doesn't (and shouldn't) need to know anything about arm silicons.

DEFAULTTUNE is still set in the MACHINE config (through one of the .inc
files) and ARM_INSTRUCTION_SET is just another variable which says if
it should include -mthumb or -marm by default in TUNE_CCARGS, read
conf/machine/include/arm/feature-arm-thumb.inc

Cheers,

> it needs to implement the following instruction somewhere beneath (in
> privileged mode):
> asm volatile("mrc p15, 0, r0, c0, c0, 0" : "=r"(reg_value) );
> 
> But according to the variable MACHINE (example: MACHINE ??=
> "beaglebone"), it is able to determine that the platform is a type of
> armv7a.
> 
> My two cent worth thinking,
> Zoran
> _______
> 
> 
> On Tue, Jun 18, 2019 at 7:13 PM Martin Jansa <martin.jansa@gmail.com> wrote:
> >
> > On Mon, Jun 17, 2019 at 07:47:36PM +0200, Arno Steffens wrote:
> > > Thanks for explaining this.
> > > I take some time to read about thumb/thumb2. The feedback is mixed. It seems to generate more compact code, but some say it speeds up, others it slows down because of reduced function set - and it can cause strange effects.
> > > And mixing this causes time to switch processor mode. So, as I am not an expert in this and can't decide what ist best on per function base and speed is of highest priority, I think I better should use not thumb(2).
> > >
> > > So, do I get it right that with this cortexa9t2hf I just have the option to compile it for thumb2? But without using a dedicated compiler option it generates same "standard" arm code and the difference is just to adapt all the Makefiles for this suffix.
> > >
> > > According to Martin I can get the previous setting by just set ARM_INSTRUCTION_SET to "arm" instead of "armv7a". Mh - I just afraid that I lose other kinds of optimisation. (I am just a user not an expert in arm architecture).
> >
> > I didn't say anything about changing the DEFAULTTUNE.
> >
> > Just ARM_INSTRUCTION_SET to "arm" which will give you "cortexa9hf" again
> > (not "armv7a").
> >
> > > On the other hand for those like me it is better go the standard way. Once I am sure compiler results will not become worse (see above) I go for the pain and renaming my toolchain/makefiles/stuff.
> >
> > The results should be almost the same, maybe slightly better, depends on
> > the actual code as Khem mentioned.
> >
> > But if this causes you a lot of pain "renaming my toolchain/makefiles/stuff"
> > then you should probably spend the time on your tooling instead of
> > replacing one hardcoded value with another.
> >
> > Cheers,
> >
> > >
> > > Thanks for you taking the time.
> > > Arno
> > >
> > > > Hello Arno,
> > > >
> > > > Let me try to explain my point of view. Since here (my best guess) we
> > > > have some asynchronous bitbake code which went South upon introducing
> > > > T2 HW extension.
> > > >
> > > > Point [1]: as far as I understand arm, cortexa9t2hf is is just a
> > > > superset of previous cortexa9hf (HW wise). NEON HW extension (NEON
> > > > media coprocessor) exists in both of them. In other words:
> > > > cortexa9t2hf = cortexa9hf HW + T2 HW extension.
> > > >
> > > > Point [2]:
> > > > > bitbake gives me in 2.5:
> > > > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > > > TARGET_FPU           = "hard"
> > > > >
> > > > > and in 2.7:
> > > > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > > > TARGET_FPU           = "hard"
> > > >
> > > > These two lines are the same: you are able to use 32b arm mode, 16bit
> > > > thumb mode, using armv7 HW with neon HW extension, and using HW FP
> > > > extension as well. The Cortex in both cases is A9.
> > > >
> > > > I expect that somebody somewhere in bitbake version 1.42 - 100% sure
> > > > (since 2.5/Sumo uses bitbake 1.38) dropped "armv7a" as TUNE FEATURE,
> > > > and I have no idea if this is done intentionally or not.
> > > >
> > > > Because of that I copied Alex and Ross to CC: into email, so they
> > > > should unveil this mystery (I would prefer "armv7" to stay in bitbake
> > > > 1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).
> > > >
> > > > Bottom line: nothing to be done by you, Arno, seems that bitbake 1.42
> > > > should return "armv7" as TUNE FEATURE.
> > > >
> > > > Best Regards,
> > > > Zoran
> > > > _______
> > > >
> > > >
> > > > On Mon, Jun 17, 2019 at 3:00 PM Arno Steffens <star@gmx.li> wrote:
> > > > >
> > > > > Hello Zoran,
> > > > > thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
> > > > > But I want to keep all compatible to my previous tool-chain and settings.
> > > > > The only file where I can found this "cortexa9t2hf" is
> > > > > ./meta/conf/machine/include/tune-cortexa9.inc
> > > > > but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
> > > > > Or have I been wrong the time before?
> > > > >
> > > > > bitbake gives me in 2.5:
> > > > >
> > > > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > > > TARGET_FPU           = "hard"
> > > > >
> > > > > and in 2.7:
> > > > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > > > TARGET_FPU           = "hard"
> > > > >
> > > > > so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
> > > > > Arno
> > > > >
> > > > > >
> > > > > > Hello Arno,
> > > > > >
> > > > > > Your question, per say, has little to do with YOCTO forum. But I'll
> > > > > > try (as my best) to answer your question.
> > > > > >
> > > > > > Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
> > > > > >
> > > > > > Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> > > > > > question is what is T2? T2 is addition to the previous architecture
> > > > > > Cortexa9hf, and addition is Thumb-2 mode.
> > > > > >
> > > > > > Hope this helps,
> > > > > >
> > > > > > Zoran
> > > > > > _______
> > > > > >
> > > > > > On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> > > > > > >
> > > > > > > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > > > > > > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > > > > > > Target system is a Zynq7020 system.
> > > > > > > --
> > > > > > > _______________________________________________
> > > > > > > yocto mailing list
> > > > > > > yocto@yoctoproject.org
> > > > > > > https://lists.yoctoproject.org/listinfo/yocto
> > > > > >
> > > >
> > > --
> > > _______________________________________________
> > > yocto mailing list
> > > yocto@yoctoproject.org
> > > https://lists.yoctoproject.org/listinfo/yocto
> >
> > --
> > Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: cortexa9t2hf instead of cortexa9hf
  2019-06-18 19:03             ` Martin Jansa
@ 2019-06-18 20:55               ` Zoran Stojsavljevic
  0 siblings, 0 replies; 12+ messages in thread
From: Zoran Stojsavljevic @ 2019-06-18 20:55 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Arno Steffens, Yocto Project

> bitbake is still just a parser of the metadata and executor of our
> tasks, it doesn't (and shouldn't) need to know anything about arm silicons.

You precisely formulated my latest thoughts in one sentence. :-)

Cheers,
Zoran
_______

On Tue, Jun 18, 2019 at 9:03 PM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> On Tue, Jun 18, 2019 at 08:47:32PM +0200, Zoran Stojsavljevic wrote:
> > > Just ARM_INSTRUCTION_SET to "arm" which will give you "cortexa9hf" again
> > > (not "armv7a").
> >
> > I think this is impossible for the current state of YOCTO affairs. I
> > do not think bitbake is able to determine type of arm silicon, since
>
> Have you read the commit which enabled thumb by default for MACHINEs
> which support it?
>
> bitbake is still just a parser of the metadata and executor of our
> tasks, it doesn't (and shouldn't) need to know anything about arm silicons.
>
> DEFAULTTUNE is still set in the MACHINE config (through one of the .inc
> files) and ARM_INSTRUCTION_SET is just another variable which says if
> it should include -mthumb or -marm by default in TUNE_CCARGS, read
> conf/machine/include/arm/feature-arm-thumb.inc
>
> Cheers,
>
> > it needs to implement the following instruction somewhere beneath (in
> > privileged mode):
> > asm volatile("mrc p15, 0, r0, c0, c0, 0" : "=r"(reg_value) );
> >
> > But according to the variable MACHINE (example: MACHINE ??=
> > "beaglebone"), it is able to determine that the platform is a type of
> > armv7a.
> >
> > My two cent worth thinking,
> > Zoran
> > _______
> >
> >
> > On Tue, Jun 18, 2019 at 7:13 PM Martin Jansa <martin.jansa@gmail.com> wrote:
> > >
> > > On Mon, Jun 17, 2019 at 07:47:36PM +0200, Arno Steffens wrote:
> > > > Thanks for explaining this.
> > > > I take some time to read about thumb/thumb2. The feedback is mixed. It seems to generate more compact code, but some say it speeds up, others it slows down because of reduced function set - and it can cause strange effects.
> > > > And mixing this causes time to switch processor mode. So, as I am not an expert in this and can't decide what ist best on per function base and speed is of highest priority, I think I better should use not thumb(2).
> > > >
> > > > So, do I get it right that with this cortexa9t2hf I just have the option to compile it for thumb2? But without using a dedicated compiler option it generates same "standard" arm code and the difference is just to adapt all the Makefiles for this suffix.
> > > >
> > > > According to Martin I can get the previous setting by just set ARM_INSTRUCTION_SET to "arm" instead of "armv7a". Mh - I just afraid that I lose other kinds of optimisation. (I am just a user not an expert in arm architecture).
> > >
> > > I didn't say anything about changing the DEFAULTTUNE.
> > >
> > > Just ARM_INSTRUCTION_SET to "arm" which will give you "cortexa9hf" again
> > > (not "armv7a").
> > >
> > > > On the other hand for those like me it is better go the standard way. Once I am sure compiler results will not become worse (see above) I go for the pain and renaming my toolchain/makefiles/stuff.
> > >
> > > The results should be almost the same, maybe slightly better, depends on
> > > the actual code as Khem mentioned.
> > >
> > > But if this causes you a lot of pain "renaming my toolchain/makefiles/stuff"
> > > then you should probably spend the time on your tooling instead of
> > > replacing one hardcoded value with another.
> > >
> > > Cheers,
> > >
> > > >
> > > > Thanks for you taking the time.
> > > > Arno
> > > >
> > > > > Hello Arno,
> > > > >
> > > > > Let me try to explain my point of view. Since here (my best guess) we
> > > > > have some asynchronous bitbake code which went South upon introducing
> > > > > T2 HW extension.
> > > > >
> > > > > Point [1]: as far as I understand arm, cortexa9t2hf is is just a
> > > > > superset of previous cortexa9hf (HW wise). NEON HW extension (NEON
> > > > > media coprocessor) exists in both of them. In other words:
> > > > > cortexa9t2hf = cortexa9hf HW + T2 HW extension.
> > > > >
> > > > > Point [2]:
> > > > > > bitbake gives me in 2.5:
> > > > > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > > > > TARGET_FPU           = "hard"
> > > > > >
> > > > > > and in 2.7:
> > > > > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > > > > TARGET_FPU           = "hard"
> > > > >
> > > > > These two lines are the same: you are able to use 32b arm mode, 16bit
> > > > > thumb mode, using armv7 HW with neon HW extension, and using HW FP
> > > > > extension as well. The Cortex in both cases is A9.
> > > > >
> > > > > I expect that somebody somewhere in bitbake version 1.42 - 100% sure
> > > > > (since 2.5/Sumo uses bitbake 1.38) dropped "armv7a" as TUNE FEATURE,
> > > > > and I have no idea if this is done intentionally or not.
> > > > >
> > > > > Because of that I copied Alex and Ross to CC: into email, so they
> > > > > should unveil this mystery (I would prefer "armv7" to stay in bitbake
> > > > > 1.42, since A8 and A9 belongs to armv7, A15 belongs to armv8 (IIRC).
> > > > >
> > > > > Bottom line: nothing to be done by you, Arno, seems that bitbake 1.42
> > > > > should return "armv7" as TUNE FEATURE.
> > > > >
> > > > > Best Regards,
> > > > > Zoran
> > > > > _______
> > > > >
> > > > >
> > > > > On Mon, Jun 17, 2019 at 3:00 PM Arno Steffens <star@gmx.li> wrote:
> > > > > >
> > > > > > Hello Zoran,
> > > > > > thanks. As far as I understand is thumb2 another mode of coding, that might create more compact code.
> > > > > > But I want to keep all compatible to my previous tool-chain and settings.
> > > > > > The only file where I can found this "cortexa9t2hf" is
> > > > > > ./meta/conf/machine/include/tune-cortexa9.inc
> > > > > > but I can't see how I can control Yocto to generate "cortexa9hf-neon" as before.
> > > > > > Or have I been wrong the time before?
> > > > > >
> > > > > > bitbake gives me in 2.5:
> > > > > >
> > > > > > TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
> > > > > > TARGET_FPU           = "hard"
> > > > > >
> > > > > > and in 2.7:
> > > > > > TUNE_FEATURES        = "arm vfp cortexa9 neon thumb callconvention-hard"
> > > > > > TARGET_FPU           = "hard"
> > > > > >
> > > > > > so armv7a seem to be missing. In terms of thumb both is same. But is that the reason? Where to set it?
> > > > > > Arno
> > > > > >
> > > > > > >
> > > > > > > Hello Arno,
> > > > > > >
> > > > > > > Your question, per say, has little to do with YOCTO forum. But I'll
> > > > > > > try (as my best) to answer your question.
> > > > > > >
> > > > > > > Cortexa9hf should be armv7 A9 Hard Floating (it contains HW FP unit).
> > > > > > >
> > > > > > > Cortexa9t2hf is by analogy armv7 A9 T2 Hard Floating. Now, the
> > > > > > > question is what is T2? T2 is addition to the previous architecture
> > > > > > > Cortexa9hf, and addition is Thumb-2 mode.
> > > > > > >
> > > > > > > Hope this helps,
> > > > > > >
> > > > > > > Zoran
> > > > > > > _______
> > > > > > >
> > > > > > > On Mon, Jun 17, 2019 at 2:03 PM Arno Steffens <star@gmx.li> wrote:
> > > > > > > >
> > > > > > > > I switched from Yocto 2.5 to 2.7 and recognised a new architetcure name.
> > > > > > > > Instead of cortexa9hf it is now build for cortexa9t2hf? Did I do something wrong or what exactly does this t2 mean?
> > > > > > > > Target system is a Zynq7020 system.
> > > > > > > > --
> > > > > > > > _______________________________________________
> > > > > > > > yocto mailing list
> > > > > > > > yocto@yoctoproject.org
> > > > > > > > https://lists.yoctoproject.org/listinfo/yocto
> > > > > > >
> > > > >
> > > > --
> > > > _______________________________________________
> > > > yocto mailing list
> > > > yocto@yoctoproject.org
> > > > https://lists.yoctoproject.org/listinfo/yocto
> > >
> > > --
> > > Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com
>
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-06-18 20:55 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-17 12:03 cortexa9t2hf instead of cortexa9hf Arno Steffens
2019-06-17 12:17 ` Zoran Stojsavljevic
2019-06-17 13:00   ` Arno Steffens
2019-06-17 14:05     ` Zoran Stojsavljevic
2019-06-17 17:47       ` Arno Steffens
2019-06-18 16:16         ` Khem Raj
2019-06-18 17:13         ` Martin Jansa
2019-06-18 18:47           ` Zoran Stojsavljevic
2019-06-18 19:03             ` Martin Jansa
2019-06-18 20:55               ` Zoran Stojsavljevic
2019-06-17 14:29 ` Martin Jansa
2019-06-17 17:33   ` Zoran Stojsavljevic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.