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. */
|
/* Return current dispatcher or NULL on error. */
|
||||||
MODULE_ENTRY agesa_get_dispatcher(void);
|
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_amdinitreset(void);
|
||||||
AGESA_STATUS agesawrapper_amdinitearly(void);
|
AGESA_STATUS agesawrapper_amdinitearly(void);
|
||||||
AGESA_STATUS agesawrapper_amdinitenv(void);
|
AGESA_STATUS agesawrapper_amdinitenv(void);
|
||||||
|
@ -41,8 +43,6 @@ AGESA_STATUS agesawrapper_amdinitlate(void);
|
||||||
AGESA_STATUS agesawrapper_amdinitpost(void);
|
AGESA_STATUS agesawrapper_amdinitpost(void);
|
||||||
AGESA_STATUS agesawrapper_amdinitmid(void);
|
AGESA_STATUS agesawrapper_amdinitmid(void);
|
||||||
void *agesawrapper_getlateinitptr(int pick);
|
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_amdinitrtb(void);
|
||||||
AGESA_STATUS agesawrapper_amdinitresume(void);
|
AGESA_STATUS agesawrapper_amdinitresume(void);
|
||||||
AGESA_STATUS agesawrapper_amds3laterestore(void);
|
AGESA_STATUS agesawrapper_amds3laterestore(void);
|
||||||
|
|
|
@ -353,28 +353,9 @@ AGESA_STATUS agesawrapper_amdinitlate(void)
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
AGESA_STATUS agesawrapper_amdlaterunaptask(uint32_t Func, uintptr_t Data,
|
AGESA_STATUS amd_late_run_ap_task(AP_EXE_PARAMS *ApExeParams)
|
||||||
void *ConfigPtr)
|
|
||||||
{
|
{
|
||||||
AGESA_STATUS Status;
|
return AmdLateRunApTask(ApExeParams);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AGESA_STATUS agesawrapper_amdinitrtb(void)
|
AGESA_STATUS agesawrapper_amdinitrtb(void)
|
||||||
|
|
|
@ -186,7 +186,7 @@ AGESA_STATUS agesa_PcieSlotResetControl(uint32_t Func, uintptr_t Data,
|
||||||
static struct agesa_data {
|
static struct agesa_data {
|
||||||
uint32_t Func;
|
uint32_t Func;
|
||||||
uintptr_t Data;
|
uintptr_t Data;
|
||||||
void *ConfigPtr;
|
AP_EXE_PARAMS *ConfigPtr;
|
||||||
} agesadata;
|
} agesadata;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -205,8 +205,7 @@ static void callout_ap_entry(void *unused)
|
||||||
(agesadata.Data == lapicid())))
|
(agesadata.Data == lapicid())))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Status = agesawrapper_amdlaterunaptask(agesadata.Func, agesadata.Data,
|
Status = amd_late_run_ap_task(agesadata.ConfigPtr);
|
||||||
agesadata.ConfigPtr);
|
|
||||||
|
|
||||||
if (Status)
|
if (Status)
|
||||||
printk(BIOS_DEBUG, "There was a problem with %lx returned %s\n",
|
printk(BIOS_DEBUG, "There was a problem with %lx returned %s\n",
|
||||||
|
|
Loading…
Reference in New Issue