diff options
| author | Mike Jones <mjjones@us.ibm.com> | 2013-05-15 15:06:22 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-05-16 10:31:37 -0500 |
| commit | 569ae22b11966a12db9fdde9dd60aad7b153ab23 (patch) | |
| tree | 814e40d3409f8f190ff808951c3f9463fc5da63b /src | |
| parent | e2091f8414a45aac21e98898b43d6120b52a1237 (diff) | |
| download | blackbird-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.H | 9 | ||||
| -rw-r--r-- | src/usr/hwpf/hwp/dram_training/hbVddrMsg.C | 90 | ||||
| -rw-r--r-- | src/usr/hwpf/hwp/dram_training/hbVddrMsg.H | 35 |
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; }; |

