diff options
author | Chris Cain <cjcain@us.ibm.com> | 2015-02-24 16:13:42 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-02-28 05:53:20 -0600 |
commit | f3d348bde5bd0fbd9a707fd1635bcb3a90d9210d (patch) | |
tree | 52961091c8a645eb99e3adc1d88d59d6687dc162 /src/usr/htmgt/occError.H | |
parent | 29581aca6a1ed02d3374e5688e5f32fcb6f104bc (diff) | |
download | talos-hostboot-f3d348bde5bd0fbd9a707fd1635bcb3a90d9210d.tar.gz talos-hostboot-f3d348bde5bd0fbd9a707fd1635bcb3a90d9210d.zip |
Support for OCC error reporting
Change-Id: If8cce2f960b28cda2f039f68e9527df92f9233f2
RTC: 121729
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15971
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/htmgt/occError.H')
-rw-r--r-- | src/usr/htmgt/occError.H | 70 |
1 files changed, 33 insertions, 37 deletions
diff --git a/src/usr/htmgt/occError.H b/src/usr/htmgt/occError.H index 095d37d57..e4ab7f906 100644 --- a/src/usr/htmgt/occError.H +++ b/src/usr/htmgt/occError.H @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/usr/htmgt/htmgt_error.H $ */ +/* $Source: src/usr/htmgt/occError.H $ */ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014 */ +/* Contributors Listed Below - COPYRIGHT 2014,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -41,9 +41,6 @@ namespace HTMGT // Error Actions enum tmgtErrlActionsType { - TMGT_ERRL_ACTIONS_CONSOLIDATE_ERRORS = 0x01, - TMGT_ERRL_ACTIONS_MANUFACTURING_ERROR = 0x08, - TMGT_ERRL_ACTIONS_UNRECOVERABLE_CPM_ERROR = 0x10, TMGT_ERRL_ACTIONS_SAFE_MODE_REQUIRED = 0x40, TMGT_ERRL_ACTIONS_RESET_REQUIRED = 0x80, }; @@ -51,7 +48,7 @@ namespace HTMGT // Type of Callout enum occCalloutType { - OCC_CALLOUT_TYPE_HUID = 0x01, + OCC_CALLOUT_TYPE_SENSOR = 0x01, OCC_CALLOUT_TYPE_COMPONENT_ID = 0x02, }; @@ -80,24 +77,22 @@ namespace HTMGT TMGT_COMP_DATA_END_OF_TABLE = 0xFF }; -#if 0 - // TODO: RTC 109224 + // Callout Priority Translation struct occSrciPriorityXlate { uint8_t occPriority; - srciPriority errlPriority; + HWAS::callOutPriority errlPriority; } __attribute__ ((__packed__)); typedef struct occSrciPriorityXlate occSrciPriorityXlate_t; const occSrciPriorityXlate_t occPriorityXlateTbl[] = { - {0x01, SRCI_PRIORITY_LOW}, - {0x02, SRCI_PRIORITY_MED}, - {0x03, SRCI_PRIORITY_HIGH}, + {0x01, HWAS::SRCI_PRIORITY_LOW}, + {0x02, HWAS::SRCI_PRIORITY_MED}, + {0x03, HWAS::SRCI_PRIORITY_HIGH}, }; const uint8_t OCC_SRCI_PRIORITY_XLATE_SIZE = - (sizeof(occPriorityXlateTbl) /sizeof(occSrciPriorityXlate_t)); -#endif + (sizeof(occPriorityXlateTbl) / sizeof(occSrciPriorityXlate_t)); // OCC Usr Dtls Structure struct occErrlUsrDtls @@ -119,16 +114,6 @@ namespace HTMGT } __attribute__ ((__packed__)); typedef struct occErrlUsrDtls occErrlUsrDtls_t; - // OCC Callout Structure - struct occErrlCallout - { - uint8_t type; - uint64_t calloutValue; - uint8_t priority; - uint16_t reserved1; - } __attribute__ ((__packed__)); - typedef struct occErrlCallout occErrlCallout_t; - // User Detail Entry Structure struct occUserDetailsEntry { @@ -157,34 +142,35 @@ namespace HTMGT // Actions to process the errors uint8_t actions; // Reserved - uint32_t userData4; + uint32_t reserved; // Log Callout Number - uint8_t numCallouts; + uint8_t maxCallouts; + // Callouts + occErrlCallout callout[ERRL_MAX_CALLOUTS]; } __attribute__ ((__packed__)); typedef struct occErrlEntry occErrlEntry_t; -#if 0 - // TODO: RTC 109224 // OCC Severity and Action struct occSeverityActionXlate { - occSeverityType occSeverity; - errlSeverity occErrlSeverity; - errlActions occErrlAction; + occSeverityType occSeverity; + ERRORLOG::errlSeverity_t occErrlSeverity; }; typedef struct occSeverityActionXlate occSeverityActionXlate_t; - // Translate Severity and Actios + // Translate Severity and Actions const occSeverityActionXlate_t occSeverityErrorActionXlate[] = { - {OCC_SEV_INFORMATIONAL, ERRL_SEV_INFORMATIONAL, ERRL_ACTION_HIDDEN}, - {OCC_SEV_RECOVERABLE, ERRL_SEV_PREDICTIVE, ERRL_ACTION_REPORT}, - {OCC_SEV_UNRECOVERABLE, ERRL_SEV_UNRECOVERABLE, ERRL_ACTION_REPORT}, + {OCC_SEV_INFORMATIONAL, ERRORLOG::ERRL_SEV_INFORMATIONAL}, + {OCC_SEV_RECOVERABLE, ERRORLOG::ERRL_SEV_PREDICTIVE}, + {OCC_SEV_UNRECOVERABLE, ERRORLOG::ERRL_SEV_UNRECOVERABLE}, }; const uint8_t OCC_SEV_ACTION_XLATE_SIZE = (sizeof(occSeverityErrorActionXlate)/sizeof(occSeverityActionXlate_t)); -#endif + + + struct tmgtCompXlate { @@ -201,7 +187,7 @@ namespace HTMGT const tmgtCompXlate_t tmgt_compXlateTable[TMGT_MAX_COMP_IDS] = { - { 0x01, TMGT_COMP_DATA_PROCEDURE, ERRORLOG::EPUB_FIRMWARE_SP}, // FW + { 0x01, TMGT_COMP_DATA_PROCEDURE, HWAS::EPUB_PRC_HB_CODE}, // FW { 0x04, TMGT_COMP_DATA_SYMBOLIC_FRU, OVERTMP}, // over temperature { 0x05, TMGT_COMP_DATA_SYMBOLIC_FRU, TPMD_OV}, // oversub throttling { 0xFF, TMGT_COMP_DATA_END_OF_TABLE, 0}, // none @@ -223,5 +209,15 @@ namespace HTMGT const uint16_t i_length); + + + struct tmgtSafeModeReasonCode_t + { + uint32_t returnCode; + uint32_t huid; + bool infoOnly; + }; + + } // end namespace #endif |