tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [2/2 ABI and toolchain part] Support Raspberry Pi [0-3] in big-endian mode



Rin Okuyama <rokuyama.rk%gmail.com@localhost> wrote:
>On 2020/11/24 19:17, Robert Swindells wrote:
>> 
>> Rin Okuyama <rokuyama.rk%gmail.com@localhost> wrote:
>>> - Compatible to ARMv5 and prior. We can build pkgsrc for earmv5{,hf}eb,
>>>    for example (*). This is impossible on ARMv7 and later.
>>>
>>> (*) At the moment, userland for ARMv5 and prior does not work on ARMv6
>>>      and later. This is due to lack of swp{,b} instructions. However,
>>>      emulation for these instructions has already been added to aarch64
>>>      by ryo@. Porting that code to arm should be straightforward.
>> 
>> I thought that we had enabled SWP instructions on ARMv6 and ARMv7, it
>> should not need the emulation code from aarch64.
>
>CPU_CONTROL_SWP_ENABLE bit is missing for ARMv6. See cp15 c1 register
>bit definition on p.3-46 of ARM1176JZF-S Technical Reference Manual:
>
>| [10] F bit - Should Be Zero

Ok, I was wrong, it is enabled for ARMv7 though.

>Also, it does not work for MULTIPROCESSOR in principle:

It works fine in practice, at least to run the base operating system.

Maybe there is some userland program that uses threads but I did not
see any problems.

I have built earmv5 packages on earmv7hf.


Home | Main Index | Thread Index | Old Index