Attention is currently required from: Furquan Shaikh, Maulik V Vaghela, Tim Wawrzynczak, Andrey Petrov, Patrick Rudolph. Ravindra has uploaded a new patch set (#4) to the change originally created by Subrata Banik. ( https://review.coreboot.org/c/coreboot/+/57343 )
Change subject: drivers/intel/fsp2_0: Allow `mp_startup_all_cpus()` to run serially ......................................................................
drivers/intel/fsp2_0: Allow `mp_startup_all_cpus()` to run serially
As per MP service specification, EDK2 is allowed to specify the mode in which a 'func' routine would execute on APs as `SingleThread` sets to 'true' meaning execute the function one by one (serially) or sets to 'false' meaning execute the function simultaneously.
MP service API `StartupAllAPs` has designed to pass such options as part of function argument.
But another MP service API `StartupAllCPUs` doesn't specifies any such requirement. Running the `func` simultaneously on APs results into coherency issue due to lack of acquire spin lock while accessing common data structure in multiprocessor environment.
BUG=b:199246420
Change-Id: Ia95d11408f663212fd40daa9fd9b0881a07f1ce7 Signed-off-by: Subrata Banik subrata.banik@intel.com Signed-off-by: Ronak Kanabar ronak.kanabar@intel.com --- M src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c 1 file changed, 2 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/43/57343/4