x86: mp: Allow running functions on multiple CPUs
authorSimon Glass <sjg@chromium.org>
Fri, 17 Jul 2020 14:48:19 +0000 (08:48 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Mon, 20 Jul 2020 01:46:45 +0000 (09:46 +0800)
commit84d3ed125ad91c5973c4a071be5eea913bea34e5
tree711c06c0bf60d51f0d5b850e089b8200cfc8e9f0
parentdb3a37c711433a79331b1b47feff15f987a2d89b
x86: mp: Allow running functions on multiple CPUs

Add a way to run a function on a selection of CPUs. This supports either
a single CPU, all CPUs, just the main CPU or just the 'APs', in Intel
terminology.

It works by writing into a mailbox and then waiting for the CPUs to notice
it, take action and indicate they are done.

When SMP is not yet enabled, this just calls the function on the main CPU.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/mp_init.c
arch/x86/include/asm/mp.h