I'm looking for a mechanism for implementing that. We can think to a core waiting in spinning on a variable blocked in its cache (so that the spinning does not interfere with other cores), waiting for an interrupt that will change its value, thus unlocking the core. I saw from the reference manual there is the possibility to use IPT (interpocessor interrupt)