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:
parent
d35a4811db
commit
423d03c163
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue