soc/amd/common: Add generic create_struct call to wrapper

Create a generic function that reports an unsuccessful call to
AmdCreateStruct().

Change-Id: I2654b4f21de5a2621086142681181a687be2c8e3
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/23440
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
Marshall Dawson 2018-01-25 11:13:35 -07:00 committed by Martin Roth
parent c8fcc46025
commit 4c5a3b67e0

View file

@ -69,6 +69,22 @@ static AGESA_STATUS agesawrapper_readeventlog(UINT8 HeapStatus)
return Status; return Status;
} }
static AGESA_STATUS create_struct(AMD_INTERFACE_PARAMS *interface_struct)
{
AGESA_STATUS status = AmdCreateStruct(interface_struct);
if (status == AGESA_SUCCESS)
return status;
printk(BIOS_ERR, "Error: AmdCreateStruct() for 0x%x returned 0x%x. "
"Proper system initialization may not be possible.\n",
interface_struct->AgesaFunctionName, status);
if (!interface_struct->NewStructPtr) /* Avoid NULL pointer usage */
die("No AGESA structure created");
return status;
}
AGESA_STATUS agesawrapper_amdinitreset(void) AGESA_STATUS agesawrapper_amdinitreset(void)
{ {
AGESA_STATUS status; AGESA_STATUS status;
@ -80,7 +96,7 @@ AGESA_STATUS agesawrapper_amdinitreset(void)
.NewStructPtr = &ResetParams, .NewStructPtr = &ResetParams,
.StdHeader.CalloutPtr = &GetBiosCallout .StdHeader.CalloutPtr = &GetBiosCallout
}; };
AmdCreateStruct(&AmdParamStruct); create_struct(&AmdParamStruct);
SetFchResetParams(&ResetParams.FchInterface); SetFchResetParams(&ResetParams.FchInterface);
timestamp_add_now(TS_AGESA_INIT_RESET_START); timestamp_add_now(TS_AGESA_INIT_RESET_START);
@ -103,7 +119,7 @@ AGESA_STATUS agesawrapper_amdinitearly(void)
.StdHeader.CalloutPtr = &GetBiosCallout, .StdHeader.CalloutPtr = &GetBiosCallout,
}; };
AmdCreateStruct(&AmdParamStruct); create_struct(&AmdParamStruct);
EarlyParams = (AMD_EARLY_PARAMS *)AmdParamStruct.NewStructPtr; EarlyParams = (AMD_EARLY_PARAMS *)AmdParamStruct.NewStructPtr;
OemCustomizeInitEarly(EarlyParams); OemCustomizeInitEarly(EarlyParams);
@ -164,7 +180,7 @@ AGESA_STATUS agesawrapper_amdinitpost(void)
}; };
AMD_POST_PARAMS *PostParams; AMD_POST_PARAMS *PostParams;
AmdCreateStruct(&AmdParamStruct); create_struct(&AmdParamStruct);
PostParams = (AMD_POST_PARAMS *)AmdParamStruct.NewStructPtr; PostParams = (AMD_POST_PARAMS *)AmdParamStruct.NewStructPtr;
PostParams->MemConfig.UmaMode = CONFIG_GFXUMA ? UMA_AUTO : UMA_NONE; PostParams->MemConfig.UmaMode = CONFIG_GFXUMA ? UMA_AUTO : UMA_NONE;
@ -215,7 +231,7 @@ AGESA_STATUS agesawrapper_amdinitenv(void)
}; };
AMD_ENV_PARAMS *EnvParams; AMD_ENV_PARAMS *EnvParams;
status = AmdCreateStruct(&AmdParamStruct); status = create_struct(&AmdParamStruct);
EnvParams = (AMD_ENV_PARAMS *)AmdParamStruct.NewStructPtr; EnvParams = (AMD_ENV_PARAMS *)AmdParamStruct.NewStructPtr;
SetFchEnvParams(&EnvParams->FchInterface); SetFchEnvParams(&EnvParams->FchInterface);
@ -270,7 +286,7 @@ AGESA_STATUS agesawrapper_amdinitmid(void)
/* Enable MMIO on AMD CPU Address Map Controller */ /* Enable MMIO on AMD CPU Address Map Controller */
amd_initcpuio(); amd_initcpuio();
AmdCreateStruct(&AmdParamStruct); create_struct(&AmdParamStruct);
MidParams = (AMD_MID_PARAMS *)AmdParamStruct.NewStructPtr; MidParams = (AMD_MID_PARAMS *)AmdParamStruct.NewStructPtr;
SetFchMidParams(&MidParams->FchInterface); SetFchMidParams(&MidParams->FchInterface);
@ -301,7 +317,7 @@ AGESA_STATUS agesawrapper_amdinitlate(void)
* NOTE: if not call amdcreatestruct, the initializer * NOTE: if not call amdcreatestruct, the initializer
* (AmdInitLateInitializer) would not be called. * (AmdInitLateInitializer) would not be called.
*/ */
AmdCreateStruct(&AmdParamStruct); create_struct(&AmdParamStruct);
LateParams = (AMD_LATE_PARAMS *)AmdParamStruct.NewStructPtr; LateParams = (AMD_LATE_PARAMS *)AmdParamStruct.NewStructPtr;
timestamp_add_now(TS_AGESA_INIT_LATE_START); timestamp_add_now(TS_AGESA_INIT_LATE_START);