diff options
author | Prem Shanker Jha <premjha2@in.ibm.com> | 2017-10-02 02:06:05 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-01-15 14:18:39 -0500 |
commit | 6897c9475c92a37b66ca24e39f75ab0f7198bb89 (patch) | |
tree | 9a52457885e0f23becd64f11526306e620c6e8e8 /src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_cme.C | |
parent | b8522e84fe0320e8dc134e502643ac7fcae917e3 (diff) | |
download | talos-hostboot-6897c9475c92a37b66ca24e39f75ab0f7198bb89.tar.gz talos-hostboot-6897c9475c92a37b66ca24e39f75ab0f7198bb89.zip |
Idle Stop State: Adds CME and SGPE global variables to FFDC.
HB calls p9_check_idle_stop_done to collect FFDC when a slave
core fails to activate. Commits collects global variables from
CME and SGPE SRAM and adds to return code as FFDC.
Key_Cronus_Test=PM_REGRESS
CQ: SW406487
Change-Id: Ib008aa165b43f6b7184ad4683cb7caeb90d75078
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46981
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46982
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_cme.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_cme.C | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_cme.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_cme.C index 5be51b1e9..2b6f5cc0f 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_cme.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_cme.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2017 */ +/* Contributors Listed Below - COPYRIGHT 2015,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -227,6 +227,56 @@ //----------------------------------------------------------------------- + fapi2::ReturnCode PlatCme::collectPartialFfdc( void * i_pBuf, FfdcDataType i_dataType, + fapi2::Target<fapi2::TARGET_TYPE_EX >& i_exTgt, + uint32_t & o_ffdcLength ) + { + FAPI_DBG(">> PlatSgpe::collectPartialFfdc"); + fapi2::ReturnCode l_retCode = fapi2::FAPI2_RC_SUCCESS; + uint32_t l_maxSize = o_ffdcLength; + FAPI_DBG("Max buf size %d", o_ffdcLength ); + + switch( i_dataType ) + { + case IMAGE_HEADER: + o_ffdcLength = FFDC_PPE_IMG_HDR_SIZE; + break; + case DASH_BOARD_VAR: + o_ffdcLength = FFDC_PPE_SCORE_BOARD_SIZE; + break; + case TRACES: + o_ffdcLength = FFDC_PPE_TRACES_SIZE; + break; + default: + FAPI_ERR("Bad FFDC Data type. Skipping 0x%d", (uint32_t)i_dataType ); + goto fapi_try_exit; + break; + } + + if( !i_pBuf ) + { + FAPI_ERR("Bad FFDC Buffer" ); + goto fapi_try_exit; + } + + if( o_ffdcLength > l_maxSize ) + { + o_ffdcLength = l_maxSize; + } + + FAPI_TRY( PlatPmComplex::collectSramInfo( i_exTgt, + (uint8_t*)i_pBuf, + i_dataType, + o_ffdcLength ), + "Failed To Collect CME SRAM FFDC" ); + + fapi_try_exit: + FAPI_DBG("<< PlatSgpe::collectPartialFfdc"); + return fapi2::current_err; + } + + //----------------------------------------------------------------------- + fapi2::ReturnCode PlatCme::collectTrace( uint8_t * i_pTraceBuf, const fapi2::Target<fapi2::TARGET_TYPE_EX >& i_exTgt ) { |