summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMike Jones <mjjones@us.ibm.com>2013-05-15 15:06:22 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-05-16 10:31:37 -0500
commit569ae22b11966a12db9fdde9dd60aad7b153ab23 (patch)
tree814e40d3409f8f190ff808951c3f9463fc5da63b /src
parente2091f8414a45aac21e98898b43d6120b52a1237 (diff)
downloadblackbird-hostboot-569ae22b11966a12db9fdde9dd60aad7b153ab23.tar.gz
blackbird-hostboot-569ae22b11966a12db9fdde9dd60aad7b153ab23.zip
Fix VDDR Error Logs
Add a component ID to the VDDR error logs RTC: 62849 Change-Id: I295ab0559783c92f4fa06d2136414fb63f24f7df Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4529 Reviewed-by: Van H. Lee <vanlee@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/include/usr/hwpf/hwpf_reasoncodes.H9
-rw-r--r--src/usr/hwpf/hwp/dram_training/hbVddrMsg.C90
-rw-r--r--src/usr/hwpf/hwp/dram_training/hbVddrMsg.H35
3 files changed, 42 insertions, 92 deletions
diff --git a/src/include/usr/hwpf/hwpf_reasoncodes.H b/src/include/usr/hwpf/hwpf_reasoncodes.H
index 7c6e14093..818157f43 100644
--- a/src/include/usr/hwpf/hwpf_reasoncodes.H
+++ b/src/include/usr/hwpf/hwpf_reasoncodes.H
@@ -57,6 +57,9 @@ namespace fapi
MOD_FAPI_GET_OTHER_SIDE_OF_MEM_CHANNEL = 0x12,
MOD_MBVPD_ACCESS = 0x13,
MOD_OCC_LOAD_START_ALL_OCCS = 0x14,
+ MOD_VDDR_PROC_MSG = 0x15,
+ MOD_VDDR_PROC_VDDR_MSG = 0x16,
+ MOD_VDDR_SEND_MSG = 0x17,
};
/**
@@ -94,6 +97,12 @@ namespace fapi
// OCC Errors
RC_MMIO_UNMAP_ERR = HWPF_COMP_ID | 0x24,
+
+ // VDDR Errors
+ RC_VDDR_EMPTY_MSG = HWPF_COMP_ID | 0x25,
+ RC_VDDR_ERROR_MSG = HWPF_COMP_ID | 0x26,
+ RC_VDDR_POWR_ERR = HWPF_COMP_ID | 0x27,
+ RC_INCORRECT_MSG_TYPE = HWPF_COMP_ID | 0x28,
};
/**
diff --git a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
index 411192288..b2011e206 100644
--- a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
+++ b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.C
@@ -164,17 +164,10 @@ 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
+ * @moduleid fapi::MOD_VDDR_SEND_MSG
+ * @reasoncode fapi::RC_INCORRECT_MSG_TYPE
* @userdata1 i_msgType
* @userdata2 0
*
@@ -182,12 +175,10 @@ errlHndl_t HBVddrMsg::sendMsg(uint32_t i_msgType) const
* provide the correct message type in the istep.
* Userdata1 shows the message type passed in
*/
- createErrLog(l_err,VDDR_SEND_MSG,INCORRECT_MSG_TYPE,i_msgType);
+ createErrLog(l_err, fapi::MOD_VDDR_SEND_MSG,
+ fapi::RC_INCORRECT_MSG_TYPE, i_msgType);
break;
}
-
-
-
size_t l_dataCount = l_request.size();
uint32_t l_msgSize = l_dataCount*sizeof(hwsvPowrVmemRequest_t);
@@ -272,17 +263,10 @@ 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
+ * @moduleid fapi::MOD_VDDR_PROC_VDDR_MSG
+ * @reasoncode fapi::RC_VDDR_EMPTY_MSG
* @userdata1 0
* @userdata2 0
*
@@ -290,7 +274,8 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const
* was null. This should not happen so need to
* tell HostBoot to stop the ipl
*/
- createErrLog(l_errLog,VDDR_PROC_VDDR_MSG,VDDR_EMPTY_MSG);
+ createErrLog(l_errLog, fapi::MOD_VDDR_PROC_VDDR_MSG,
+ fapi::RC_VDDR_EMPTY_MSG);
break;
}
TARGETING::ATTR_VMEM_ID_type l_VmemId =0x0;
@@ -320,17 +305,10 @@ 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
+ * @moduleid fapi::MOD_VDDR_PROC_VDDR_MSG
+ * @reasoncode fapi::RC_VDDR_POWR_ERR
* @userdata1 l_errPlid
* @userdata2 0
*
@@ -338,7 +316,8 @@ errlHndl_t HBVddrMsg::processVDDRmsg(msg_t* i_recvMsg) const
* when the powr function was called. userdata1 contains
* the errorlog plid from hwsv generated by the powr function
*/
- createErrLog(l_errLog,VDDR_PROC_VDDR_MSG,VDDR_POWR_ERR,l_errPlid);
+ createErrLog(l_errLog, fapi::MOD_VDDR_PROC_VDDR_MSG,
+ fapi::RC_VDDR_POWR_ERR, l_errPlid);
l_errLog->plid(l_errPlid);
break;
}
@@ -384,24 +363,18 @@ 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
+ * @moduleid fapi::MOD_VDDR_PROC_MSG
+ * @reasoncode fapi::RC_INCORRECT_MSG_TYPE
* @userdata1 0
* @userdata2 0
*
* @devdesc HB got an incorrect type message. HWSV did not populate
* the message correctly or mbox corrupted the message
*/
- createErrLog(l_errLog,VDDR_PROC_MSG,INCORRECT_MSG_TYPE);
+ createErrLog(l_errLog, fapi::MOD_VDDR_PROC_MSG,
+ fapi::RC_INCORRECT_MSG_TYPE);
}
}
else
@@ -409,17 +382,10 @@ 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
+ * @moduleid fapi::MOD_VDDR_PROC_MSG
+ * @reasoncode fapi::RC_VDDR_ERROR_MSG
* @userdata1 error PLID from hwsv
* @userdata2 0
*
@@ -429,8 +395,8 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const
* Userdata1 will have the error PLID from hwsv's
* errorlog
*/
-
- createErrLog(l_errLog,VDDR_PROC_MSG,VDDR_ERROR_MSG,i_Msg->data[1]);
+ createErrLog(l_errLog, fapi::MOD_VDDR_PROC_MSG,
+ fapi::RC_VDDR_ERROR_MSG, i_Msg->data[1]);
l_errLog->plid(i_Msg->data[1]);
}
@@ -443,9 +409,9 @@ errlHndl_t HBVddrMsg::processMsg(msg_t* i_Msg) const
///////////////////////////////////////////////////////////////////////////////
// HBVddrMsg::createErrLog
///////////////////////////////////////////////////////////////////////////////
-void HBVddrMsg::createErrLog(errlHndl_t& io_err,
- VddrModuleId i_mod,
- VddrReasonCode i_rc,
+void HBVddrMsg::createErrLog(errlHndl_t& io_err,
+ fapi::hwpfModuleId i_mod,
+ fapi::hwpfReasonCode i_rc,
uint32_t i_userData1) const
{
if (io_err == NULL)
diff --git a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.H b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.H
index 0d04babe5..0c1794369 100644
--- a/src/usr/hwpf/hwp/dram_training/hbVddrMsg.H
+++ b/src/usr/hwpf/hwp/dram_training/hbVddrMsg.H
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012 */
+/* COPYRIGHT International Business Machines Corp. 2012,2013 */
/* */
/* p1 */
/* */
@@ -44,7 +44,7 @@
#include <mbox/mboxif.H>
#include <targeting/common/targetservice.H>
#include <targeting/common/utilFilter.H>
-
+#include <hwpf/hwpf_reasoncodes.H>
/*****************************************************************************/
// Forward class declarations
@@ -112,33 +112,6 @@ public:
HB_VDDR_DISABLE = 0x40000042,
};
- /**
- * @enum VddrModuleId
- *
- * @brief Module ID enums for error handling
- *
- */
- enum VddrModuleId
- {
- VDDR_PROC_MSG = 0x01,
- VDDR_PROC_VDDR_MSG = 0x02,
- VDDR_SEND_MSG = 0x03,
- };
-
- /**
- * @enum VddrReasonCode
- *
- * @brief Reason code enums for error handling
- *
- */
- enum VddrReasonCode
- {
- VDDR_EMPTY_MSG = 0x01,
- VDDR_ERROR_MSG = 0x02,
- VDDR_POWR_ERR = 0x03,
- INCORRECT_MSG_TYPE = 0x04,
- };
-
/**
* @brief typedefs for containers for structures
*/
@@ -241,7 +214,9 @@ protected:
*
* @return None
*/
- void createErrLog(errlHndl_t& io_err,VddrModuleId i_mod,VddrReasonCode i_rc,
+ void createErrLog(errlHndl_t& io_err,
+ fapi::hwpfModuleId i_mod,
+ fapi::hwpfReasonCode i_rc,
uint32_t i_userData1=0x0) const;
};
OpenPOWER on IntegriCloud