From 423d03c16307df584d8890eab2cbfe2cb936081e Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Thu, 28 Jun 2018 21:18:12 +0300 Subject: soc/amd/common: Fix AmdLateRunApTask() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://review.coreboot.org/c/27277 Reviewed-by: Richard Spiegel Tested-by: build bot (Jenkins) --- .../common/block/include/amdblocks/agesawrapper.h | 4 ++-- src/soc/amd/common/block/pi/agesawrapper.c | 23 ++-------------------- src/soc/amd/common/block/pi/def_callouts.c | 5 ++--- 3 files changed, 6 insertions(+), 26 deletions(-) (limited to 'src/soc/amd/common') diff --git a/src/soc/amd/common/block/include/amdblocks/agesawrapper.h b/src/soc/amd/common/block/include/amdblocks/agesawrapper.h index 43bd8deaf4..2f3b8a6268 100644 --- a/src/soc/amd/common/block/include/amdblocks/agesawrapper.h +++ b/src/soc/amd/common/block/include/amdblocks/agesawrapper.h @@ -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); diff --git a/src/soc/amd/common/block/pi/agesawrapper.c b/src/soc/amd/common/block/pi/agesawrapper.c index 92153eee7d..fc69b46ee2 100644 --- a/src/soc/amd/common/block/pi/agesawrapper.c +++ b/src/soc/amd/common/block/pi/agesawrapper.c @@ -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) diff --git a/src/soc/amd/common/block/pi/def_callouts.c b/src/soc/amd/common/block/pi/def_callouts.c index 693c7c58e3..0b119b71d3 100644 --- a/src/soc/amd/common/block/pi/def_callouts.c +++ b/src/soc/amd/common/block/pi/def_callouts.c @@ -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", -- cgit v1.2.3