> On Nov 4, 2019, at 4:26 PM, Steve Pavao <ste...@korgrd.com> wrote:
> 
>> On Nov 4, 2019, at 11:32 AM, Steve Pavao <ste...@korgrd.com> wrote:
>>> 
>>> On Nov 4, 2019, at 11:16 AM, Steve Pavao <ste...@korgrd.com> wrote:
>>>> 
>>>> On Nov 4, 2019, at 11:11 AM, Adrian Bunk <b...@stusta.de> wrote:
>>>> 
>>>> On Mon, Nov 04, 2019 at 10:48:57AM -0500, Steve Pavao wrote:
>>>>> 
>>>>>> On Nov 3, 2019, at 1:25 PM, Adrian Bunk <b...@stusta.de> wrote:
>>>>>> 
>>>>>> On Sun, Nov 03, 2019 at 05:56:45PM +0000, Andrei Gherzan wrote:
>>>>>>> On 3 November 2019 13:18:53 GMT, Khem Raj <raj.k...@gmail.com> wrote:
>>>>>>>> On Sun, Nov 3, 2019 at 2:46 AM Andrei Gherzan <and...@gherzan.ro>
>>>>>>>> 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)}”

Please let me know if you have any thoughts about this approach.

Steve Pavao
Korg R&D




-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to