diff options
author | Chris Phan <cphan@us.ibm.com> | 2013-05-31 15:27:14 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-06-11 09:23:31 -0500 |
commit | 0b3d775296fb211aaa6b58031f479399da79f808 (patch) | |
tree | 9e45f7012baaa7eb6b2dfa00a4191136a35a87ee /src | |
parent | cb9f045d4caaf7a5c8cbdd2ea709bc647ba6c3cc (diff) | |
download | talos-hostboot-0b3d775296fb211aaa6b58031f479399da79f808.tar.gz talos-hostboot-0b3d775296fb211aaa6b58031f479399da79f808.zip |
PRD: update to use new hwsv enums and function
Change-Id: I2e0020e4b0934dd68ad4a48b9ea0007f7eab0a2c
RTC: 72578
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4785
Tested-by: Jenkins Server
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4940
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rwxr-xr-x | src/usr/diag/prdf/common/framework/service/prdf_ras_services.C | 47 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/prdfEnums.H | 24 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C | 36 | ||||
-rw-r--r-- | src/usr/diag/prdf/prdfErrlUtil.H | 2 |
4 files changed, 46 insertions, 63 deletions
diff --git a/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C b/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C index 48b60467a..df66bcda2 100755 --- a/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C +++ b/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C @@ -253,7 +253,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, bool pldCheck = false; // Default to not do the PLD check. Set it to true for Machine Check uint8_t sdcSaveFlags = SDC_NO_SAVE_FLAGS; size_t sz_uint8 = sizeof(uint8_t); - HWSV::homTermEnum termFlag = HWSV::HOM_SYS_NO_TERMINATE; + HWSV::hwsvTermEnum termFlag = HWSV::HWSV_SYS_NO_TERMINATE; HWSV::hwsvDeconfigSchedule deconfigSched = HWSV::HWSV_DECONFIG_IMMEDIATE; uint8_t sdcBuffer[sdcBufferSize]; //buffer to use for sdc flatten errlSeverity severityParm = ERRL_SEV_RECOVERED; @@ -280,9 +280,9 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, sdc = i_sdc; GardResolution::ErrorType prdGardErrType; - HWSV::homGardEnum gardState; // homGardEnum in src/hwsv/server/hwsvTypes.H + HWSV::hwsvGardEnum gardState; // defined in src/hwsv/server/hwsvTypes.H GARD_ErrorType gardErrType = GARD_NULL; - HWSV::homDeconfigEnum deconfigState = HWSV::HOM_NO_DECONFIG; + HWSV::hwsvDeconfigEnum deconfigState = HWSV::HWSV_NO_DECONFIG; bool ReturnELog = false; bool ForceTerminate = false; @@ -313,7 +313,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, if (terminateOnCheckstop) { //Also need to return error log for machine check condition - termFlag = HWSV::HOM_SYS_TERMINATE_HW_CHECKSTOP; + termFlag = HWSV::HWSV_SYS_TERMINATE_HW_CHECKSTOP; } ReturnELog = true; @@ -479,7 +479,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, // Set Gard Error Type and state //************************************************************** - gardState = HWSV::HOM_DECONFIG_GARD; + gardState = HWSV::HWSV_DECONFIG_GARD; // If gardErrType was determined during latent/UE/SUE processing for Check Stop, // use that and not determine gardErrType from the sdc values. @@ -489,7 +489,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, switch (prdGardErrType) { case GardResolution::NoGard: - gardState = HWSV::HOM_NO_GARD; + gardState = HWSV::HWSV_NO_GARD; gardErrType = GARD_NULL; break; case GardResolution::Predictive: @@ -513,16 +513,16 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, } else { - gardState = HWSV::HOM_NO_GARD; + gardState = HWSV::HWSV_NO_GARD; gardErrType = GARD_NULL; } break; case GardResolution::DeconfigNoGard: - gardState = HWSV::HOM_NO_GARD; + gardState = HWSV::HWSV_NO_GARD; gardErrType = GARD_NULL; break; default: - gardState = HWSV::HOM_NO_GARD; + gardState = HWSV::HWSV_NO_GARD; gardErrType = GARD_NULL; PRDF_DTRAC( PRDF_FUNC"Unknown prdGardErrType" ); break; @@ -534,7 +534,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, // If NoGard was specified in this switched sdc, then keep the NoGard if ( sdc.QueryGard() == GardResolution::NoGard ) { - gardState = HWSV::HOM_NO_GARD; + gardState = HWSV::HWSV_NO_GARD; gardErrType = GARD_NULL; prdGardErrType = GardResolution::NoGard; } @@ -546,7 +546,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, if (sdc.IsThermalEvent() && (MACHINE_CHECK != attn_type) ) { //Force No Gard - gardState = HWSV::HOM_NO_GARD; + gardState = HWSV::HWSV_NO_GARD; gardErrType = GARD_NULL; } @@ -599,7 +599,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, HW = true; //hardware callout // If we are in Concurrent Maintenance Mode, we will need to disable - // the Deferred Deconfig, if the callouts are not HOM_CM_FUNCTIONAL. + // Deferred Deconfig, if the callouts are not HWSV_CM_FUNCTIONAL. /* FIXME: RTC 50063 PlatServices::inCMMode() not available yet if (PlatServices::inCMMode()) @@ -638,7 +638,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, // If we are in Concurrent Maintenance Mode, // we will need to disable the - // Deferred Deconfig, if the callouts are not HOM_CM_FUNCTIONAL. + // Deferred Deconfig, if the callouts are not HWSV_CM_FUNCTIONAL. // FIXME PlatServices::inCMMode() not avaialble yet #if 0 if (PlatServices::inCMMode()) @@ -704,11 +704,11 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, iplDiagMode = true; if ( (MACHINE_CHECK != attn_type || !terminateOnCheckstop) && myCM_FUNCTIONAL && - (HOM_NO_GARD != gardState || + (HWSV_NO_GARD != gardState || GardResolution::DeconfigNoGard == prdGardErrType ) ) //Allow Deferred Deconfig for IPL Diag when No Gard action is needed { deferDeconfig = true; - deconfigState = HOM_DECONFIG; + deconfigState = HWSV_DECONFIG; deconfigSched = HWSV::HWSV_DECONFIG_DEFER; } @@ -772,25 +772,25 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, TargetHandle_t target = thiscallout.getTarget(); // Don't deconfig a Memory Controller for Bus Errors (Mc and SuperNova // both in Callouts) for Mem Diag. Note still deconfg the SuperNova. - HWSV::homDeconfigEnum thisDeconfigState = deconfigState; + HWSV::hwsvDeconfigEnum thisDeconfigState = deconfigState; TYPE l_targetType = PlatServices::getTargetType(target); - if ( HWSV::HOM_DECONFIG == deconfigState && + if ( HWSV::HWSV_DECONFIG == deconfigState && l_memBuffInCallouts && - (l_targetType == TYPE_MCS)) //InP8 only 1:1 connection between Mem Buf and Mem ctrl + (l_targetType == TYPE_MCS)) + //In P8 only 1:1 connection between Mem Buf and Mem ctrl { - thisDeconfigState = HWSV::HOM_NO_DECONFIG; + thisDeconfigState = HWSV::HWSV_NO_DECONFIG; } #ifdef __HOSTBOOT_MODULE // FIXME: this will change once mdia mode support is in if(true == iplDiagMode) { - thisDeconfigState = HWSV::HOM_DEFER_DECONFIG; // DELAYED_DECONFIG; + thisDeconfigState = HWSV::HWSV_DEFER_DECONFIG; } #endif - PRDF_HW_ADD_CALLOUT(ForceTerminate, - target, + PRDF_HW_ADD_CALLOUT(target, thispriority, thisDeconfigState, gardState, @@ -809,8 +809,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa(ATTENTION_TYPE attn_type, for ( TargetHandleList::iterator it = partList.begin(); it != partList.end(); it++ ) { - PRDF_HW_ADD_CALLOUT( ForceTerminate, - *it, + PRDF_HW_ADD_CALLOUT( *it, thispriority, deconfigState, gardState, diff --git a/src/usr/diag/prdf/common/prdfEnums.H b/src/usr/diag/prdf/common/prdfEnums.H index 882d7eb84..7f6b907b8 100755 --- a/src/usr/diag/prdf/common/prdfEnums.H +++ b/src/usr/diag/prdf/common/prdfEnums.H @@ -36,12 +36,12 @@ { enum { - // homDeconfigEnum + // hwsvDeconfigEnum // mapping from HWSV enums to HB ones // eventually these HWAS will make it way to fips - HOM_NO_DECONFIG = HWAS::NO_DECONFIG, - HOM_DECONFIG = HWAS::DECONFIG, - HOM_DEFER_DECONFIG = HWAS::DELAYED_DECONFIG + HWSV_NO_DECONFIG = HWAS::NO_DECONFIG, + HWSV_DECONFIG = HWAS::DECONFIG, + HWSV_DEFER_DECONFIG = HWAS::DELAYED_DECONFIG }; }; @@ -99,23 +99,23 @@ namespace HWSV { typedef uint32_t hwsvHCDBUpdate; - typedef uint32_t homTermEnum; - typedef uint32_t homGardEnum; - typedef uint32_t homDeconfigEnum; + typedef uint32_t hwsvTermEnum; + typedef uint32_t hwsvGardEnum; + typedef uint32_t hwsvDeconfigEnum; typedef uint32_t hwsvDeconfigSchedule; enum { - // homTermEnum - HOM_SYS_NO_TERMINATE = 0, + // hwsvTermEnum + HWSV_SYS_NO_TERMINATE = 0, // hwsvHCDBUpdate HWSV_HCDB_DO_UPDATE = 0, HWSV_HCDB_OVERRIDE, - // homGardEnum - HOM_NO_GARD = 0, - HOM_DECONFIG_GARD, + // hwsvGardEnum + HWSV_NO_GARD = 0, + HWSV_DECONFIG_GARD, //hwsvDeconfigSchedule HWSV_DECONFIG_IMMEDIATE = 0, diff --git a/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C b/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C index 4e58f4f2f..b2a64ef8e 100644 --- a/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C +++ b/src/usr/diag/prdf/plat/pegasus/prdfDramRepairs.C @@ -52,13 +52,12 @@ bool validSymbol(uint8_t i_symbol) return i_symbol != INVALID_SYMBOL; } -bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data, +void commitRestoreCallout( void (*i_func)(errlHndl_t &, void *), void * i_data, TargetHandle_t i_mba ) { PRDF_DENTER("commitRestoreCallout"); errlHndl_t err = NULL; - bool o_term = false; PRDF_HW_CREATE_ERRL( err, @@ -70,15 +69,12 @@ bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data, FSP_DEFAULT_REFCODE, PRDF_DETECTED_FAIL_HARDWARE_PROBABLE, 0, 0, 0, 0, // user data - HOM_SYS_NO_TERMINATE, + HWSV_SYS_NO_TERMINATE, false); // no pld check // add the callout - if((*i_func)(err, i_data)) - { - o_term = true; - } + (*i_func)(err, i_data); bool term = false; @@ -89,7 +85,7 @@ bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data, err, HWSV::HWSV_DECONFIG_DEFER, ERRL_ACTION_REPORT, - HOM_CONTINUE); + HWSV_CONTINUE); if(term) { @@ -98,16 +94,12 @@ bool commitRestoreCallout( bool (*i_func)(errlHndl_t &, void *), void * i_data, PRDF_COMMIT_ERRL(err, ERRL_ACTION_REPORT); } - - return o_term; } -bool addMemMruCallout(errlHndl_t & io_log, void * i_memMru) +void addMemMruCallout(errlHndl_t & io_log, void * i_memMru) { PRDF_DENTER("addMemMruCallout"); - bool o_term = false; - if ( NULL != i_memMru ) { MemoryMru *memMru = static_cast<MemoryMru *>(i_memMru); @@ -117,11 +109,10 @@ bool addMemMruCallout(errlHndl_t & io_log, void * i_memMru) it != partList.end(); it++ ) { PRDF_HW_ADD_CALLOUT( - o_term, *it, SRCI_PRIORITY_HIGH, - HWSV::HOM_DECONFIG, - HWSV::HOM_DECONFIG_GARD, + HWSV::HWSV_DECONFIG, + HWSV::HWSV_DECONFIG_GARD, io_log, false, // don't write src to vpd GARD_Predictive, @@ -129,29 +120,22 @@ bool addMemMruCallout(errlHndl_t & io_log, void * i_memMru) false); // don't update hcdb } } - - return o_term; } -bool addDimmCallout(errlHndl_t & io_log, void * i_dimm) +void addDimmCallout(errlHndl_t & io_log, void * i_dimm) { PRDF_DENTER("addDimmCallout"); - bool o_term = false; - PRDF_HW_ADD_CALLOUT( - o_term, static_cast<TargetHandle_t>(i_dimm), SRCI_PRIORITY_HIGH, - HWSV::HOM_DECONFIG, - HWSV::HOM_DECONFIG_GARD, + HWSV::HWSV_DECONFIG, + HWSV::HWSV_DECONFIG_GARD, io_log, false, // don't write src to vpd GARD_Predictive, ERRL_SEV_PREDICTIVE, false); // don't update hcdb - - return o_term; } bool processRepairedRanks( TargetHandle_t i_mba, uint8_t i_repairedRankMask ) diff --git a/src/usr/diag/prdf/prdfErrlUtil.H b/src/usr/diag/prdf/prdfErrlUtil.H index 085cb3b27..9563758df 100644 --- a/src/usr/diag/prdf/prdfErrlUtil.H +++ b/src/usr/diag/prdf/prdfErrlUtil.H @@ -199,7 +199,7 @@ /** * @brief Error log interface to add a HW callout to an existing error log. */ -#define PRDF_HW_ADD_CALLOUT(io_sysTerm, i_target, i_priority, \ +#define PRDF_HW_ADD_CALLOUT(i_target, i_priority, \ i_deconfigState, i_gardState, \ io_errl, i_writeVpd, \ i_gardErrType, i_severity, i_hcdb_update) \ |