Attention is currently required from: Kane Chen, Tim Wawrzynczak, Arthur Heymans. Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/63566 )
Change subject: cpu/x86/mp_init.c: Add wait_finished_mp_run_on_all_cpus ......................................................................
Patch Set 2:
(1 comment)
File src/cpu/x86/mp_init.c:
https://review.coreboot.org/c/coreboot/+/63566/comment/7846c726_df4c37ee PS2, Line 984: mp_run_on_aps_and_wait_for_complete
Even you serialise AP task, it still can't guarantee APs finish tasks.
I have used `print` and global variable to see all APs are running in serialise manner with `mp_run_on_all_aps` passing `false` for run in parallel variable.
I mean, if you are calling `mp_run_on_all_aps` from mp_init.c then you are also ensuring that all AP processing are waiting for each other to finish. no?
if (mp_run_on_all_aps(&wrapper_x86_setup_mtrrs, NULL, 1000 * USECS_PER_MSEC, false) != CB_SUCCESS) printk(BIOS_ERR, "MTRR programming failure\n");