Given a multiprocessor system, how are the PC values of secondary cores set from the primary core? I've read lots of threads stating it can be done but without any details. I could not find anything in the ARMv8 reference manual.
One might contrive a mailbox system where the secondary cores wfe and check the value of a mailbox address when woken up. But is there a supported method to directly write the secondary core PC before waking it up? What are the various methods for "waking up" a core?
It took me a bit of poking around to finally uncover that IPIs on ARM are referred to as LPIs, for anyone here after me that might be searching for the same thing. Implemented in the GIC.