diff options
author | Mike Jones <mjjones@us.ibm.com> | 2013-01-22 09:41:25 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-02-08 16:49:45 -0600 |
commit | caf328ccd931de4ce4e4d285d1a4e5ddd151abb5 (patch) | |
tree | 650c28362fef4b7fd3d8e727d2b13e25f119434b /src/include/usr/hwpf | |
parent | 7c50ac8fa046052334326fd4f3c8447cb0c9514d (diff) | |
download | talos-hostboot-caf328ccd931de4ce4e4d285d1a4e5ddd151abb5.tar.gz talos-hostboot-caf328ccd931de4ce4e4d285d1a4e5ddd151abb5.zip |
ERRL: Create Hostboot error log SRC/UD parser and deliver to FSP bld
A new script called genErrlParsers will scan the Hostboot code for
error log tags and create a SRC parser for each component. The
script will also scan the Hostboot code for plugin directories
containing User Detail Data parsers and will create a makefile
that is used by the FSP to build each component's SRC/UD parser.
Change-Id: I7113f6cd8069447a1caaa199aff199b663d59072
RTC: 47518
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2975
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/hwpf')
-rw-r--r-- | src/include/usr/hwpf/hwp/hwpistepud.H | 71 | ||||
-rw-r--r-- | src/include/usr/hwpf/hwp/hwpistepudparserfactory.H | 68 | ||||
-rw-r--r-- | src/include/usr/hwpf/hwpf_reasoncodes.H (renamed from src/include/usr/hwpf/plat/fapiPlatReasonCodes.H) | 20 | ||||
-rw-r--r-- | src/include/usr/hwpf/plat/fapiPlatUdParserFactory.H | 70 | ||||
-rw-r--r-- | src/include/usr/hwpf/plat/fapiPlatUdParserHwp.H | 132 |
5 files changed, 15 insertions, 346 deletions
diff --git a/src/include/usr/hwpf/hwp/hwpistepud.H b/src/include/usr/hwpf/hwp/hwpistepud.H index ab0d486c4..bc295c0ff 100644 --- a/src/include/usr/hwpf/hwp/hwpistepud.H +++ b/src/include/usr/hwpf/hwp/hwpistepud.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ /* */ /* p1 */ /* */ @@ -26,22 +26,17 @@ /** * @file initsvcudistep.H * - * Defines the following classes: - * - * IStepUserDetailsIstep: Adds IStep FFDC to an error log as user detail data - * IStepUserDetailsParserIstep: Parses IStep FFDC user detail in an error log + * Defines the HwpUserDetailsIstep class that adds IStep FFDC to an + * error log as user detail data */ #include <errl/errluserdetails.H> -// user data type for istep error details -static const uint32_t HWP_UDT_STEP_ERROR_DETAILS = 0x01; - namespace ISTEP_ERROR { /** - * @struct IStepUserDetailsIstepData + * @struct HwpUserDetailsIstepErrorData * * Defines the user detail data */ @@ -51,10 +46,8 @@ namespace ISTEP_ERROR uint32_t reasoncode; }; -#ifndef PARSER - /** - * @class IStepUserDetailsIstep + * @class HwpUserDetailsIstep * * Adds IStep FFDC to an error log as user detail data */ @@ -83,61 +76,7 @@ namespace ISTEP_ERROR HwpUserDetailsIstep(const HwpUserDetailsIstep &); HwpUserDetailsIstep & operator=(const HwpUserDetailsIstep &); }; - -#else // (if PARSER defined) - - /** - * @class IStepUserDetailsParserIstep - * - * Parses Istep user detail in an error log - */ - class HwpUserDetailsParserIstep : public ERRORLOG::ErrlUserDetailsParser - { - public: - /** - * @brief Constructor - */ - HwpUserDetailsParserIstep() {} - - /** - * @brief Destructor - */ - virtual ~HwpUserDetailsParserIstep() {} - - /** - * @brief Parses Istep user detail data from an error log - * - * @param i_version Version of the data - * @param i_parse ErrlUsrParser object for outputting - * information - * @param i_pBuffer Pointer to buffer containing detail data - * @param i_buflen Length of the buffer - */ - virtual void parse(errlver_t i_version, - ErrlUsrParser & i_parser, - void * i_pBuffer, - const uint32_t i_buflen) const - { - HwpUserDetailsIstepErrorData * l_pData = - static_cast<HwpUserDetailsIstepErrorData *>(i_pBuffer); - - i_parser.PrintNumber("See error log ID:","0x%X", - ntohl(l_pData->eid)); - - i_parser.PrintNumber("Reasoncode:","0x%X", - ntohl(l_pData->reasoncode) ); - } - - private: - // Disabled - HwpUserDetailsParserIstep(const HwpUserDetailsParserIstep &); - HwpUserDetailsParserIstep & operator=( - const HwpUserDetailsParserIstep &); - }; -#endif - } #endif - diff --git a/src/include/usr/hwpf/hwp/hwpistepudparserfactory.H b/src/include/usr/hwpf/hwp/hwpistepudparserfactory.H deleted file mode 100644 index be89a89f6..000000000 --- a/src/include/usr/hwpf/hwp/hwpistepudparserfactory.H +++ /dev/null @@ -1,68 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/include/usr/hwpf/hwp/hwpistepudparserfactory.H $ */ -/* */ -/* IBM CONFIDENTIAL */ -/* */ -/* COPYRIGHT International Business Machines Corp. 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 __ISTEP_UDPARSERFACTORY_H -#define __ISTEP_UDPARSERFACTORY_H - -#ifdef PARSER - -/** - * @file initsvcudparserfactory.H - * - * Defines the IStepUserDetailsParserFactory.H class -*/ -#include <hwpf/istepvcreasoncodes.H> -#include <errl/errludparserfactory.H> - -namespace INITSERVICE -{ - -/** - * @class IStepUserDetailsParserFactory - * - * This factory produces ErrlUserDetailsParser objects to parse the specified - * InitService user detail data. -*/ -class IStepUserDetailsParserFactory : public ERRORLOG::ErrlUserDetailsParserFactory -{ -public: - - /** - * @brief Constructor - */ - IStepUserDetailsParserFactory() - { - registerParser<IStepUserDetailsParserIstep>( ISTEP_UDT_PLID ); - } - -private: - - // Disabled - IStepUserDetailsParserFactory(const IStepUserDetailsParserFactory &); - IStepUserDetailsParserFactory & operator=( - const IStepUserDetailsParserFactory &); -}; - -} - -#endif -#endif diff --git a/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H b/src/include/usr/hwpf/hwpf_reasoncodes.H index 9f59f79cc..0d7fe9c17 100644 --- a/src/include/usr/hwpf/plat/fapiPlatReasonCodes.H +++ b/src/include/usr/hwpf/hwpf_reasoncodes.H @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/include/usr/hwpf/plat/fapiPlatReasonCodes.H $ */ +/* $Source: src/include/usr/hwpf/hwpf_reasoncodes.H $ */ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2013 */ +/* COPYRIGHT International Business Machines Corp. 2013 */ /* */ /* p1 */ /* */ @@ -20,15 +20,15 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -#ifndef FAPIPLATREASONCODES_H_ -#define FAPIPLATREASONCODES_H_ +#ifndef HWPFREASONCODES_H_ +#define HWPFREASONCODES_H_ #include <hbotcompid.H> namespace fapi { /** - * @brief Defines the HWPF::PLAT error log module IDs + * @brief Defines the HWPF error log module IDs */ enum hwpfModuleId { @@ -83,7 +83,7 @@ namespace fapi }; /** - * @brief Defines the HWPF::PLAT error log reason codes + * @brief Defines the HWPF error log reason codes */ enum hwpfReasonCode { @@ -121,13 +121,13 @@ namespace fapi }; /** - * @brief Defines the HWPF::PLAT (Hostboot) error log user detail data - * sections + * @brief Defines the HWPF error log user detail data sections */ enum hwpfUserDetailDataSubSection { - HWPF_UDT_HWP_RCVALUE = 1, - HWPF_UDT_HWP_FFDC = 2, + HWPF_UDT_HWP_RCVALUE = 0x01, + HWPF_UDT_HWP_FFDC = 0x02, + HWPF_UDT_STEP_ERROR_DETAILS = 0x03, }; }; diff --git a/src/include/usr/hwpf/plat/fapiPlatUdParserFactory.H b/src/include/usr/hwpf/plat/fapiPlatUdParserFactory.H deleted file mode 100644 index c67816a77..000000000 --- a/src/include/usr/hwpf/plat/fapiPlatUdParserFactory.H +++ /dev/null @@ -1,70 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/include/usr/hwpf/plat/fapiPlatUdParserFactory.H $ */ -/* */ -/* IBM CONFIDENTIAL */ -/* */ -/* COPYRIGHT International Business Machines Corp. 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 FAPIPLATUDPARSERFACTORY_H -#define FAPIPLATUDPARSERFACTORY_H - -#ifdef PARSER - -/** - * @file fapiPlatHwpUdDecode.H - * - * Defines the PlatUserDetailsParserFactory class - */ -#include <hwpf/plat/fapiPlatUdParserHwp.H> -#include <hwpf/plat/fapiPlatReasonCodes.H> -#include <errl/errludparserfactory.H> - -namespace fapi -{ - -/** - * @class PlatUserDetailsParserFactory - * - * This factory produces ErrlUserDetailsParser objects to parse the specified - * PLAT user detail data. -*/ -class PlatUserDetailsParserFactory : public ERRORLOG::ErrlUserDetailsParserFactory -{ -public: - - /** - * @brief Constructor - */ - PlatUserDetailsParserFactory() - { - registerParser<PlatUserDetailsParserHwpRcValue>(HWPF_UDT_HWP_RCVALUE); - registerParser<PlatUserDetailsParserHwpFfdc>(HWPF_UDT_HWP_FFDC); - } - -private: - // Disabled - PlatUserDetailsParserFactory(const PlatUserDetailsParserFactory &); - PlatUserDetailsParserFactory & operator=( - const PlatUserDetailsParserFactory &); -}; - -} - -#endif -#endif - diff --git a/src/include/usr/hwpf/plat/fapiPlatUdParserHwp.H b/src/include/usr/hwpf/plat/fapiPlatUdParserHwp.H deleted file mode 100644 index 420742b1f..000000000 --- a/src/include/usr/hwpf/plat/fapiPlatUdParserHwp.H +++ /dev/null @@ -1,132 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/include/usr/hwpf/plat/fapiPlatUdParserHwp.H $ */ -/* */ -/* IBM CONFIDENTIAL */ -/* */ -/* COPYRIGHT International Business Machines Corp. 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 FAPIPLATUDPARSERHWP_H -#define FAPIPLATUDPARSERHWP_H - -#ifdef PARSER - -/** - * @file fapiPlatUdParserHwp.H - * - * Defines ErrlUserDetailsParser subclasses to parse the different types of HWP - * FFDC added as user detail data to an error log. - * - * Note that there are no corresponding ErrlUserDetails subclasses to create - * the user detail data because it is created by the platform neutral - * fapi::ReturnCode - */ -#include <errl/errluserdetails.H> -#include <fapiPlatHwpErrParser.H> - -namespace fapi -{ - -/** - * @class PlatUserDetailsParserHwpRcValue - * - * Parses the HWP RcValue in an error log. - */ -class PlatUserDetailsParserHwpRcValue : public ERRORLOG::ErrlUserDetailsParser -{ -public: - /** - * @brief Constructor - */ - PlatUserDetailsParserHwpRcValue() {} - - /** - * @brief Destructor - */ - virtual ~PlatUserDetailsParserHwpRcValue() {} - - /** - * @brief Parses the HWP RcValue in an error log. - * - * @param i_version Version of the data - * @param i_parse ErrlUsrParser object for outputting information - * @param i_pBuffer Pointer to buffer containing detail data - * @param i_buflen Length of the buffer - */ - virtual void parse(errlver_t i_version, - ErrlUsrParser & i_parser, - void * i_pBuffer, - const uint32_t i_buflen) const - { - // Call a FAPI generated function to parse the return code - fapiParseHwpRc(i_parser, i_pBuffer, i_buflen); - } - -private: - // Disabled - PlatUserDetailsParserHwpRcValue(const PlatUserDetailsParserHwpRcValue &); - PlatUserDetailsParserHwpRcValue & operator=( - const PlatUserDetailsParserHwpRcValue &); -}; - -/** - * @class PlatUserDetailsParserHwpTarget - * - * Parses HWP FFDC in an error log. - */ -class PlatUserDetailsParserHwpFfdc : public ERRORLOG::ErrlUserDetailsParser -{ -public: - /** - * @brief Constructor - */ - PlatUserDetailsParserHwpFfdc() {} - - /** - * @brief Destructor - */ - virtual ~PlatUserDetailsParserHwpFfdc() {} - - /** - * @brief Parses HWP FFDC in an error log. - * - * @param i_version Version of the data - * @param i_parse ErrlUsrParser object for outputting information - * @param i_pBuffer Pointer to buffer containing detail data - * @param i_buflen Length of the buffer - */ - virtual void parse(errlver_t i_version, - ErrlUsrParser & i_parser, - void * i_pBuffer, - const uint32_t i_buflen) const - { - // Call a FAPI generated function to parse the FFDC - fapiParseHwpFfdc(i_parser, i_pBuffer, i_buflen); - } - -private: - // Disabled - PlatUserDetailsParserHwpFfdc(const PlatUserDetailsParserHwpFfdc &); - PlatUserDetailsParserHwpFfdc & operator=( - const PlatUserDetailsParserHwpFfdc &); -}; - -} - -#endif -#endif - |