summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/hwpf')
-rwxr-xr-xsrc/usr/hwpf/fapi/fapiParseErrorInfo.pl5
-rw-r--r--src/usr/hwpf/hwp/bus_training/pbusLinkSvc.C1
-rw-r--r--src/usr/hwpf/hwp/bus_training/pbusLinkSvc.H46
-rw-r--r--src/usr/hwpf/hwp/dram_initialization/dram_initialization.C4
-rw-r--r--src/usr/hwpf/hwp/dram_training/hbVddrMsg.C47
-rw-r--r--src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C1
-rw-r--r--src/usr/hwpf/hwp/hwpistepud.C6
-rw-r--r--src/usr/hwpf/hwp/thread_activate/thread_activate.C2
-rw-r--r--src/usr/hwpf/makefile23
-rw-r--r--src/usr/hwpf/plat/fapiPlatAttributeService.C2
-rwxr-xr-xsrc/usr/hwpf/plat/fapiPlatCreateHwpErrParser.pl9
-rw-r--r--src/usr/hwpf/plat/fapiPlatHwAccess.C12
-rw-r--r--src/usr/hwpf/plat/fapiPlatHwpInvoker.C6
-rw-r--r--src/usr/hwpf/plat/fapiPlatMvpdAccess.C2
-rw-r--r--src/usr/hwpf/plat/fapiPlatSystemConfig.C38
-rw-r--r--src/usr/hwpf/plugins/HWPF_COMP_ID_Parse.C (renamed from src/usr/hwpf/plugins/hwpfParse.C)14
-rw-r--r--src/usr/hwpf/plugins/fapiPlatUdParserHwp.H129
-rw-r--r--src/usr/hwpf/plugins/hwpfUdParserFactory.H69
-rw-r--r--src/usr/hwpf/plugins/hwpistepud.H99
-rw-r--r--src/usr/hwpf/plugins/makefile47
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}>
OpenPOWER on IntegriCloud