Most of the RP4 work was done by
@John Knipper actually, I took over some unfinished work from him before I pushed it. When I started the Raspi 3 port back in January and actually tried to make it SMP ready from the beginning. So I have had it running side by side with the non-smp build ever since.
And yes, it is frustrating, debugging deadlocks is not fun. I have tried several approuches, including splitting up ready-queues to 1 per cpu and implement task stealing. But the code I have now uses 1 ready queue, and a lot of fixes in signal, irq, ifq and ipi handling.
Branch is here:
github.com/bsek/AROS/…/smp