diff options
| author | Richard J. Knight <rjknight@us.ibm.com> | 2012-10-16 00:13:25 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-11-03 14:39:41 -0500 |
| commit | 0fb4ee347957ceb2b58a200551fe6cf2cc212e74 (patch) | |
| tree | 14efe53094c44be5beb1afe62be4b65bf143014f /src/include/usr/errl | |
| parent | 5aa9bef02647193eed4ce4d26851bd5d79c87c01 (diff) | |
| download | blackbird-hostboot-0fb4ee347957ceb2b58a200551fe6cf2cc212e74.tar.gz blackbird-hostboot-0fb4ee347957ceb2b58a200551fe6cf2cc212e74.zip | |
Return error when procedures fail during istep
Change-Id: I65686d261583ea84c7908f819071bd751fdb0e06
RTC: 39876
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1627
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Paul Nguyen <nguyenp@us.ibm.com>
Reviewed-by: Mark W. Wenning <wenning@us.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 | 92 | ||||
| -rw-r--r-- | src/include/usr/errl/errlprvt.H | 48 |
2 files changed, 109 insertions, 31 deletions
diff --git a/src/include/usr/errl/errlentry.H b/src/include/usr/errl/errlentry.H index bc9d8a32a..e92a362b9 100644 --- a/src/include/usr/errl/errlentry.H +++ b/src/include/usr/errl/errlentry.H @@ -198,19 +198,28 @@ public: */ void setModuleId( const uint8_t i_moduleId ); + /** + * @brief Get the unique error log identifier (EID) of the error log. + * + * @return The error log ID of the error log. + */ + uint32_t eid() const; /** - * @brief Get the unique platform log identifier (PLID) of the error log. - * In legacy FSP, you could have one platform log ID such that a - * of entry IDs (EIDs) related to a single PLID. So far in Hostboot, - * PLID == EID. As such, there is no setter in the ErrlEntry interface - * for EID. When flattened as PEL for export, EID will be set to PLID. + * @brief Get the platform log identifier (PLID) of the error log. + * In legacy FSP, you could have one platform log ID such that a series + * of entry IDs (EIDs) related to a single PLID. * * @return The platform log ID of the error log. */ uint32_t plid() const; - + /** + * @brief Set the platform log id for this error log. + * + * @return The platform log ID of the error log. + */ + void plid( uint32_t i_plid); /** * @brief Get the event type of the error log. @@ -291,7 +300,40 @@ public: */ void setTermState(const errlTermState_t i_termState); + /** + * @brief Add data to the iv_Src user data words. + * + * @param[in] i_data - information to add to the user data word 1. + * + * @return void + * + */ + void addUserData1( const uint64_t i_data ); + /** + * @brief Add data to the iv_Src user data words. + * + * @param[in] i_data - information to add to the user data word 2. + * + * @return void + * + */ + void addUserData2( const uint64_t i_data ); + /** + * @brief Return iv_Src user data words. + * + * @return data1 word from SRC + * + */ + uint64_t getUserData1() const; + + /** + * @brief Return iv_Src user data words. + * + * @return data2 word from SRC + * + */ + uint64_t getUserData2() const; /** * @brief Allows the caller to add a chunk of FFDC data in a log @@ -498,11 +540,21 @@ private: //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// +inline uint32_t ErrlEntry::eid() const +{ + return iv_Private.iv_eid; +} + inline uint32_t ErrlEntry::plid() const { return iv_Private.iv_plid; } - +//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// +inline void ErrlEntry::plid( uint32_t i_plid) +{ + iv_Private.iv_plid = i_plid; +} //////////////////////////////////////////////////////////////////////////// @@ -549,6 +601,32 @@ inline void ErrlEntry::setReasonCode( const uint16_t i_reasonCode ) //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// +inline void ErrlEntry::addUserData1( const uint64_t i_data ) +{ + iv_Src.iv_user1 = i_data; +} + +//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// +inline void ErrlEntry::addUserData2( const uint64_t i_data ) +{ + iv_Src.iv_user2 = i_data; +} +//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// +inline uint64_t ErrlEntry::getUserData1() const +{ + return iv_Src.iv_user1; +} +//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// +inline uint64_t ErrlEntry::getUserData2() const +{ + return iv_Src.iv_user2; +} + +//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// inline uint16_t ErrlEntry::reasonCode() const { return iv_Src.iv_reasonCode; diff --git a/src/include/usr/errl/errlprvt.H b/src/include/usr/errl/errlprvt.H index d8086b50b..86bfb820a 100644 --- a/src/include/usr/errl/errlprvt.H +++ b/src/include/usr/errl/errlprvt.H @@ -1,25 +1,25 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/include/usr/errl/errlprvt.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/errlprvt.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 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 ERRLPRVT_H #define ERRLPRVT_H @@ -110,10 +110,10 @@ private: uint64_t iv_committed; // TODO Expects BCD_time8_t, but using timebase uint8_t iv_cid; // Creator 'B' (enum errlCreator) uint8_t iv_sctns; // count of sections - uint32_t iv_plid; // error log id + uint32_t iv_plid; // platform log id + uint32_t iv_eid; // Error Log ID // uint8_t iv_cssver[CSS_VER]; // TODO unused now, do we need this? - // uint32_t iv_eid; // TODO Error ID now same as PLID }; |

