On Tue, Dec 3, 2019 at 3:54 PM Steve Pavao <[email protected]> wrote:
>
>
>
> On Thu, Nov 7, 2019 at 2:03 PM Khem Raj <[email protected]> wrote:
>>
>>
>>
>> On Thu, Nov 7, 2019 at 10:42 AM Steve Pavao <[email protected]> wrote:
>>>
>>> > On Nov 4, 2019, at 4:26 PM, Steve Pavao <[email protected]> wrote:
>>> >
>>> >> On Nov 4, 2019, at 11:32 AM, Steve Pavao <[email protected]> wrote:
>>> >>>
>>> >>> On Nov 4, 2019, at 11:16 AM, Steve Pavao <[email protected]> wrote:
>>> >>>>
>>> >>>> On Nov 4, 2019, at 11:11 AM, Adrian Bunk <[email protected]> wrote:
>>> >>>>
>>> >>>> On Mon, Nov 04, 2019 at 10:48:57AM -0500, Steve Pavao wrote:
>>> >>>>>
>>> >>>>>> On Nov 3, 2019, at 1:25 PM, Adrian Bunk <[email protected]> wrote:
>>> >>>>>>
>>> >>>>>> On Sun, Nov 03, 2019 at 05:56:45PM +0000, Andrei Gherzan wrote:
>>> >>>>>>> On 3 November 2019 13:18:53 GMT, Khem Raj <[email protected]> 
>>> >>>>>>> wrote:
>>> >>>>>>>> On Sun, Nov 3, 2019 at 2:46 AM Andrei Gherzan <[email protected]>
>>> >>>>>>>> wrote:
>>> >>>>>>>>> I was thinking about this. The erratum seems to show that this
>>> >>>>>>>> applies
>>> >>>>>>>>> to all revisions of a53. So it sounds like we should add it in
>>> >>>>>>>>> `tune-cortexa53.inc`.
>>> >>>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>> Up to r0b4 only so maybe not all a53 implementations are impacted
>>> >>>>>>>>
>>> >>>>>>>
>>> >>>>>>> As far as I know that is the latest revision. Do you mean that 
>>> >>>>>>> newer revision might come up with this fixed?
>>> >>>>>>
>>> >>>>>> It is fixed in some r0p4 implementations, indicated in REVIDR[8].
>>> >>>>>
>>> >>>>> I am closer to understanding why I experience an error when building 
>>> >>>>> with the ARM errata switches.
>>> >>>>>
>>> >>>>> I believe it is related to 32-bit app support in my poky Linux 64-bit 
>>> >>>>> build (I add this to support vcgencmd and vcdbg 32-bit apps.)
>>> >>>>>
>>> >>>>> When I remove the 32-bit support, the build completes OK.  As of now, 
>>> >>>>> adding the following seems to work fine to acheive this:
>>> >>>>>
>>> >>>>> TARGET_CC_ARCH_append += " -mfix-cortex-a53-843419 
>>> >>>>> -mfix-cortex-a53-835769”
>>> >>>>>
>>> >>>>> Something in the following block seems to be the culprit.:
>>> >>>>>
>>> >>>>> # for vcgencmd and vcdbg 32-bit executable support in the OS image 
>>> >>>>> (comment out for -c populate_sdk)
>>> >>>>> require conf/multilib.conf
>>> >>>>> MULTILIBS = "multilib:lib32"
>>> >>>>> DEFAULTTUNE_virtclass-multilib-lib32 = "armv7a"
>>> >>>>> IMAGE_INSTALL_append += " vcgencmd lib32-glibc lib32-libgcc 
>>> >>>>> lib32-libstdc++ vcdbg rpi-setup \
>>> >>>>> “
>>> >>>>>
>>> >>>>> I will post again when I have localized the build problem further.  
>>> >>>>> Maybe there’s some 64-bit vs. 32-bit build confusion going on, and 
>>> >>>>> the armv7a default tune switch for 32-bits is colliding with the 
>>> >>>>> errata switches.
>>> >>>>
>>> >>>> The errata switches are only valid for aarch64, not for armv7a.
>>> >>>> There is likely some kind of "invalid option" earlier in your build.
>>> >>>
>>> >>> To conitnue to be able to use the 32-bit app support, perhaps I must do 
>>> >>> this:
>>> >>>
>>> >>> DEFAULTTUNE_virtclass-multilib-lib32 = “armv7a 
>>> >>> -mno-fix-cortex-a53-843419 -mno-fix-cortex-a53-835769”
>>> >>
>>> >> This doesn’t work.
>>> >>
>>> >> If I wish to keep the 32-bit app support in my build, I’ll need to 
>>> >> devise a way to make sure those ARM errata flags are only applied to the 
>>> >> aarch64 portion of the compile/link for the target, not to the multilib 
>>> >> 32-bit app support portion.
>>> >
>>> > Andrei and/or Khem,
>>> >
>>> > Could you advise an approach that allows to use the ARM errata switches 
>>> > for the aarch64 portion of the build for the target, but which will NOT 
>>> > specify the ARM errata switches for our supplementary 32-bit portion of 
>>> > the build for the target?  (This supplementary 32-bit portion of the 
>>> > build is to support the 32-bit vcgencmd app, and contains multilib and 
>>> > some additional 32-bit libraires.  Please see earlier post for the syntax 
>>> > we use in our local.conf.)
>>>
>>>
>>> I've been able to rebuild 64-bit Linux code with the ARM errata switches, 
>>> by adding the following line to the end of 
>>> /meta/conf/machine/include/arm/arch-arm64.inc,
>>>
>>> TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "aarch64", " 
>>> -mfix-cortex-a53-843419 -mfix-cortex-a53-835769", "" ,d)}”
>>
>>
>> This should be in tune-cortexa53.inc
>
>
> I took care of this locally on my system in that file for now.
>
> That said, in your opinion, what is the best way to have this change be 
> applied permanently to that file in the meta layer?  Should I be the one to 
> try to make the change and generate a pull request, or is it best if someone 
> who is already regularly involved in meta layer maintenance and testing gives 
> it a closer look and does it the way they think is best?
>

I would expect a patch from you since you are in thick of it and have
tested the solution, So please go ahead and create a pull request on
github. We can review and iterate of patch then


> Steve Pavao
> Korg R&D
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#47535): https://lists.yoctoproject.org/g/yocto/message/47535
Mute This Topic: https://lists.yoctoproject.org/mt/61340441/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to