Attention is currently required from: Furquan Shaikh, Tim Wawrzynczak, Ronak Kanabar, Andrey Petrov, Patrick Rudolph. Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/57343 )
Change subject: drivers/intel/fsp2_0: Allow `mp_startup_all_cpus()` to run serially ......................................................................
Patch Set 1:
(1 comment)
Commit Message:
https://review.coreboot.org/c/coreboot/+/57343/comment/fd919908_5412b3ba PS1, Line 17: 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.
It's hard to figure out if this is called out explicitly anywhere... is this defined somewhere, or is this FSP behavior?
Please take a look into EDK2 code https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/MpInitLib/M... to understand the UEFI MP module default assumption.
Is this causing any known issues?
yes, we are seeing a random hang while running the cycle test inside FSP while running CPU feature programming using coreboot MP services wrappers. Ronak will raise the crossbug with more details and update the bug id here. Thanks