soc/amd/common: Fix AmdLateRunApTask()

Third parameter ConfigPtr of the callout is of type
AP_EXE_PARAMS and needs to be passed back to AGESA
with AmdLateRunApTask() call.

Change-Id: I1dad64b955b53bd19363737665235f95aa3d451e
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/27277
Reviewed-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Kyösti Mälkki 2018-06-28 21:18:12 +03:00 committed by Patrick Georgi
parent d35a4811db
commit 423d03c163
3 changed files with 6 additions and 26 deletions

View File

@ -34,6 +34,8 @@ enum {
/* Return current dispatcher or NULL on error. */
MODULE_ENTRY agesa_get_dispatcher(void);
AGESA_STATUS amd_late_run_ap_task(AP_EXE_PARAMS *ApExeParams);
AGESA_STATUS agesawrapper_amdinitreset(void);
AGESA_STATUS agesawrapper_amdinitearly(void);
AGESA_STATUS agesawrapper_amdinitenv(void);
@ -41,8 +43,6 @@ AGESA_STATUS agesawrapper_amdinitlate(void);
AGESA_STATUS agesawrapper_amdinitpost(void);
AGESA_STATUS agesawrapper_amdinitmid(void);
void *agesawrapper_getlateinitptr(int pick);
AGESA_STATUS agesawrapper_amdlaterunaptask(uint32_t Func, uintptr_t Data,
void *ConfigPtr);
AGESA_STATUS agesawrapper_amdinitrtb(void);
AGESA_STATUS agesawrapper_amdinitresume(void);
AGESA_STATUS agesawrapper_amds3laterestore(void);

View File

@ -353,28 +353,9 @@ AGESA_STATUS agesawrapper_amdinitlate(void)
return Status;
}
AGESA_STATUS agesawrapper_amdlaterunaptask(uint32_t Func, uintptr_t Data,
void *ConfigPtr)
AGESA_STATUS amd_late_run_ap_task(AP_EXE_PARAMS *ApExeParams)
{
AGESA_STATUS Status;
AP_EXE_PARAMS ApExeParams;
memset(&ApExeParams, 0, sizeof(ApExeParams));
ApExeParams.StdHeader.AltImageBasePtr = 0;
ApExeParams.StdHeader.CalloutPtr = &GetBiosCallout;
ApExeParams.StdHeader.Func = 0;
ApExeParams.StdHeader.ImageBasePtr = 0;
ApExeParams.FunctionNumber = Func;
ApExeParams.RelatedDataBlock = ConfigPtr;
Status = AmdLateRunApTask(&ApExeParams);
if (Status != AGESA_SUCCESS) {
/* agesawrapper_readeventlog(); */
ASSERT(Status == AGESA_SUCCESS);
}
return Status;
return AmdLateRunApTask(ApExeParams);
}
AGESA_STATUS agesawrapper_amdinitrtb(void)

View File

@ -186,7 +186,7 @@ AGESA_STATUS agesa_PcieSlotResetControl(uint32_t Func, uintptr_t Data,
static struct agesa_data {
uint32_t Func;
uintptr_t Data;
void *ConfigPtr;
AP_EXE_PARAMS *ConfigPtr;
} agesadata;
/*
@ -205,8 +205,7 @@ static void callout_ap_entry(void *unused)
(agesadata.Data == lapicid())))
return;
Status = agesawrapper_amdlaterunaptask(agesadata.Func, agesadata.Data,
agesadata.ConfigPtr);
Status = amd_late_run_ap_task(agesadata.ConfigPtr);
if (Status)
printk(BIOS_DEBUG, "There was a problem with %lx returned %s\n",