diff options
Diffstat (limited to 'src/usr/diag')
13 files changed, 68 insertions, 83 deletions
diff --git a/src/usr/diag/prdf/common/framework/config/prdfPciOscSwitchDomain.C b/src/usr/diag/prdf/common/framework/config/prdfPciOscSwitchDomain.C index cdce54a4b..e383a762e 100644 --- a/src/usr/diag/prdf/common/framework/config/prdfPciOscSwitchDomain.C +++ b/src/usr/diag/prdf/common/framework/config/prdfPciOscSwitchDomain.C @@ -360,7 +360,7 @@ void PciOscSwitchDomain::addHwCalloutAndSignature( STEP_CODE_DATA_STRUCT & i_sc, }while(0); i_sc.service_data->SetErrorSig( signature ); - i_sc.service_data->SetFlag( ServiceDataCollector::SERVICE_CALL ); + i_sc.service_data->SetServiceCall(); #undef PRDF_FUNC } diff --git a/src/usr/diag/prdf/common/framework/resolution/xspprdFlagResolution.C b/src/usr/diag/prdf/common/framework/resolution/xspprdFlagResolution.C index 6f9ef1141..26e6fa50f 100755 --- a/src/usr/diag/prdf/common/framework/resolution/xspprdFlagResolution.C +++ b/src/usr/diag/prdf/common/framework/resolution/xspprdFlagResolution.C @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2001,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ +/* [+] International Business Machines Corp. */ +/* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ /* you may not use this file except in compliance with the License. */ @@ -47,7 +49,7 @@ namespace PRDF int32_t FlagResolution::Resolve(STEP_CODE_DATA_STRUCT & error) { uint32_t rc = SUCCESS; - error.service_data->SetFlag(xFlag); + error.service_data->setFlag(xFlag); return rc; } diff --git a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h index 5b58a65d7..9c95bb4d2 100755 --- a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h +++ b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h @@ -216,6 +216,24 @@ public: // End Function Specification **************************************** //~ServiceDataCollector(); + /** + * @brief Sets an SDC flag. + * @param i_flag The flag to set. + */ + void setFlag( Flag i_flag ) { flags |= i_flag; } + + /** + * @brief Clears an SDC flag. + * @param i_flag The flag to clear. + */ + void clearFlag( Flag i_flag ) { flags &= ~i_flag; } + + /** + * @param i_flag The flag to query. + * @return True if the flag is set, false otherwise. + */ + bool queryFlag( Flag i_flag ) const { return (0 != (flags & i_flag)); } + /** Get access to the error signature object <ul> @@ -315,7 +333,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsAtThreshold(void) const { return (flags & AT_THRESHOLD)!=0 ? true:false; } + bool IsAtThreshold(void) const { return queryFlag(AT_THRESHOLD); } /** Query for need to terminate is machine @@ -327,7 +345,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool Terminate(void) const { return (flags & TERMINATE) != 0 ? true:false; } + bool Terminate(void) const { return queryFlag(TERMINATE); } /** Set the global attention type @@ -403,7 +421,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsDegraded(void) const { return (flags & DEGRADED)!=0 ? true:false; } + bool IsDegraded(void) const { return queryFlag(DEGRADED); } /** Get the mask ID to mask off the error when thresholding @@ -427,7 +445,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - void NoMfgTracking(void) { flags &= ~TRACKIT; } + void NoMfgTracking(void) { clearFlag(TRACKIT); } /** Query for need to track in manufacturing log @@ -439,7 +457,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsMfgTracking(void) const { return (flags & TRACKIT)!=0 ? true:false; } + bool IsMfgTracking(void) const { return queryFlag(TRACKIT); } /** Indicate that no system log should be generated @@ -451,7 +469,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - void Nologging(void) { flags &= ~LOGIT; } + void Nologging(void) { clearFlag(LOGIT); } /** Query for need to make a system error log @@ -463,12 +481,12 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsLogging(void) const { return (flags & LOGIT)!=0 ? true:false; } + bool IsLogging(void) const { return queryFlag(LOGIT); } /** * @brief Sets flag to indicate not to commit the error log. */ - void DontCommitErrorLog() { flags |= DONT_COMMIT_ERRL; } + void DontCommitErrorLog() { setFlag(DONT_COMMIT_ERRL); } /** * @brief Queries if the 'Don't Commit Error Log' flag is on. @@ -477,7 +495,7 @@ public: bool IsDontCommitErrl() const { #ifndef ESW_SIM_COMPILE - return ( 0 != (flags & DONT_COMMIT_ERRL) ); + return queryFlag(DONT_COMMIT_ERRL); #else return false; #endif @@ -493,7 +511,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - void SetServiceCall(void) { flags |= SERVICE_CALL; } + void SetServiceCall(void) { setFlag(SERVICE_CALL); } /** Query for need of a Service Call @@ -505,7 +523,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsServiceCall(void) const { return (flags & SERVICE_CALL)!=0 ? true:false; } + bool IsServiceCall(void) const { return queryFlag(SERVICE_CALL); } /** Indicate the chip where analysis begain @@ -635,7 +653,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - void SetSUE(void) { flags |= SUE; } + void SetSUE(void) { setFlag(SUE); } /** Query for Special Uncorrectable Error (SUE) @@ -647,7 +665,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsSUE(void) const { return (flags & SUE)!=0 ? true:false; } + bool IsSUE(void) const { return queryFlag(SUE); } /** Set Error type as Uncorrectable Recoverable Error @@ -659,7 +677,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - void SetUERE(void) { flags |= UERE; } + void SetUERE(void) { setFlag(UERE); } /** Query for Uncorrectable Recoverable Error (UERE) @@ -671,42 +689,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsUERE(void) const { return (flags & UERE)!=0 ? true:false;} - - /** - Set a flag - <ul> - <br><b>Parameters: </b> ServiceDataCollector::Flag - <br><b>Returns: </b> Nothing. - <br><b>Requirements:</b> None - <br><b>Promises: </b> ServiceDataCollector::Flag is true - <br><b>Exceptions: </b> None. - </ul><br> - */ - void SetFlag(Flag flag) { flags |= flag ;} //mk03a - - /** - Get a flag - <ul> - <br><b>Parameters: </b> ServiceDataCollector::Flag - <br><b>Returns: </b> boolean. - <br><b>Requirements:</b> None - <br><b>Exceptions: </b> None. - </ul><br> - */ - bool GetFlag(Flag flag) { return ((flags & flag)!=0);} - - /** - Clear a flag - <ul> - <br><b>Parameters: </b> ServiceDataCollector::Flag - <br><b>Returns: </b> Nothing. - <br><b>Requirements:</b> None - <br><b>Promises: </b> ServiceDataCollector::Flag is false - <br><b>Exceptions: </b> None. - </ul><br> - */ - void ClearFlag(Flag flag) { flags &= ~flag ;} // rc09a + bool IsUERE(void) const { return queryFlag(UERE); } // dg08 - start /** @@ -729,29 +712,29 @@ public: void SetTOE(Timer& theTime) { ivCurrentEventTime = theTime; } /** Is a Proc Core CS flag on? */ - bool IsProcCoreCS (void) const { return (flags & PROC_CORE_CS) != 0 ? true:false; } + bool IsProcCoreCS (void) const { return queryFlag(PROC_CORE_CS); } /** Is a Unit CS flag on? */ - bool IsUnitCS (void) const { return (flags & UNIT_CS) != 0 ? true:false; } + bool IsUnitCS (void) const { return queryFlag(UNIT_CS); } /** Is a Using Saved SDC on? */ - bool IsUsingSavedSdc (void) const { return (flags & USING_SAVED_SDC) != 0 ? true:false; } + bool IsUsingSavedSdc (void) const { return queryFlag(USING_SAVED_SDC); } /** * @brief sets flag indicating only secondary error bit is set in FIR */ - void setSecondaryErrFlag( ) { flags |= SECONDARY_ERRORS_FOUND; } + void setSecondaryErrFlag() { setFlag(SECONDARY_ERRORS_FOUND); } /** * @brief clears flag indicating only secondary error bit is set in FIR */ - void clearSecondaryErrFlag() { ( flags &= ~SECONDARY_ERRORS_FOUND ); } + void clearSecondaryErrFlag() { clearFlag(SECONDARY_ERRORS_FOUND); } /** * @brief returns true if there is only secondary error. * @return true if secondary is found false otherwise. */ bool isSecondaryErrFound() const - { return ( ( flags & SECONDARY_ERRORS_FOUND ) != 0 ); } + { return queryFlag(SECONDARY_ERRORS_FOUND); } #ifndef __HOSTBOOT_MODULE @@ -886,7 +869,7 @@ public: void SetDump( hwTableContent iDumpRequestContent, TARGETING::TargetHandle_t iDumpRequestChipHandle = NULL ) { - SetFlag(DUMP); + setFlag(DUMP); ivDumpRequestContent = iDumpRequestContent; ivpDumpRequestChipHandle = iDumpRequestChipHandle; } @@ -901,7 +884,7 @@ public: <br><b>Exceptions: </b> None. </ul><br> */ - bool IsDump(void) const { return (flags & DUMP)!=0 ? true:false; } + bool IsDump(void) const { return queryFlag(DUMP); } /** Get the dump Id diff --git a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C index b85b2895e..ee1ca1876 100644 --- a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C +++ b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C @@ -200,7 +200,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType, io_sdc.setPrimaryAttnType( origSdc.getPrimaryAttnType() ); if ( origSdc.Terminate() ) - io_sdc.SetFlag(ServiceDataCollector::TERMINATE); + io_sdc.setFlag(ServiceDataCollector::TERMINATE); } } else if (sdcSaveFlags & SDC_SAVE_SUE_FLAG ) //else check if SUE log @@ -225,7 +225,7 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType, io_sdc.setPrimaryAttnType( origSdc.getPrimaryAttnType() ); if ( origSdc.Terminate() ) - io_sdc.SetFlag(ServiceDataCollector::TERMINATE); + io_sdc.setFlag(ServiceDataCollector::TERMINATE); } } } diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C index 6dedb8895..be7686ed3 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C @@ -287,9 +287,9 @@ int32_t ClearServiceCallFlag( ExtensibleChip * i_chip, { if ( i_sc.service_data->IsAtThreshold() && !mfgMode() && (CHECK_STOP != i_sc.service_data->getPrimaryAttnType()) && - (!i_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS)) ) + (!i_sc.service_data->queryFlag(ServiceDataCollector::UNIT_CS)) ) { - i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL); + i_sc.service_data->clearFlag(ServiceDataCollector::SERVICE_CALL); } return SUCCESS; diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C index 700cd23e1..f4858e1df 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C @@ -715,7 +715,7 @@ void CenMbaTdCtlrCommon::badPathErrorHandling( STEP_CODE_DATA_STRUCT & io_sc ) // Just in case it was a legitimate maintenance command complete (error // log not committed) but something else failed. - io_sc.service_data->ClearFlag(ServiceDataCollector::DONT_COMMIT_ERRL); + io_sc.service_data->clearFlag(ServiceDataCollector::DONT_COMMIT_ERRL); #undef PRDF_FUNC } diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C index 7592067c9..798c741e0 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C @@ -349,7 +349,7 @@ int32_t checkMcsChannelFail( ExtensibleChip * i_mcsChip, do { // Skip if already handling unit checkstop. - if ( io_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS) ) + if ( io_sc.service_data->IsUnitCS() ) break; // Must be an MCS. @@ -371,7 +371,7 @@ int32_t checkMcsChannelFail( ExtensibleChip * i_mcsChip, if ( !mcifir->IsBitSet(31) ) break; // No channel fail, so exit. // Set unit checkstop flag and cause attention type. - io_sc.service_data->SetFlag(ServiceDataCollector::UNIT_CS); + io_sc.service_data->setFlag(ServiceDataCollector::UNIT_CS); io_sc.service_data->setSecondaryAttnType(UNIT_CS); io_sc.service_data->SetThresholdMaskId(0); @@ -425,7 +425,7 @@ int32_t chnlCsCleanup( ExtensibleChip *i_mbChip, break; // Cleanup has already been done. // Set it as SUE generation point. - i_sc.service_data->SetFlag( ServiceDataCollector::UERE ); + i_sc.service_data->SetUERE(); ExtensibleChip * mcsChip = mbdb->getMcsChip(); if ( NULL == mcsChip ) diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C index 49ba2e96e..1481a5dad 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C @@ -235,7 +235,7 @@ int32_t PreAnalysis( ExtensibleChip * i_mbChip, STEP_CODE_DATA_STRUCT & i_sc, do { // Skip if we're already analyzing a unit checkstop - if ( i_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS) ) + if ( i_sc.service_data->IsUnitCS() ) break; // Skip if we're analyzing a special attention. @@ -261,7 +261,7 @@ int32_t PreAnalysis( ExtensibleChip * i_mbChip, STEP_CODE_DATA_STRUCT & i_sc, if ( fir->BitStringIsZero() ) break; // No unit checkstop // Set Unit checkstop flag - i_sc.service_data->SetFlag(ServiceDataCollector::UNIT_CS); + i_sc.service_data->setFlag(ServiceDataCollector::UNIT_CS); i_sc.service_data->SetThresholdMaskId(0); // Set the cause attention type @@ -1260,9 +1260,9 @@ int32_t ClearServiceCallFlag( ExtensibleChip * i_chip, { if ( i_sc.service_data->IsAtThreshold() && !mfgMode() && (CHECK_STOP != i_sc.service_data->getPrimaryAttnType()) && - (!i_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS)) ) + (!i_sc.service_data->queryFlag(ServiceDataCollector::UNIT_CS)) ) { - i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL); + i_sc.service_data->clearFlag(ServiceDataCollector::SERVICE_CALL); } return SUCCESS; diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C index facab825e..4717285db 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C @@ -59,9 +59,9 @@ int32_t ClearServiceCallFlag( ExtensibleChip * i_chip, { if ( i_sc.service_data->IsAtThreshold() && !mfgMode() && (CHECK_STOP != i_sc.service_data->getPrimaryAttnType()) && - (!i_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS)) ) + (!i_sc.service_data->queryFlag(ServiceDataCollector::UNIT_CS)) ) { - i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL); + i_sc.service_data->clearFlag(ServiceDataCollector::SERVICE_CALL); } return SUCCESS; diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C index 2fc36638c..ea36cb66b 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C @@ -228,9 +228,9 @@ int32_t ClearServiceCallFlag( ExtensibleChip * i_chip, { if ( i_sc.service_data->IsAtThreshold() && !mfgMode() && (CHECK_STOP != i_sc.service_data->getPrimaryAttnType()) && - (!i_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS)) ) + (!i_sc.service_data->queryFlag(ServiceDataCollector::UNIT_CS)) ) { - i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL); + i_sc.service_data->clearFlag(ServiceDataCollector::SERVICE_CALL); } return SUCCESS; diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C index 389e9f444..e7ffddbde 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C @@ -826,9 +826,9 @@ int32_t ClearServiceCallFlag( ExtensibleChip * i_chip, { if ( i_sc.service_data->IsAtThreshold() && !mfgMode() && (CHECK_STOP != i_sc.service_data->getPrimaryAttnType()) && - (!i_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS)) ) + (!i_sc.service_data->queryFlag(ServiceDataCollector::UNIT_CS)) ) { - i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL); + i_sc.service_data->clearFlag(ServiceDataCollector::SERVICE_CALL); } return SUCCESS; @@ -848,7 +848,7 @@ int32_t ClearServiceCallFlag_mnfgInfo( ExtensibleChip * i_chip, { if ( i_sc.service_data->IsAtThreshold() ) { - i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL); + i_sc.service_data->clearFlag(ServiceDataCollector::SERVICE_CALL); } return SUCCESS; diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C b/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C index 0e0cfc18d..1cb9f84e0 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C @@ -59,12 +59,12 @@ bool ignoreErrorForSapphire( STEP_CODE_DATA_STRUCT & i_stepcode ) if( !isSpConfigFsp() ) { //Mask the error on first instance for FSP less systems. - i_stepcode.service_data->SetFlag( + i_stepcode.service_data->setFlag( ServiceDataCollector::AT_THRESHOLD ); } //Prevent predictive callout of the chip. - i_stepcode.service_data->ClearFlag( + i_stepcode.service_data->clearFlag( ServiceDataCollector::SERVICE_CALL ); ignoreError = true; diff --git a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C index 9a18348d9..a4d974dbb 100755 --- a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C +++ b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C @@ -365,7 +365,7 @@ int32_t CenMbaTdCtlr::handleRrFo() ServiceDataCollector serviceData; STEP_CODE_DATA_STRUCT sdc; sdc.service_data = &serviceData; - sdc.service_data->SetFlag( ServiceDataCollector::DONT_SAVE_SDC ); + sdc.service_data->setFlag( ServiceDataCollector::DONT_SAVE_SDC ); o_rc = startNextTd( sdc ); if ( SUCCESS != o_rc ) |