Port-arm 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



> On Nov 25, 2020, at 5:53 AM, Rin Okuyama <rokuyama.rk%gmail.com@localhost> wrote:
> 
> So, I guess that mrg@ disabled swp{,b} for MULTIPROCESSOR not because
> instructions their-selves do not work, but because there are other
> problems for ARMv5 userland on MP environment. As Robert suggested in
> his previous message, multi-threaded applications for ARMv5 do not
> work on MP system. See port-arm/55704 by myself:

Perhaps the issue is that the hardware-emulated swp{,b} instructions are not atomic?  If this is the case, then there is a solution; see subr_copy.c:ucas_critical_enter().  It would be very slow, but it would work.  If needed, those support functions could be made more generic and exported outside of that file.

-- thorpej



Home | Main Index | Thread Index | Old Index