diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2019-09-06 01:34:02 -0500 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-09-13 10:31:13 -0500 |
commit | ce0d29c96c4619e07819760b84c32f0eb7812b5c (patch) | |
tree | de182dcffb261d02515b6f6324bdea41d37d4d0d /src/usr/isteps/nvdimm/runtime | |
parent | 8ab48e774cbea9bfec5461d8fd63b4fc7f249c3b (diff) | |
download | talos-hostboot-ce0d29c96c4619e07819760b84c32f0eb7812b5c.tar.gz talos-hostboot-ce0d29c96c4619e07819760b84c32f0eb7812b5c.zip |
Add vendor log data to FFDC for all NVDIMM HW errors
Read vendor log data from NVDIMM
Do checksum compare
Add to error log as string
Change-Id: I41a295bf54d031c978b59fe1f59c98507fbeec81
CQ:SW473585
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83383
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/nvdimm/runtime')
-rw-r--r-- | src/usr/isteps/nvdimm/runtime/nvdimm_rt.C | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C b/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C index d9ce45e5e..a9f630c74 100644 --- a/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C +++ b/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C @@ -141,6 +141,7 @@ errlHndl_t nvdimmCheckArmSuccess(Target *i_nvdimm, bool i_arm_timeout) ERRORLOG::ErrlEntry::NO_SW_CALLOUT ); l_err->collectTrace(NVDIMM_COMP_NAME, 256 ); + nvdimmAddVendorLog(i_nvdimm, l_err); // Failure to arm could mean internal NV controller error or // even error on the battery pack. NVDIMM will lose persistency @@ -453,6 +454,7 @@ bool nvdimmArm(TargetHandleList &i_nvdimmTargetList) // Read relevant regs for trace data nvdimmTraceRegs(l_nvdimm, l_RegInfo); nvdimmAddPage4Regs(l_nvdimm,l_err); + nvdimmAddVendorLog(l_nvdimm, l_err); // Add reg traces to the error log NVDIMM::UdNvdimmOPParms( l_RegInfo ).addToLog(l_err); @@ -849,6 +851,7 @@ bool nvDimmEsCheckHealthStatus(const TargetHandleList &i_nvdimmTargetList) l_esHealthCheck, ErrlEntry::NO_SW_CALLOUT ); l_err->collectTrace(NVDIMM_COMP_NAME); + nvdimmAddVendorLog(l_nvdimm, l_err); // Add a BPM callout l_err->addPartCallout( l_nvdimm, @@ -888,6 +891,7 @@ bool nvDimmEsCheckHealthStatus(const TargetHandleList &i_nvdimmTargetList) l_esHealthCheck, ErrlEntry::NO_SW_CALLOUT ); l_err->collectTrace(NVDIMM_COMP_NAME); + nvdimmAddVendorLog(l_nvdimm, l_err); // Add a BPM callout l_err->addPartCallout( l_nvdimm, @@ -964,6 +968,7 @@ bool nvDimmEsCheckHealthStatus(const TargetHandleList &i_nvdimmTargetList) ES_LIFETIME_MINIMUM_REQUIREMENT), ErrlEntry::NO_SW_CALLOUT ); l_err->collectTrace(NVDIMM_COMP_NAME); + nvdimmAddVendorLog(l_nvdimm, l_err); // Add a BPM callout l_err->addPartCallout( l_nvdimm, @@ -1016,6 +1021,7 @@ bool nvDimmEsCheckHealthStatus(const TargetHandleList &i_nvdimmTargetList) l_esHealthCheck, ErrlEntry::NO_SW_CALLOUT ); l_err->collectTrace(NVDIMM_COMP_NAME); + nvdimmAddVendorLog(l_nvdimm, l_err); // Add a BPM callout l_err->addPartCallout( l_nvdimm, @@ -1480,6 +1486,7 @@ bool nvDimmNvmCheckHealthStatus(const TargetHandleList &i_nvDimmTargetList) ErrlEntry::NO_SW_CALLOUT ); l_err->collectTrace(NVDIMM_COMP_NAME); + nvdimmAddVendorLog(l_nvDimm, l_err); // Collect the error errlCommit(l_err, NVDIMM_COMP_ID); |