[yocto] cortexa9t2hf instead of cortexa9hf

Arno Steffens star at gmx.li
Mon Jun 17 10:47:36 PDT 2019


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 at 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 at 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 at yoctoproject.org
> > > > https://lists.yoctoproject.org/listinfo/yocto
> > >
>


More information about the yocto mailing list