diff options
9 files changed, 17 insertions, 71 deletions
diff --git a/src/include/usr/diag/prdf/common/prdf_service_codes.H b/src/include/usr/diag/prdf/common/prdf_service_codes.H index 7a2debd9a..83f7080d4 100755 --- a/src/include/usr/diag/prdf/common/prdf_service_codes.H +++ b/src/include/usr/diag/prdf/common/prdf_service_codes.H @@ -83,9 +83,6 @@ enum ReasonCode { PRDF_FIRST_REASONCODE = PRDF_COMP_ID | 0x01, - // PRD thermal error log FIXME: may be depricated in P8 - PRDF_THERMAL_FAIL = PRDF_COMP_ID | 0x03, - // Note: Ranges from 0x04 through 0x3f are reserved for when callouts are // all hardware only. diff --git a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h index 66b524b14..259648f01 100755 --- a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h +++ b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.h @@ -120,7 +120,6 @@ public: PRDF_SDC_FLAG(USING_SAVED_SDC, 0x40000) // mp05 PRDF_SDC_FLAG(PROC_CORE_CS, 0x20000) // mp03 PRDF_SDC_FLAG(UNIT_CS, 0x20000) // mp06 a (Note this is intentionally the same value as PROC_CORE_CS) - PRDF_SDC_FLAG(THERMAL_EVENT, 0x10000) // pw01 PRDF_SDC_FLAG(DONT_COMMIT_ERRL, 0x01000) // mp02 PRDF_SDC_FLAG(DUMP, 0x00800) // dg04 PRDF_SDC_FLAG(UERE, 0x00400) // dg02 @@ -711,9 +710,6 @@ public: */ void SetTOE(Timer& theTime) { ivCurrentEventTime = theTime; } - /** Is an Thermal Event Flag on? */ - bool IsThermalEvent(void) const { return (flags & THERMAL_EVENT) != 0 ? true:false; } - /** Is a Proc Core CS flag on? */ bool IsProcCoreCS (void) const { return (flags & PROC_CORE_CS) != 0 ? true:false; } @@ -749,21 +745,6 @@ public: #endif - /** - * Get the Handle of the chip/core that detected the thermal event. - */ - TARGETING::TargetHandle_t GetThermalChipId() { return ivpThermalChipHandle; }; //pw01 - - /** - * Set the Handle of the chip/core that detected the thermal event. - * @note As a side effect, the THERMAL_EVENT flag is set. - */ - void SetThermalChipId(TARGETING::TargetHandle_t i_pchipHandle) // pw01 - { - ivpThermalChipHandle = i_pchipHandle; - SetFlag(THERMAL_EVENT); - }; - private: // functions friend class TerminateResolution; @@ -801,7 +782,6 @@ private: // Data TARGETING::TargetHandle_t ivpDumpRequestChipHandle; ATTENTION_TYPE causeAttentionType; // MCK,REC,SPCL - TARGETING::TargetHandle_t ivpThermalChipHandle; //RTC: 60553 Eventually we shall use hostboot implementation of stack istead //of std:list static std::list< ExtensibleChip *> cv_ruleChipStack ; diff --git a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.inl b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.inl index 70628b5d6..de7159404 100755 --- a/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.inl +++ b/src/usr/diag/prdf/common/framework/service/iipServiceDataCollector.inl @@ -41,8 +41,7 @@ ServiceDataCollector::ServiceDataCollector() : startingPoint(NULL), errorType(GardAction::NoGard), ivpDumpRequestChipHandle(NULL), - causeAttentionType(INVALID_ATTENTION_TYPE), - ivpThermalChipHandle(NULL) + causeAttentionType(INVALID_ATTENTION_TYPE) { PlatServices::getCurrentTime(ivCurrentEventTime); } 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 0a1fbc49e..c4958297f 100644 --- a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C +++ b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.C @@ -66,12 +66,6 @@ using namespace PlatServices; //------------------------------------------------------------------------------ // Local Globals //------------------------------------------------------------------------------ -#ifndef __HOSTBOOT_MODULE - -const char * ThermalFileKeys[] = {"fstp/P1_Root","prdf/ThermalSdcPath"}; -char * ThermalFilename = NULL; - -#endif bool ErrDataService::terminateOnCheckstop = true; RasServices thisServiceGenerator; @@ -361,12 +355,6 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType, // Recovered error should be Hidden, and No Service Action actionFlag = ERRL_ACTION_HIDDEN; } - - if (sdc.IsThermalEvent()) - { //Make the Thermal Event Hidden - severityParm = ERRL_SEV_RECOVERED; - actionFlag = ERRL_ACTION_HIDDEN; - } } //////////////////////////////////////////////////////////////// // Special ATTN @@ -446,11 +434,6 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType, } } - if (sdc.IsThermalEvent() && (MACHINE_CHECK != i_attnType) ) - { //Force No Gard - gardErrType = HWAS::GARD_NULL; - } - //************************************************************** // Callout loop to set up Reason code and SRC word 9 //************************************************************** @@ -754,13 +737,11 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType, //Terminate in Manufacturing Mode, in IPL mode, for visible log, with no HW callouts. PRDF_SRC_WRITE_TERM_STATE_ON(o_errl, SRCI_TERM_STATE_MNFG); } - //Do not Terminate in Manufacturing Mode if not at threshold. - //Allow Manufacturing Mode Terminate for Thermal Event. It's severityParm will be - //ERRL_SEV_RECOVERED in the current error log. - //MPB1 c Do not Terminate in Manufacturing Mode in Ipl Diag Mode with Deferred Deconfig - else if ( ( ((severityParm == ERRL_SEV_RECOVERED) || (severityParm == ERRL_SEV_INFORMATIONAL)) && - !sdc.IsThermalEvent() ) || - deferDeconfig ) + // Do not terminate if recoverable or informational. + // Do not terminate if deferred deconfig. + else if ( deferDeconfig || + (severityParm == ERRL_SEV_RECOVERED ) || + (severityParm == ERRL_SEV_INFORMATIONAL) ) { ForceTerminate = false; actionFlag = (actionFlag | ERRL_ACTION_DONT_TERMINATE); @@ -770,10 +751,6 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType, PRDF_SRC_WRITE_TERM_STATE_ON(o_errl, SRCI_TERM_STATE_MNFG); } - if (sdc.IsThermalEvent() ) - { //For Manufacturing Mode terminate, change the action flags for Thermal Event. - actionFlag = (ERRL_ACTION_SA | ERRL_ACTION_REPORT | ERRL_ACTION_CALL_HOME); - } pfaData.errlActions = actionFlag; } @@ -935,11 +912,6 @@ errlHndl_t ErrDataService::GenerateSrcPfa( ATTENTION_TYPE i_attnType, MnfgTrace( esig, pfaData ); PRDF_DTRAC( PRDF_FUNC"generating a terminating, or MP Fatal SRC" ); - if (ForceTerminate && sdc.IsThermalEvent() ) //MP42 a Start - { //For Manufacturing Mode terminate, change the severity in - //the error log to be Predictive for Thermal Event. - o_errl->setSev(ERRL_SEV_PREDICTIVE); - } } #ifndef __HOSTBOOT_MODULE @@ -1007,7 +979,6 @@ void ErrDataService::initPfaData( ServiceDataCollector & i_sdc, o_pfa.TERMINATE = i_sdc.Terminate() ? 1 : 0; o_pfa.LOGIT = i_sdc.IsLogging() ? 1 : 0; o_pfa.FLOODING = i_sdc.IsFlooding() ? 1 : 0; - o_pfa.THERMAL_EVENT = i_sdc.IsThermalEvent() ? 1 : 0; o_pfa.UNIT_CHECKSTOP = i_sdc.IsUnitCS() ? 1 : 0; o_pfa.LAST_CORE_TERMINATE = 0; // Will be set later, if needed. o_pfa.USING_SAVED_SDC = i_sdc.IsUsingSavedSdc() ? 1 : 0; diff --git a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H index 39b9d48ac..d512d5e87 100644 --- a/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H +++ b/src/usr/diag/prdf/common/framework/service/prdfRasServices_common.H @@ -41,7 +41,6 @@ namespace PRDF { #ifndef __HOSTBOOT_MODULE - const uint32_t thermalCalloutMax = 4; const uint32_t sdcBufferSize = CaptureDataSize + 200; #endif @@ -49,7 +48,6 @@ enum sdcSaveFlagsEnum { SDC_NO_SAVE_FLAGS = 0x00, SDC_ANALYSIS_SAVE_FLAG = 0x08, - SDC_THERMAL_SAVE_FLAG = 0x04, SDC_SAVE_UE_FLAG = 0x02, SDC_SAVE_SUE_FLAG = 0x01 }; diff --git a/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C b/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C index a6327f4b3..e4df55d53 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C +++ b/src/usr/diag/prdf/common/framework/service/prdfServiceDataCollector.C @@ -281,7 +281,6 @@ uint32_t ServiceDataCollector::Flatten(uint8_t * i_buffer, uint32_t & io_size) c memcpy(current_ptr,&l_tm,PRDFTM_SIZE); current_ptr += PRDFTM_SIZE; buffer_append(current_ptr,(uint32_t)causeAttentionType); - buffer_append(current_ptr,ivpThermalChipHandle); // Add as much capture data as we have room. uint8_t * cap_size_ptr = current_ptr; // Place for Capture data size @@ -354,7 +353,6 @@ ServiceDataCollector & ServiceDataCollector::operator=( ivCurrentEventTime.settm(l_tm); causeAttentionType = (ATTENTION_TYPE) buffer_get32(i_flatdata); - ivpThermalChipHandle = buffer_getTarget(i_flatdata); // Capture data - oh joy // do we re-expand the data or change capture date to hang onto the already flattened data? diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8McsExtraSig.H b/src/usr/diag/prdf/common/plat/pegasus/prdfP8McsExtraSig.H index a286c1897..5c366480d 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8McsExtraSig.H +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8McsExtraSig.H @@ -20,6 +20,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ + #ifndef __prdfP8McsExtraSig_H #define __prdfP8McsExtraSig_H diff --git a/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C b/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C index dcc17b079..e7bf7c84a 100644 --- a/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C +++ b/src/usr/diag/prdf/common/plugins/prdfLogParse_common.C @@ -452,7 +452,6 @@ bool parsePfaData( void * i_buffer, uint32_t i_buflen, i_parser.PrintBool(" TERMINATE", pfa.TERMINATE ); i_parser.PrintBool(" LOGIT", pfa.LOGIT ); i_parser.PrintBool(" FLOODING", pfa.FLOODING ); - i_parser.PrintBool(" Thermal Event", pfa.THERMAL_EVENT ); i_parser.PrintBool(" Unit CS", pfa.UNIT_CHECKSTOP ); i_parser.PrintBool(" Using Sync'd Saved Sdc", pfa.USING_SAVED_SDC ); i_parser.PrintBool(" Last Core Termination", pfa.LAST_CORE_TERMINATE); @@ -665,9 +664,6 @@ bool srcDataParse( ErrlUsrParser & i_parser, const SrciSrc & i_src ) srcErrType = "PRD Detected Hardware Indication"; switch ( i_src.reasonCode() ) { - case PRDF_THERMAL_FAIL: - srcErrClass = "Thermal Error Condition"; - break; case PRDF_DETECTED_FAIL_HARDWARE: srcErrClass = "Hardware Error Detected"; break; diff --git a/src/usr/diag/prdf/common/plugins/prdfPfa5Data.h b/src/usr/diag/prdf/common/plugins/prdfPfa5Data.h index 269ef6574..c8376cc17 100644 --- a/src/usr/diag/prdf/common/plugins/prdfPfa5Data.h +++ b/src/usr/diag/prdf/common/plugins/prdfPfa5Data.h @@ -157,12 +157,11 @@ struct PfaData TERMINATE :1, LOGIT :1, FLOODING :1, - THERMAL_EVENT :1, UNIT_CHECKSTOP :1, USING_SAVED_SDC :1, LAST_CORE_TERMINATE :1, DEFER_DECONFIG :1, - Reserved :17; + Reserved :18; // Thresholding uint32_t errorCount :16, // Number of occurrences of this attention @@ -208,7 +207,11 @@ struct PfaData (i_right.TERMINATE << 24) | (i_right.LOGIT << 23) | (i_right.FLOODING << 22) | - (i_right.THERMAL_EVENT << 21) | + // FYI, a deprecated entry was removed. To make the parser + // compatible with older or newer error logs, this bit must + // remain a hole (i.e. it can be reused, but subsequent data + // must remain in the bit positions that they are currently + // in). (i_right.UNIT_CHECKSTOP << 20) | (i_right.USING_SAVED_SDC << 19) | (i_right.LAST_CORE_TERMINATE << 18) | @@ -258,7 +261,10 @@ struct PfaData i_right.TERMINATE = (l_tmp[2] >> 24) & 0x01; i_right.LOGIT = (l_tmp[2] >> 23) & 0x01; i_right.FLOODING = (l_tmp[2] >> 22) & 0x01; - i_right.THERMAL_EVENT = (l_tmp[2] >> 21) & 0x01; + // FYI, a deprecated entry was removed. To make the parser compatible + // with older or newer error logs, this bit must remain a hole (i.e. it + // can be reused, but subsequent data must remain in the bit positions + // that they are currently in). i_right.UNIT_CHECKSTOP = (l_tmp[2] >> 20) & 0x01; i_right.USING_SAVED_SDC = (l_tmp[2] >> 19) & 0x01; i_right.LAST_CORE_TERMINATE = (l_tmp[2] >> 18) & 0x01; |