diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2019-02-15 16:01:31 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-03-11 17:15:07 -0500 |
commit | 0bfacdff427febebffd7e128744f2f775a756bee (patch) | |
tree | b0dc5279ee6d2f95ca11c94afe9f8d8a9ab5197f /src/usr/errl | |
parent | 281c7c93a46370c73ea473a72f579e684577e457 (diff) | |
download | talos-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.C | 20 | ||||
-rw-r--r-- | src/usr/errl/errlentry_consts.H | 3 | ||||
-rw-r--r-- | src/usr/errl/plugins/errludcallout.H | 6 |
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) ); |