soc/amd/common: Collect timestamps before and after AGESA calls
BUG=b:70432544 TEST=Build & boot kahlee. Look at timestamps. Change-Id: I8209160f8e23ab77987f8e515c7b00d94f68c8be Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/22798 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
This commit is contained in:
parent
fbfe654c06
commit
bc5c3e75a4
1 changed files with 19 additions and 0 deletions
|
@ -21,6 +21,7 @@
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <BiosCallOuts.h>
|
#include <BiosCallOuts.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <timestamp.h>
|
||||||
|
|
||||||
void __attribute__((weak)) SetMemParams(AMD_POST_PARAMS *PostParams) {}
|
void __attribute__((weak)) SetMemParams(AMD_POST_PARAMS *PostParams) {}
|
||||||
void __attribute__((weak)) OemPostParams(AMD_POST_PARAMS *PostParams) {}
|
void __attribute__((weak)) OemPostParams(AMD_POST_PARAMS *PostParams) {}
|
||||||
|
@ -63,7 +64,10 @@ AGESA_STATUS agesawrapper_amdinitreset(void)
|
||||||
AmdResetParams.FchInterface.SataEnable = !((CONFIG_STONEYRIDGE_SATA_MODE == 0) || (CONFIG_STONEYRIDGE_SATA_MODE == 3));
|
AmdResetParams.FchInterface.SataEnable = !((CONFIG_STONEYRIDGE_SATA_MODE == 0) || (CONFIG_STONEYRIDGE_SATA_MODE == 3));
|
||||||
AmdResetParams.FchInterface.IdeEnable = (CONFIG_STONEYRIDGE_SATA_MODE == 0) || (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
AmdResetParams.FchInterface.IdeEnable = (CONFIG_STONEYRIDGE_SATA_MODE == 0) || (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
||||||
|
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_RESET_START);
|
||||||
status = AmdInitReset(&AmdResetParams);
|
status = AmdInitReset(&AmdResetParams);
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_RESET_DONE);
|
||||||
|
|
||||||
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(AmdParamStruct.StdHeader.HeapStatus);
|
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(AmdParamStruct.StdHeader.HeapStatus);
|
||||||
AmdReleaseStruct (&AmdParamStruct);
|
AmdReleaseStruct (&AmdParamStruct);
|
||||||
return status;
|
return status;
|
||||||
|
@ -89,7 +93,10 @@ AGESA_STATUS agesawrapper_amdinitearly(void)
|
||||||
OemCustomizeInitEarly (AmdEarlyParamsPtr);
|
OemCustomizeInitEarly (AmdEarlyParamsPtr);
|
||||||
|
|
||||||
AmdEarlyParamsPtr->GnbConfig.PsppPolicy = PsppDisabled;
|
AmdEarlyParamsPtr->GnbConfig.PsppPolicy = PsppDisabled;
|
||||||
|
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_EARLY_START);
|
||||||
status = AmdInitEarly ((AMD_EARLY_PARAMS *)AmdParamStruct.NewStructPtr);
|
status = AmdInitEarly ((AMD_EARLY_PARAMS *)AmdParamStruct.NewStructPtr);
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_EARLY_DONE);
|
||||||
|
|
||||||
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(AmdParamStruct.StdHeader.HeapStatus);
|
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(AmdParamStruct.StdHeader.HeapStatus);
|
||||||
AmdReleaseStruct (&AmdParamStruct);
|
AmdReleaseStruct (&AmdParamStruct);
|
||||||
|
@ -128,7 +135,9 @@ AGESA_STATUS agesawrapper_amdinitpost(void)
|
||||||
"unknown"
|
"unknown"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_POST_START);
|
||||||
status = AmdInitPost (PostParams);
|
status = AmdInitPost (PostParams);
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_POST_DONE);
|
||||||
|
|
||||||
/* If UMA is enabled we currently have it below TOP_MEM as well.
|
/* If UMA is enabled we currently have it below TOP_MEM as well.
|
||||||
* UMA may or may not be cacheable, so Sub4GCacheTop could be
|
* UMA may or may not be cacheable, so Sub4GCacheTop could be
|
||||||
|
@ -190,7 +199,10 @@ AGESA_STATUS agesawrapper_amdinitenv(void)
|
||||||
EnvParam->FchInterface.SataIdeMode = (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
EnvParam->FchInterface.SataIdeMode = (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
||||||
EnvParam->GnbEnvConfiguration.IommuSupport = FALSE;
|
EnvParam->GnbEnvConfiguration.IommuSupport = FALSE;
|
||||||
|
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_ENV_START);
|
||||||
status = AmdInitEnv (EnvParam);
|
status = AmdInitEnv (EnvParam);
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_ENV_DONE);
|
||||||
|
|
||||||
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(EnvParam->StdHeader.HeapStatus);
|
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(EnvParam->StdHeader.HeapStatus);
|
||||||
/* Initialize Subordinate Bus Number and Secondary Bus Number
|
/* Initialize Subordinate Bus Number and Secondary Bus Number
|
||||||
* In platform BIOS this address is allocated by PCI enumeration code
|
* In platform BIOS this address is allocated by PCI enumeration code
|
||||||
|
@ -258,7 +270,10 @@ AGESA_STATUS agesawrapper_amdinitmid(void)
|
||||||
MidParam->FchInterface.IdeEnable = (CONFIG_STONEYRIDGE_SATA_MODE == 0) || (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
MidParam->FchInterface.IdeEnable = (CONFIG_STONEYRIDGE_SATA_MODE == 0) || (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
||||||
MidParam->FchInterface.SataIdeMode = (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
MidParam->FchInterface.SataIdeMode = (CONFIG_STONEYRIDGE_SATA_MODE == 3);
|
||||||
|
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_MID_START);
|
||||||
status = AmdInitMid ((AMD_MID_PARAMS *)AmdParamStruct.NewStructPtr);
|
status = AmdInitMid ((AMD_MID_PARAMS *)AmdParamStruct.NewStructPtr);
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_MID_DONE);
|
||||||
|
|
||||||
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(AmdParamStruct.StdHeader.HeapStatus);
|
if (status != AGESA_SUCCESS) agesawrapper_amdreadeventlog(AmdParamStruct.StdHeader.HeapStatus);
|
||||||
AmdReleaseStruct (&AmdParamStruct);
|
AmdReleaseStruct (&AmdParamStruct);
|
||||||
|
|
||||||
|
@ -285,7 +300,11 @@ AGESA_STATUS agesawrapper_amdinitlate(void)
|
||||||
/* NOTE: if not call amdcreatestruct, the initializer(AmdInitLateInitializer) would not be called */
|
/* NOTE: if not call amdcreatestruct, the initializer(AmdInitLateInitializer) would not be called */
|
||||||
AmdCreateStruct(&AmdParamStruct);
|
AmdCreateStruct(&AmdParamStruct);
|
||||||
AmdLateParams = (AMD_LATE_PARAMS *)AmdParamStruct.NewStructPtr;
|
AmdLateParams = (AMD_LATE_PARAMS *)AmdParamStruct.NewStructPtr;
|
||||||
|
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_LATE_START);
|
||||||
Status = AmdInitLate(AmdLateParams);
|
Status = AmdInitLate(AmdLateParams);
|
||||||
|
timestamp_add_now(TS_AGESA_INIT_LATE_DONE);
|
||||||
|
|
||||||
if (Status != AGESA_SUCCESS) {
|
if (Status != AGESA_SUCCESS) {
|
||||||
agesawrapper_amdreadeventlog(AmdLateParams->StdHeader.HeapStatus);
|
agesawrapper_amdreadeventlog(AmdLateParams->StdHeader.HeapStatus);
|
||||||
ASSERT(Status == AGESA_SUCCESS);
|
ASSERT(Status == AGESA_SUCCESS);
|
||||||
|
|
Loading…
Reference in a new issue