diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2013-05-28 22:40:00 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-06-11 09:40:22 -0500 |
commit | 38426697653080768b76928d98b0b4d33f6f891e (patch) | |
tree | 21e6b7d62373a302a41f0ed0907174572cd15d3a /src/include/usr/errl | |
parent | 0e4d11615a5808b534ad7d0bbec53294c3f9f9f9 (diff) | |
download | talos-hostboot-38426697653080768b76928d98b0b4d33f6f891e.tar.gz talos-hostboot-38426697653080768b76928d98b0b4d33f6f891e.zip |
Set failing subsystem ID based on callout priority
Change-Id: I1b1dc7c9fc9331603246d8be7a5313fe84163f51
RTC:51414
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4746
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/errl')
-rw-r--r-- | src/include/usr/errl/errlentry.H | 31 | ||||
-rw-r--r-- | src/include/usr/errl/errlsrc.H | 60 | ||||
-rw-r--r-- | src/include/usr/errl/errluh.H | 73 | ||||
-rw-r--r-- | src/include/usr/errl/hberrltypes.H | 59 |
4 files changed, 157 insertions, 66 deletions
diff --git a/src/include/usr/errl/errlentry.H b/src/include/usr/errl/errlentry.H index 4e9d842a4..a34633df9 100644 --- a/src/include/usr/errl/errlentry.H +++ b/src/include/usr/errl/errlentry.H @@ -55,6 +55,7 @@ #include <errl/errlud.H> #include <hbotcompid.H> #include <targeting/common/target.H> +#include <attributeenums.H> namespace ERRORLOG @@ -267,7 +268,9 @@ public: */ void setSubSys(const epubSubSystem_t i_subSys) { + // hb has ssid defined in two places iv_User.iv_ssid = i_subSys; + iv_Src.iv_ssid = i_subSys; } @@ -450,11 +453,33 @@ public: private: -#if 0 - //@todo: Need to set EPUB_Sub system based on highest - // priority call out FRU + /** + * @brief Set the failing subsystem ID in the error log + * based on the highest priority callout. + * + */ + void setSubSystemIdBasedOnCallouts(); + + /** + * @brief maps the target type to corresponding subsystem ID + * + * @param[in] i_target Target Type. + * + * @return subsystem ID + */ + epubSubSystem_t getSubSystem( TARGETING::TYPE ); /** + * @brief maps the procedure to a corresponding subsystem ID + * + * @param[in] i_procedureId procedure. + * + * @return subsystem ID + */ + epubSubSystem_t getSubSystem( HWAS::epubProcedureID i_procedureId ); + +#if 0 + /** * @brief Adds a software section to the log which is * mostly used as a stack call indicator * diff --git a/src/include/usr/errl/errlsrc.H b/src/include/usr/errl/errlsrc.H index 8d29a54e0..66d907b84 100644 --- a/src/include/usr/errl/errlsrc.H +++ b/src/include/usr/errl/errlsrc.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/usr/errl/errlsrc.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2011-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/errl/errlsrc.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef ERRLSRC_H #define ERRLSRC_H @@ -116,6 +115,21 @@ private: */ uint64_t flatSize() const; + /** + * @brief return the failing subsystem id value + * + * @return Failing subsystem ID + * + */ + epubSubSystem_t getSubSys() const { return iv_ssid; }; + + /** + * @brief set the failing subsystem id value in the SRC object + * + * + */ + void setSubSys( epubSubSystem_t i_ssid ){ iv_ssid = i_ssid; }; + // Instance data srcType_t iv_srcType : 8; // SRC type, the ?? in SRC ??xxxxxx diff --git a/src/include/usr/errl/errluh.H b/src/include/usr/errl/errluh.H index 5768d85d1..0e2f35e09 100644 --- a/src/include/usr/errl/errluh.H +++ b/src/include/usr/errl/errluh.H @@ -1,25 +1,25 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/include/usr/errl/errluh.H $ -// -// IBM CONFIDENTIAL -// -// COPYRIGHT International Business Machines Corp. 2011 -// -// p1 -// -// Object Code Only (OCO) source materials -// Licensed Internal Code Source Materials -// IBM HostBoot Licensed Internal Code -// -// The source code for this program is not published or other- -// wise divested of its trade secrets, irrespective of what has -// been deposited with the U.S. Copyright Office. -// -// Origin: 30 -// -// IBM_PROLOG_END +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/errl/errluh.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef ERRLUH_H #define ERRLUH_H @@ -92,6 +92,21 @@ private: */ uint64_t flatten( void * io_pBuffer, const uint64_t i_cbBuffer ); + /** + * @brief return the failing subsystem id value + * + * @return Failing subsystem ID + * + */ + epubSubSystem_t getSubSys()const { return iv_ssid; }; + + /** + * @brief set the failing subsystem id value in the SRC object + * + * + */ + void setSubSys( epubSubSystem_t i_ssid ){ iv_ssid = i_ssid; }; + /** @brief Set the component ID into the user header. * Only should be called from ErrlEntry instance. @@ -102,9 +117,6 @@ private: */ void setComponentId( compId_t i_compId ); - - - // Instance variables // SctnHdr for 'UH' section ErrlSctnHdr iv_header; @@ -113,11 +125,11 @@ private: errlSeverity_t iv_severity; errlEventType_t iv_etype; - - // TODO may need getters/setters for these fields. Presently, - // they are defaulted at object creation time, and not set - // or gotten by anyone. + // failing sub system ID epubSubSystem_t iv_ssid; + + // these are defaulted at object creation + // no setters/getters are provided currently errlDomain_t iv_domain; errlVector_t iv_vector; uint16_t iv_actions; @@ -126,9 +138,6 @@ private: }; - - - /*****************************************************************************/ // Destructor diff --git a/src/include/usr/errl/hberrltypes.H b/src/include/usr/errl/hberrltypes.H index 90e40ad33..f8803df60 100644 --- a/src/include/usr/errl/hberrltypes.H +++ b/src/include/usr/errl/hberrltypes.H @@ -218,23 +218,66 @@ enum srcType_t }; - - /** * @brief Sub system definitions * Needs to fit into 1 byte for flattening purposes. * This represents the byte in an SRC in position * ..XX.... such as 81 in B181F00B. * - * Refer to errentry.H and this setter: - * void ErrlEntry::setSubSys(const epubSubSystem_t i_subSys); + * Refer to errentry.H and src/epub/fsp/epub_service_codes.H + * in fips code. */ enum epubSubSystem_t { - EPUB_RESERVED_0 = 0x00, - EPUB_FIRMWARE_SUBSYS = 0x80, - EPUB_FIRMWARE_SP = 0x81, - EPUB_UNKNOWN = 0xFF, + EPUB_RESERVED_0 = 0x00, + + // Processor subsystem + EPUB_PROCESSOR_SUBSYS = 0x10, + EPUB_PROCESSOR_FRU = 0x11, + EPUB_PROCESSOR_CHIP_CACHE = 0x12, + EPUB_PROCESSOR_UNIT = 0x13, + EPUB_PROCESSOR_BUS_CTL = 0x14, + + // Memory subsystem + EPUB_MEMORY_SUBSYS = 0x20, + EPUB_MEMORY_CONTROLLER = 0x21, + EPUB_MEMORY_BUS = 0x22, + EPUB_MEMORY_DIMM = 0x23, + EPUB_MEMORY_FRU = 0x24, + EPUB_EXTERNAL_CACHE = 0x25, + + // I/O Subsystem: hub + EPUB_IO_HUB = 0x31, + + // CEC Hardware + EPUB_CEC_HDW_SUBSYS = 0x50, + EPUB_CEC_HDW_VPD_INTF = 0x55, + EPUB_CEC_HDW_I2C_DEVS = 0x56, + EPUB_CEC_HDW_JTAG = 0x57, + EPUB_CEC_HDW_CHIP_INTF = 0x57, // includes JTAG, FSI, etc. + EPUB_CEC_HDW_CLK_CTL = 0x58, + EPUB_CEC_HDW_OP_PANEL = 0x59, + EPUB_CEC_HDW_TOD_HDW = 0x5A, + EPUB_CEC_HDW_SP_PHYP_INTF = 0x5C, + + // Power/Cooling subsystem + EPUB_POWER_SUBSYS = 0x60, + + // Others + EPUB_MISC_SUBSYS = 0x70, + EPUB_MISC_TEST_TOOL = 0x72, + EPUB_MISC_MULTIPLE_SUBSYS = 0x74, + EPUB_MISC_UNKNOWN = 0x75, + EPUB_MISC_INFORMATIONAL = 0x76, + + // Platform Firmware + EPUB_FIRMWARE_SUBSYS = 0x80, + EPUB_FIRMWARE_SP = 0x81, + EPUB_FIRMWARE_PHYP = 0x82, + + EPUB_FIRMWARE_HOSTBOOT = 0x8A, + EPUB_FIRMWARE_OCC = 0x8B, + EPUB_UNKNOWN = 0xFF, }; |