Attention is currently required from: Andrey Petrov, Arthur Heymans, Chen, Gang C, Jincheng Li, Ronak Kanabar, Shuo Liu, Subrata Banik.
Shuo Liu has uploaded a new patch set (#13) to the change originally created by Jérémy Compostella. ( https://review.coreboot.org/c/coreboot/+/80574?usp=email )
The following approvals got outdated and were removed: Verified+1 by build bot (Jenkins)
Change subject: drivers/intel/fsp2_0/ppi: Fix FSP PPI callback calling convention ......................................................................
drivers/intel/fsp2_0/ppi: Fix FSP PPI callback calling convention
Multi Processor PEIM-to-PEIM Interface deals with pointer to function living in FSP space and which therefore need to be called with the appropriate calling convention.
By casting the callback pointer to a `void (*)(void *)' when calling `mp_run_on_all_aps' the C calling convention attribute is lost and the the code generated by the compiler does not match the FSP function calling convention.
This commit adds a function indirection to ensure FSP callbacks are invoked correctly.
TEST=verified on Lunar Lake RVP board (lnlrvp)
Change-Id: If0397f5cc8d0f4f1872bd37a001fe42e0c37ec95 Signed-off-by: Jeremy Compostella jeremy.compostella@intel.com --- M src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c 1 file changed, 32 insertions(+), 5 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/74/80574/13