summaryrefslogtreecommitdiffstats
path: root/src/usr/errl
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2019-02-15 16:01:31 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-03-11 17:15:07 -0500
commit0bfacdff427febebffd7e128744f2f775a756bee (patch)
treeb0dc5279ee6d2f95ca11c94afe9f8d8a9ab5197f /src/usr/errl
parent281c7c93a46370c73ea473a72f579e684577e457 (diff)
downloadtalos-hostboot-0bfacdff427febebffd7e128744f2f775a756bee.tar.gz
talos-hostboot-0bfacdff427febebffd7e128744f2f775a756bee.zip
Add callouts for NVDIMM errors
- Add part callout for NVDIMM controller - Add part callout for Backup Power Module - Call new procedure for NVDIMM errors Change-Id: I33d14b8e4220ced3c632c8174eaed5faca4f088d RTC:199645 CMVC-Prereq:1077602 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71977 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/errl')
-rw-r--r--src/usr/errl/errlentry.C20
-rw-r--r--src/usr/errl/errlentry_consts.H3
-rw-r--r--src/usr/errl/plugins/errludcallout.H6
3 files changed, 26 insertions, 3 deletions
diff --git a/src/usr/errl/errlentry.C b/src/usr/errl/errlentry.C
index 370df7091..83dada55e 100644
--- a/src/usr/errl/errlentry.C
+++ b/src/usr/errl/errlentry.C
@@ -405,6 +405,18 @@ void ErrlEntry::addPartCallout(const TARGETING::Target *i_target,
i_target, i_partType, i_priority,
i_deconfigState, i_gardErrorType);
+ // Need targeting for nvdimm check
+ if(Util::isTargetingLoaded() && TARGETING::targetService().isInitialized())
+ {
+ // Add procedure callout to replace the cable to the NVDIMM
+ if( (i_target->getAttr<TARGETING::ATTR_TYPE>() == TARGETING::TYPE_DIMM)
+ && ( isNVDIMM(i_target) ) )
+ {
+ addProcedureCallout( HWAS::EPUB_PRC_NVDIMM_ERR,
+ HWAS::SRCI_PRIORITY_HIGH );
+ }
+ }
+
const void* pData = nullptr;
uint32_t size = 0;
TARGETING::EntityPath* ep = nullptr;
@@ -586,6 +598,14 @@ void ErrlEntry::addHwCallout(const TARGETING::Target *i_target,
get_huid(i_target), i_priority,
i_deconfigState, i_gardErrorType);
#endif
+
+ // Add procedure callout to replace the cable to the NVDIMM
+ if( isNVDIMM(i_target) )
+ {
+ addProcedureCallout( HWAS::EPUB_PRC_NVDIMM_ERR,
+ HWAS::SRCI_PRIORITY_HIGH );
+ }
+
TARGETING::EntityPath ep;
TARGETING::TYPE l_type = i_target->getAttr<TARGETING::ATTR_TYPE>();
diff --git a/src/usr/errl/errlentry_consts.H b/src/usr/errl/errlentry_consts.H
index 6236cd37f..e6784c217 100644
--- a/src/usr/errl/errlentry_consts.H
+++ b/src/usr/errl/errlentry_consts.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2017,2018 */
+/* Contributors Listed Below - COPYRIGHT 2017,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -66,6 +66,7 @@ const epubProcToSub_t PROCEDURE_TO_SUBSYS_TABLE[] =
{ EPUB_PRC_COOLING_SYSTEM_ERR , EPUB_MISC_SUBSYS },
{ EPUB_PRC_FW_VERIFICATION_ERR , EPUB_FIRMWARE_SUBSYS },
{ EPUB_PRC_GPU_ISOLATION_PROCEDURE, EPUB_CEC_HDW_SUBSYS },
+ { EPUB_PRC_NVDIMM_ERR , EPUB_MEMORY_SUBSYS },
};
struct epubTargetTypeToSub_t
diff --git a/src/usr/errl/plugins/errludcallout.H b/src/usr/errl/plugins/errludcallout.H
index e8bb364e9..b063f44b8 100644
--- a/src/usr/errl/plugins/errludcallout.H
+++ b/src/usr/errl/plugins/errludcallout.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2018 */
+/* Contributors Listed Below - COPYRIGHT 2013,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -149,6 +149,8 @@ case HWAS::_type: i_parser.PrintString( "Part Type", #_type); break;
case_PART_TYPE(PROC_REF_CLOCK)
case_PART_TYPE(PCI_REF_CLOCK)
case_PART_TYPE(SMP_CABLE)
+ case_PART_TYPE(BPM_CABLE_PART_TYPE)
+ case_PART_TYPE(NV_CONTROLLER_PART_TYPE)
default:
i_parser.PrintNumber( "Part Type", "UNKNOWN: 0x%X",
@@ -369,7 +371,7 @@ case HWAS::_type: i_parser.PrintString( "Priority", #_type); break;
#define case_FLAG(_type) \
case HWAS::_type: i_parser.PrintString( "Flag", #_type); break;
case_FLAG(FLAG_LINK_DOWN)
- case(HWAS::FLAG_NONE): break; //do not print anything
+ case(HWAS::FLAG_NONE): break; //do not print anything
default:
i_parser.PrintNumber( "Flag", "UNKNOWN: 0x%X",
ntohl(pData->flag) );
OpenPOWER on IntegriCloud