diff options
Diffstat (limited to 'src/usr/hwpf')
20 files changed, 420 insertions, 142 deletions
diff --git a/src/usr/hwpf/fapi/fapiParseErrorInfo.pl b/src/usr/hwpf/fapi/fapiParseErrorInfo.pl index 359beb521..fc64a61a4 100755 --- a/src/usr/hwpf/fapi/fapiParseErrorInfo.pl +++ b/src/usr/hwpf/fapi/fapiParseErrorInfo.pl @@ -23,10 +23,7 @@ # IBM_PROLOG_END_TAG # # Purpose: This perl script will parse HWP Error XML files and create required -# FAPI code. The FAPI files created are: -# -# 1/ fapiHwpReturnCodes.H - HwpReturnCode enumeration -# 2/ fapiHwpErrorInfo.H - Error Information macros +# FAPI code. # # Author: CamVan Nguyen and Mike Jones # diff --git a/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.C b/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.C index 6b04682f5..307dc8a40 100644 --- a/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.C +++ b/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.C @@ -21,6 +21,7 @@ /* */ /* IBM_PROLOG_END_TAG */ #include "pbusLinkSvc.H" +#include <hwpf/hwpf_reasoncodes.H> namespace EDI_EI_INITIALIZATION { diff --git a/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.H b/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.H index ee2caffd5..8439df04b 100644 --- a/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.H +++ b/src/usr/hwpf/hwp/bus_training/pbusLinkSvc.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/edi_ei_initialization/pbusLinkSvc.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 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/usr/hwpf/hwp/bus_training/pbusLinkSvc.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 */ /** * @file pbusLinkSvc.H * @@ -35,7 +34,6 @@ #include <stdint.h> #include <util/singleton.H> #include <map> -#include <hwpf/plat/fapiPlatReasonCodes.H> #include <errl/errlentry.H> diff --git a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C index 266141662..988d3eb94 100644 --- a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C +++ b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C @@ -53,6 +53,7 @@ // fapi support #include <fapi.H> #include <fapiPlatHwpInvoker.H> +#include <hwpf/hwpf_reasoncodes.H> #include "dram_initialization.H" #include <pbusLinkSvc.H> @@ -69,7 +70,6 @@ #include "proc_setup_bars/proc_setup_bars.H" #include "proc_pcie_config/proc_pcie_config.H" #include "proc_exit_cache_contained/proc_exit_cache_contained.H" -#include <hwpf/plat/fapiPlatReasonCodes.H> //remove these once memory setup workaround is removed #include <devicefw/driverif.H> #include <vpd/spdenums.H> @@ -845,7 +845,7 @@ void* call_host_mpipl_service( void *io_pArgs ) * @errortype * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid TARGETING::ISTEP_HOST_MPIPL_SERVICE + * @moduleid ISTEP_HOST_MPIPL_SERVICE * @userdata1 bytes 0-1: plid identifying first error * bytes 2-3: reason code of first error * @userdata2 bytes 0-1: total number of elogs diff --git a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C index f48e6626e..f98c86ee8 100644 --- a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C +++ b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ /* */ /* p1 */ /* */ @@ -161,7 +161,14 @@ errlHndl_t HBVddrMsg::sendMsg(uint32_t i_msgType) const TRACFCOMP(g_trac_volt, ERR_MRK "hbVddrMsg::send msg with non-" "valid msg type%08X",i_msgType); //generate errorLog; - /*@ + // TODO RTC 62849 The reason code is in hbVddrMsg.H and does not + // include a component ID. The component ID is essential to + // distinguish errors between components. Error log reason codes and + // module ids should also be in a file called <comp>reasoncodes.H. + // This error causes the scanforsrcs parser to error out. I removed + // '@' from the next line to stop the parser from seeing the tag. + // Add '@' back after this is all fixed + /* * @errortype * @moduleid VDDR_SEND_MSG * @reasoncode INCORRECT_MSG_TYPE @@ -262,7 +269,14 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const //an error occred in obtaining the extra data from the response msg TRACFCOMP( g_trac_volt, ERR_MRK "HBVddrMsg::processVDDRmsg: l_extraData = NULL"); //create an errorlog - /*@ + // TODO RTC 62849 The reason code is in hbVddrMsg.H and does not + // include a component ID. The component ID is essential to + // distinguish errors between components. Error log reason codes and + // module ids should also be in a file called <comp>reasoncodes.H. + // This error causes the scanforsrcs parser to error out. I removed + // '@' from the next line to stop the parser from seeing the tag. + // Add '@' back after this is all fixed + /* * @errortype * @moduleid VDDR_PROC_VDDR_MSG * @reasoncode VDDR_EMPTY_MSG @@ -303,7 +317,14 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const TRACFCOMP( g_trac_volt, ERR_MRK "HBVddrMsg::processVDDRmsg: error occured " "on the powr function called in hwsv"); //create an errorlog - /*@ + // TODO RTC 62849 The reason code is in hbVddrMsg.H and does not + // include a component ID. The component ID is essential to + // distinguish errors between components. Error log reason codes and + // module ids should also be in a file called <comp>reasoncodes.H. + // This error causes the scanforsrcs parser to error out. I removed + // '@' from the next line to stop the parser from seeing the tag. + // Add '@' back after this is all fixed + /* * @errortype * @moduleid VDDR_PROC_VDDR_MSG * @reasoncode VDDR_POWR_ERR @@ -360,7 +381,14 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const { TRACFCOMP( g_trac_volt, ERR_MRK "HBVddrMsg::processMsg recv'd a non valid type"); //generate errorLog; - /*@ + // TODO RTC 62849 The reason code is in hbVddrMsg.H and does not + // include a component ID. The component ID is essential to + // distinguish errors between components. Error log reason codes and + // module ids should also be in a file called <comp>reasoncodes.H. + // This error causes the scanforsrcs parser to error out. I removed + // '@' from the next line to stop the parser from seeing the tag. + // Add '@' back after this is all fixed + /* * @errortype * @moduleid VDDR_PROC_MSG * @reasoncode INCORRECT_MSG_TYPE @@ -378,7 +406,14 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const //an error occurred so should stop the IPL TRACFCOMP( g_trac_volt, ERR_MRK "HBVddrMsg::RecvMsgHndlr recv'd an error message" ); //generate an errorlog - /*@ + // TODO RTC 62849 The reason code is in hbVddrMsg.H and does not + // include a component ID. The component ID is essential to + // distinguish errors between components. Error log reason codes and + // module ids should also be in a file called <comp>reasoncodes.H. + // This error causes the scanforsrcs parser to error out. I removed + // '@' from the next line to stop the parser from seeing the tag. + // Add '@' back after this is all fixed + /* * @errortype * @moduleid VDDR_PROC_MSG * @reasoncode VDDR_ERROR_MSG diff --git a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C index ab8c96fae..63778c3e7 100644 --- a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C +++ b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C @@ -40,7 +40,6 @@ /******************************************************************************/ #include <stdint.h> #include <map> -#include <hwpf/plat/fapiPlatReasonCodes.H> #include <trace/interface.H> #include <initservice/taskargs.H> diff --git a/src/usr/hwpf/hwp/hwpistepud.C b/src/usr/hwpf/hwp/hwpistepud.C index bc1ad76f1..83a657678 100644 --- a/src/usr/hwpf/hwp/hwpistepud.C +++ b/src/usr/hwpf/hwp/hwpistepud.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ /* */ /* p1 */ /* */ @@ -27,7 +27,7 @@ */ #include <hbotcompid.H> #include <hwpistepud.H> -#include <hwpf/istepreasoncodes.H> +#include <hwpf/hwpf_reasoncodes.H> using namespace ISTEP_ERROR; @@ -45,7 +45,7 @@ HwpUserDetailsIstep::HwpUserDetailsIstep( errlHndl_t i_err ) // Set up ErrlUserDetails instance variables iv_CompId = HWPF_COMP_ID; iv_Version = 1; - iv_SubSection = HWP_UDT_STEP_ERROR_DETAILS; + iv_SubSection = fapi::HWPF_UDT_STEP_ERROR_DETAILS; } //------------------------------------------------------------------------------ diff --git a/src/usr/hwpf/hwp/thread_activate/thread_activate.C b/src/usr/hwpf/hwp/thread_activate/thread_activate.C index 4e98d354f..37096abc3 100644 --- a/src/usr/hwpf/hwp/thread_activate/thread_activate.C +++ b/src/usr/hwpf/hwp/thread_activate/thread_activate.C @@ -49,8 +49,8 @@ // fapi support #include <fapi.H> #include <fapiPlatHwpInvoker.H> -#include <hwpf/plat/fapiPlatReasonCodes.H> #include <hwpf/plat/fapiPlatTrace.H> +#include <hwpf/hwpf_reasoncodes.H> #include <pnor/pnorif.H> #include <vpd/mvpdenums.H> diff --git a/src/usr/hwpf/makefile b/src/usr/hwpf/makefile index 92d195b70..f10e97d44 100644 --- a/src/usr/hwpf/makefile +++ b/src/usr/hwpf/makefile @@ -139,8 +139,9 @@ IF_CMP_YACC_H_TARGET = y.tab.h IF_CMP_FLEX_TARGET = lex.yy.c IF_CMP_COMPILER_TARGET = ifcompiler -# The FAPI return code and error info files generated from Error XML files -FAPI_ERROR_TARGETS = fapiHwpReturnCodes.H fapiHwpErrorInfo.H +# The FAPI files generated from Error XML files +FAPI_ERROR_TARGETS = fapiHwpReturnCodes.H fapiHwpErrorInfo.H \ + fapiCollectRegFfdc.C fapiSetSbeError.H # The PLAT HWP Error Parser file generated from Error XML files PLAT_HWP_ERR_PARSER = fapiPlatHwpErrParser.H @@ -148,11 +149,10 @@ PLAT_HWP_ERR_PARSER = fapiPlatHwpErrParser.H # The FAPI attribute id file generated from Attribute XML files FAPI_ATTR_ID_TARGET = fapiAttributeIds.H -# The FAPI attribute platform check file generated from Attribute XML files -FAPI_ATTR_PLAT_CHECK_TARGET = fapiAttributePlatCheck.H - -# The FAPI attributes supported HTML file generated from Attribute XML files -FAPI_ATTRS_SUPPORTED_TARGET = fapiAttributesSupported.html +# The FAPI files generated from Attribute XML files +FAPI_ATTR_TARGETS = fapiChipEcFeature.C fapiAttributePlatCheck.H \ + fapiAttributesSupported.html fapiAttributeIds.txt \ + fapiAttributeEnums.txt # The binary, list and attr files generated from Initfiles # Generation depends on ifcompiler and fapiAttributeIds.H @@ -173,13 +173,13 @@ GENFILES = ${IF_CMP_YACC_C_TARGET} \ ${IF_CMP_FLEX_TARGET} \ ${IF_CMP_COMPILER_TARGET} \ ${FAPI_ERROR_TARGETS} \ - ${PLAT_HWP_ERR_PARSER} \ ${FAPI_ATTR_ID_TARGET} \ - ${FAPI_ATTR_PLAT_CHECK_TARGET} \ - ${FAPI_ATTRS_SUPPORTED_TARGET} \ + ${FAPI_ATTR_TARGETS} \ ${HWP_IF_ALL_TARGETS} \ ${FAPI_ATTR_IF_TARGET} +GENFILES_PLUGINS = ${PLAT_HWP_ERR_PARSER} + EXTRA_PARTS = $(addprefix ${ROOTPATH}/img/,${HWP_IF_BIN_TARGETS}) include ${ROOTPATH}/config.mk @@ -233,8 +233,7 @@ $(call GENTARGET, ${PLAT_HWP_ERR_PARSER}) : \ # The FAPI attribute id file, the FAPI attribute platform check file and the # FAPI attributes supported file generated from Attribute XML files #------------------------------------------------------------------------------ -$(call GENTARGET, ${FAPI_ATTR_ID_TARGET} ${FAPI_ATTR_PLAT_CHECK_TARGET} \ - ${FAPI_ATTRS_SUPPORTED_TARGET}) : \ +$(call GENTARGET, ${FAPI_ATTR_ID_TARGET} ${FAPI_ATTR_TARGETS}) : \ fapi/fapiParseAttributeInfo.pl ${HWP_ATTR_XML_FILES} $< $(dir $@) ${HWP_ATTR_XML_FILES} diff --git a/src/usr/hwpf/plat/fapiPlatAttributeService.C b/src/usr/hwpf/plat/fapiPlatAttributeService.C index ebe686901..ec260b919 100644 --- a/src/usr/hwpf/plat/fapiPlatAttributeService.C +++ b/src/usr/hwpf/plat/fapiPlatAttributeService.C @@ -35,7 +35,7 @@ #include <targeting/common/targetservice.H> #include <errl/errlentry.H> #include <hwpf/plat/fapiPlatAttributeService.H> -#include <hwpf/plat/fapiPlatReasonCodes.H> +#include <hwpf/hwpf_reasoncodes.H> #include <vpd/spdenums.H> #include <devicefw/driverif.H> #include <hwas/common/hwas.H> diff --git a/src/usr/hwpf/plat/fapiPlatCreateHwpErrParser.pl b/src/usr/hwpf/plat/fapiPlatCreateHwpErrParser.pl index 762e7280b..e97ace6fa 100755 --- a/src/usr/hwpf/plat/fapiPlatCreateHwpErrParser.pl +++ b/src/usr/hwpf/plat/fapiPlatCreateHwpErrParser.pl @@ -6,7 +6,7 @@ # # IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2012 +# COPYRIGHT International Business Machines Corp. 2012,2013 # # p1 # @@ -119,6 +119,7 @@ foreach my $argnum (1 .. $#ARGV) my $errHash24Bit = substr($errHash128Bit, 0, 6); print TGFILE " case 0x$errHash24Bit:\n"; + print TGFILE " i_parser.PrintString(\"HwpReturnCode\", \"$err->{rc}\");\n"; print TGFILE " i_parser.PrintString(\"HWP Error description\", \"$desc\");\n"; print TGFILE " break;\n"; } @@ -179,13 +180,13 @@ foreach my $argnum (1 .. $#ARGV) # the same way as fapiParseErrorInfo.pl. This code must be kept in # sync #------------------------------------------------------------------ - my $ffdcName = $err->{rc} . "_"; - $ffdcName = $ffdcName . $ffdc; + my $ffdcName = $err->{rc} . "_" . $ffdc; my $ffdcHash128Bit = md5_hex($ffdcName); my $ffdcHash32Bit = substr($ffdcHash128Bit, 0, 8); print TGFILE " case 0x$ffdcHash32Bit:\n"; - print TGFILE " i_parser.PrintString(\"FFDC:\", \"$ffdcName\");\n"; + print TGFILE " i_parser.PrintString(\"HwpReturnCode\", \"$err->{rc}\");\n"; + print TGFILE " i_parser.PrintString(\"FFDC:\", \"$ffdc\");\n"; print TGFILE " if (l_buflen) "; print TGFILE "{i_parser.PrintHexDump(l_pBuffer, l_buflen);}\n"; print TGFILE " break;\n"; diff --git a/src/usr/hwpf/plat/fapiPlatHwAccess.C b/src/usr/hwpf/plat/fapiPlatHwAccess.C index 5b1f5ce6c..8f8a4f2b2 100644 --- a/src/usr/hwpf/plat/fapiPlatHwAccess.C +++ b/src/usr/hwpf/plat/fapiPlatHwAccess.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* COPYRIGHT International Business Machines Corp. 2011,2013 */ /* */ /* p1 */ /* */ @@ -52,10 +52,10 @@ #include <fapiHwAccess.H> #include <fapiPlatTrace.H> #include <fapiPlatHwAccess.H> +#include <hwpf/hwpf_reasoncodes.H> #include <errl/errlentry.H> #include <devicefw/userif.H> #include <ecmdDataBufferBase.H> -#include <fapiPlatReasonCodes.H> #include <targeting/common/predicates/predicates.H> #include <targeting/common/targetservice.H> #include <scan/scanif.H> @@ -237,8 +237,8 @@ static errlHndl_t verifyCfamAccessTarget(const fapi::Target& i_target) /*@ * @errortype - * @moduleid MOD_VERIFY_CFAM_ACCESS_TARGET - * @reasoncode RC_CFAM_ACCESS_ON_PROC_ERR + * @moduleid fapi::MOD_VERIFY_CFAM_ACCESS_TARGET + * @reasoncode fapi::RC_CFAM_ACCESS_ON_PROC_ERR * @userdata1 Target type * @devdesc Attempt to access CFAM register on a processor chip */ @@ -294,8 +294,8 @@ static errlHndl_t getCfamChipTarget(const TARGETING::Target* i_target, FAPI_ERR("getCfamChipTarget: Invalid number of parent chip for this target chiplet - # parent chips %d", l_list.size()); /*@ * @errortype - * @moduleid MOD_GET_CFAM_CHIP_TARGET - * @reasoncode RC_INVALID_NUM_PARENT_CHIP + * @moduleid fapi::MOD_GET_CFAM_CHIP_TARGET + * @reasoncode fapi::RC_INVALID_NUM_PARENT_CHIP * @userdata1 Number of parent chip found * @devdesc Invalid num of parent chip found for input CFAM target chiplet */ diff --git a/src/usr/hwpf/plat/fapiPlatHwpInvoker.C b/src/usr/hwpf/plat/fapiPlatHwpInvoker.C index fed7d3157..66753c655 100644 --- a/src/usr/hwpf/plat/fapiPlatHwpInvoker.C +++ b/src/usr/hwpf/plat/fapiPlatHwpInvoker.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* COPYRIGHT International Business Machines Corp. 2011,2013 */ /* */ /* p1 */ /* */ @@ -30,7 +30,7 @@ #include <fapiReturnCode.H> #include <fapiPlatTrace.H> #include <fapiErrorInfo.H> -#include <fapiPlatReasonCodes.H> +#include <hwpf/hwpf_reasoncodes.H> #include <errl/errlentry.H> namespace fapi @@ -180,7 +180,7 @@ errlHndl_t fapiRcToErrl(ReturnCode & io_rc) l_reasonCode &= 0xff; l_reasonCode |= HWPF_COMP_ID; - // HostBoot errlog tags for FAPI errors are in fapiPlatReasonCodes.H + // HostBoot errlog tags for FAPI errors are in hwpfReasonCodes.H l_pError = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE, MOD_FAPI_RC_TO_ERRL, l_reasonCode); diff --git a/src/usr/hwpf/plat/fapiPlatMvpdAccess.C b/src/usr/hwpf/plat/fapiPlatMvpdAccess.C index 934137b61..a048b930f 100644 --- a/src/usr/hwpf/plat/fapiPlatMvpdAccess.C +++ b/src/usr/hwpf/plat/fapiPlatMvpdAccess.C @@ -30,8 +30,8 @@ #include <errl/errlentry.H> // fapi support -#include <hwpf/plat/fapiPlatReasonCodes.H> #include <fapiMvpdAccess.H> +#include <hwpf/hwpf_reasoncodes.H> // MVPD #include <devicefw/userif.H> diff --git a/src/usr/hwpf/plat/fapiPlatSystemConfig.C b/src/usr/hwpf/plat/fapiPlatSystemConfig.C index f07d0e15b..ef25ffd2b 100644 --- a/src/usr/hwpf/plat/fapiPlatSystemConfig.C +++ b/src/usr/hwpf/plat/fapiPlatSystemConfig.C @@ -30,7 +30,7 @@ #include <fapiPlatTrace.H> #include <fapiSystemConfig.H> -#include <fapiPlatReasonCodes.H> +#include <hwpf/hwpf_reasoncodes.H> #include <errl/errlentry.H> #include <targeting/common/commontargeting.H> #include <targeting/common/utilFilter.H> @@ -69,8 +69,8 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( l_targetList.size()); /*@ * @errortype - * @moduleid fapi:MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL - * @reasoncode fapi:RC_NO_SINGLE_MCS + * @moduleid fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL + * @reasoncode fapi::RC_NO_SINGLE_MCS * @userdata1 Type of input target * @devdesc fapiGetOtherSideOfMemChannel could not find exactly * one target on the other side of the correct state @@ -104,8 +104,8 @@ fapi::ReturnCode fapiGetOtherSideOfMemChannel( l_targetList.size()); /*@ * @errortype - * @moduleid fapi:MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL - * @reasoncode fapi:RC_NO_SINGLE_MEMBUFF + * @moduleid fapi::MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL + * @reasoncode fapi::RC_NO_SINGLE_MEMBUFF * @userdata1 Type of input target * @devdesc fapiGetOtherSideOfMemChannel could not find exactly * one target on the other side of the correct state @@ -204,8 +204,8 @@ fapi::ReturnCode fapiGetChildChiplets( i_chip.getType()); /*@ * @errortype - * @moduleid MOD_FAPI_GET_CHILD_CHIPLETS - * @reasoncode RC_INVALID_REQUEST + * @moduleid fapi::MOD_FAPI_GET_CHILD_CHIPLETS + * @reasoncode fapi::RC_INVALID_REQUEST * @userdata1 Type of input target * @devdesc fapiGetChildChiplets request for non-chip */ @@ -248,8 +248,8 @@ fapi::ReturnCode fapiGetChildChiplets( i_chipletType); /*@ * @errortype - * @moduleid MOD_FAPI_GET_CHILD_CHIPLETS - * @reasoncode RC_UNSUPPORTED_REQUEST + * @moduleid fapi::MOD_FAPI_GET_CHILD_CHIPLETS + * @reasoncode fapi::RC_UNSUPPORTED_REQUEST * @userdata1 Type of requested chiplet * @devdesc fapiGetChildChiplets request for unsupported * or invalid chiplet type @@ -275,8 +275,8 @@ fapi::ReturnCode fapiGetChildChiplets( FAPI_ERR("fapiGetChildChiplets. Embedded NULL target pointer"); /*@ * @errortype - * @moduleid MOD_FAPI_GET_CHILD_CHIPLETS - * @reasoncode RC_EMBEDDED_NULL_TARGET_PTR + * @moduleid fapi::MOD_FAPI_GET_CHILD_CHIPLETS + * @reasoncode fapi::RC_EMBEDDED_NULL_TARGET_PTR * @devdesc fapi target has embedded null target pointer */ errlHndl_t l_pError = new ERRORLOG::ErrlEntry( @@ -345,8 +345,8 @@ fapi::ReturnCode fapiGetAssociatedDimms( FAPI_ERR("fapiGetAssociatedDimms. Embedded NULL target pointer"); /*@ * @errortype - * @moduleid MOD_FAPI_GET_ASSOCIATE_DIMMS - * @reasoncode RC_EMBEDDED_NULL_TARGET_PTR + * @moduleid fapi::MOD_FAPI_GET_ASSOCIATE_DIMMS + * @reasoncode fapi::RC_EMBEDDED_NULL_TARGET_PTR * @devdesc fapi target has embedded null target pointer */ errlHndl_t l_pError = new ERRORLOG::ErrlEntry( @@ -414,8 +414,8 @@ fapi::ReturnCode fapiGetParentChip( /*@ * @errortype - * @moduleid MOD_FAPI_GET_PARENT_CHIP - * @reasoncode RC_INVALID_REQUEST + * @moduleid fapi::MOD_FAPI_GET_PARENT_CHIP + * @reasoncode fapi::RC_INVALID_REQUEST * @userdata1 Type of input target * @devdesc fapiGetParentChip request for non-chiplet */ @@ -438,8 +438,8 @@ fapi::ReturnCode fapiGetParentChip( { /*@ * @errortype - * @moduleid MOD_FAPI_GET_PARENT_CHIP - * @reasoncode RC_EMBEDDED_NULL_TARGET_PTR + * @moduleid fapi::MOD_FAPI_GET_PARENT_CHIP + * @reasoncode fapi::RC_EMBEDDED_NULL_TARGET_PTR * @devdesc fapi target has embedded null target pointer */ errlHndl_t l_pError = new ERRORLOG::ErrlEntry( @@ -461,8 +461,8 @@ fapi::ReturnCode fapiGetParentChip( FAPI_ERR("fapiGetParentChip. Parent not found"); /*@ * @errortype - * @moduleid MOD_FAPI_GET_PARENT_CHIP - * @reasoncode RC_NO_SINGLE_PARENT + * @moduleid fapi::MOD_FAPI_GET_PARENT_CHIP + * @reasoncode fapi::RC_NO_SINGLE_PARENT * @devdesc fapiGetParentChip request did not find one parent */ errlHndl_t l_pError = new ERRORLOG::ErrlEntry( diff --git a/src/usr/hwpf/plugins/hwpfParse.C b/src/usr/hwpf/plugins/HWPF_COMP_ID_Parse.C index 5fe7af402..c67f27f27 100644 --- a/src/usr/hwpf/plugins/hwpfParse.C +++ b/src/usr/hwpf/plugins/HWPF_COMP_ID_Parse.C @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/usr/hwpf/plugins/hwpfParse.C $ */ +/* $Source: src/usr/hwpf/plugins/HWPF_COMP_ID_Parse.C $ */ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ /* */ /* p1 */ /* */ @@ -21,14 +21,12 @@ /* */ /* IBM_PROLOG_END_TAG */ /** - * @file hwpfParse.C + * @file HWPF_COMP_ID_Parse.C * * HWPF user data parser */ -#include <errl/errludparser.H> -#include <hwpf/plat/fapiPlatUdParserFactory.H> -#include <hwpf/hwp/hwpistepudparserfactory.H> +#include "errludparser.H" +#include "hwpfUdParserFactory.H" -ERRL_MAKE_UD_PARSER(fapi::PlatUserDetailsParserFactory, HWPF_COMP_ID) -ERRL_MAKE_UD_PARSER(ISTEP_ERROR::HwpIstepUserDetailsParserFactory, HWPF_COMP_ID) +ERRL_MAKE_UD_PARSER(fapi::HwpfUserDetailsParserFactory, hbfw::HWPF_COMP_ID) diff --git a/src/usr/hwpf/plugins/fapiPlatUdParserHwp.H b/src/usr/hwpf/plugins/fapiPlatUdParserHwp.H new file mode 100644 index 000000000..1296fb8a8 --- /dev/null +++ b/src/usr/hwpf/plugins/fapiPlatUdParserHwp.H @@ -0,0 +1,129 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/plugins/fapiPlatUdParserHwp.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 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 FAPIPLATUDPARSERHWP_H +#define FAPIPLATUDPARSERHWP_H + +/** + * @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 "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 + diff --git a/src/usr/hwpf/plugins/hwpfUdParserFactory.H b/src/usr/hwpf/plugins/hwpfUdParserFactory.H new file mode 100644 index 000000000..95a732ec1 --- /dev/null +++ b/src/usr/hwpf/plugins/hwpfUdParserFactory.H @@ -0,0 +1,69 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/plugins/hwpfUdParserFactory.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 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 HWPFUDPARSERFACTORY_H +#define HWPFUDPARSERFACTORY_H + +/** + * @file fapiPlatHwpUdDecode.H + * + * Defines the PlatUserDetailsParserFactory class + */ +#include "errludparserfactory.H" +#include "fapiPlatUdParserHwp.H" +#include "hwpistepud.H" + +namespace fapi +{ + +/** + * @class Hwpf UserDetailsParserFactory + * + * This factory produces ErrlUserDetailsParser objects to parse the specified + * HWPF user detail data. + */ +class HwpfUserDetailsParserFactory : public ERRORLOG::ErrlUserDetailsParserFactory +{ +public: + + /** + * @brief Constructor + */ + HwpfUserDetailsParserFactory() + { + registerParser<PlatUserDetailsParserHwpRcValue>(HWPF_UDT_HWP_RCVALUE); + registerParser<PlatUserDetailsParserHwpFfdc>(HWPF_UDT_HWP_FFDC); + registerParser<ISTEP_ERROR::HwpUserDetailsParserIstep> + (HWPF_UDT_STEP_ERROR_DETAILS); + } + +private: + // Disabled + HwpfUserDetailsParserFactory(const HwpfUserDetailsParserFactory &); + HwpfUserDetailsParserFactory & operator=( + const HwpfUserDetailsParserFactory &); +}; + +} + +#endif + diff --git a/src/usr/hwpf/plugins/hwpistepud.H b/src/usr/hwpf/plugins/hwpistepud.H new file mode 100644 index 000000000..8d17e9130 --- /dev/null +++ b/src/usr/hwpf/plugins/hwpistepud.H @@ -0,0 +1,99 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/plugins/hwpistepud.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,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 INITSVC_UDSTEP_H +#define INITSVC_UDSTEP_H + +/** + * @file initsvcudistep.H + * + * Defines the HwpUserDetailsParserIstep class that parses + * IStep FFDC user detail in an error log + */ + +#include "errluserdetails.H" + +namespace ISTEP_ERROR +{ + /** + * @struct IStepUserDetailsIstepData + * + * Defines the user detail data + */ + struct HwpUserDetailsIstepErrorData + { + uint32_t eid; + uint32_t reasoncode; + }; + + /** + * @class HwpUserDetailsParserIstep + * + * 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 + diff --git a/src/usr/hwpf/plugins/makefile b/src/usr/hwpf/plugins/makefile deleted file mode 100644 index 891249f93..000000000 --- a/src/usr/hwpf/plugins/makefile +++ /dev/null @@ -1,47 +0,0 @@ -# IBM_PROLOG_BEGIN_TAG -# This is an automatically generated prolog. -# -# $Source: src/usr/hwpf/plugins/makefile $ -# -# 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 other- -# wise divested of its trade secrets, irrespective of what has -# been deposited with the U.S. Copyright Office. -# -# Origin: 30 -# -# IBM_PROLOG_END -# This is a FipS makefile. - -# Include the common hostboot plugins makefile -.include "../plugins.mk" - -MY_PLUGIN = libB-0900 -MY_OBJS = hwpfParse.o - -.if ( $(CONTEXT) == "x86.nfp" ) - -LIBRARIES = ${MY_PLUGIN}.a -EXPLIBS = ${MY_PLUGIN}.a -${MY_PLUGIN}.a_OFILES = ${MY_OBJS} - -.else - -BUILD_SHARED_OBJS = -SHARED_LIBRARIES EXPSHLIBS = ${MY_PLUGIN}.so -${MY_PLUGIN}.so_EXTRA_LIBS = libbase.so -${MY_PLUGIN}.so_SHLDFLAGS += ${SHLDFLAGS} -Wl,-soname,${.TARGET} -${MY_PLUGIN}.so_OFILES = ${MY_OBJS} - -.endif - -.include <${RULES_MK}> |