summaryrefslogtreecommitdiffstats
path: root/src/usr/scom/scomtrans.C
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2014-01-24 15:47:52 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-02-14 12:32:47 -0600
commit5850220077f29041920e83de66ec458dac9c82a7 (patch)
tree5b89744aa9e0f7c07ba9f2c341a66d4954b04f8d /src/usr/scom/scomtrans.C
parent54fe1fd5efa72aa626419e56e89d68e83480a0db (diff)
downloadtalos-hostboot-5850220077f29041920e83de66ec458dac9c82a7.tar.gz
talos-hostboot-5850220077f29041920e83de66ec458dac9c82a7.zip
Finalize callouts for scan and scom drivers
Change-Id: Iaa603e8464d4e342fa256560da3c9d529aae8be4 RTC: 47014 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8340 Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/scom/scomtrans.C')
-rw-r--r--src/usr/scom/scomtrans.C49
1 files changed, 31 insertions, 18 deletions
diff --git a/src/usr/scom/scomtrans.C b/src/usr/scom/scomtrans.C
index 024b2cd54..2f533ea5c 100644
--- a/src/usr/scom/scomtrans.C
+++ b/src/usr/scom/scomtrans.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2013 */
+/* COPYRIGHT International Business Machines Corp. 2011,2014 */
/* */
/* p1 */
/* */
@@ -40,6 +40,7 @@
#include "scom.H"
#include "scomtrans.H"
#include <scom/scomreasoncodes.H>
+#include <errl/errludtarget.H>
// Trace definition
extern trace_desc_t* g_trac_scom;
@@ -512,9 +513,11 @@ errlHndl_t scomTranslate(DeviceFW::OperationType i_opType,
SCOM_TRANSLATE,
SCOM_TRANS_INVALID_TYPE,
i_addr,
- l_type);
-
-
+ l_type,
+ true/*SW Error*/);
+ //Add this target to the FFDC
+ ERRORLOG::ErrlUserDetailsTarget(i_target,"SCOM Target")
+ .addToLog(l_err);
}
}
@@ -536,8 +539,12 @@ errlHndl_t scomTranslate(DeviceFW::OperationType i_opType,
SCOM_TRANSLATE,
SCOM_INVALID_ADDR,
i_addr,
- l_type);
- l_err->collectTrace("SCOM",1024);
+ l_type,
+ true/*SW Error*/);
+ //Add this target to the FFDC
+ ERRORLOG::ErrlUserDetailsTarget(i_target,"SCOM Target")
+ .addToLog(l_err);
+ l_err->collectTrace(SCOM_COMP_NAME,1024);
}
@@ -587,6 +594,8 @@ errlHndl_t scomPerformTranslate(TARGETING::EntityPath i_epath,
}
else
{
+ TRACFCOMP(g_trac_scom,"SCOMPERFORMTRANSLATE Invalid Address.i_addr =0x%X for mask = 0x%X", i_addr, i_mask);
+
/*@
* @errortype
* @moduleid SCOM::SCOM_PERFORM_TRANSLATE
@@ -596,14 +605,16 @@ errlHndl_t scomPerformTranslate(TARGETING::EntityPath i_epath,
* @devdesc Invalid Address for the mask passed in.
*/
l_err = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE,
- SCOM_PERFORM_TRANSLATE,
- SCOM_INVALID_ADDR,
- i_addr,
- o_target->getAttr<TARGETING::ATTR_TYPE>());
+ SCOM_PERFORM_TRANSLATE,
+ SCOM_INVALID_ADDR,
+ i_addr,
+ o_target->getAttr<TARGETING::ATTR_TYPE>(),
+ true/*SW Error*/);
+ //Add this target to the FFDC
+ ERRORLOG::ErrlUserDetailsTarget(o_target,"SCOM Target")
+ .addToLog(l_err);
- l_err->collectTrace("SCOM",1024);
-
- TRACFCOMP(g_trac_scom,"SCOMPERFORMTRANSLATE Invalid Address.i_addr =0x%X for mask = 0x%X", i_addr, i_mask);
+ l_err->collectTrace(SCOM_COMP_NAME,1024);
return (l_err);
}
@@ -657,7 +668,7 @@ errlHndl_t scomfindParentTarget( TARGETING::EntityPath i_epath,
if (!foundParent)
{
- // got and error.. bad address.. write an errorlog..
+ TRACFCOMP(g_trac_scom, "TRANSLATE..Did not find parent type=0x%X ", i_ptype);
/*@
* @errortype
* @moduleid SCOM::SCOM_PERFORM_TRANSLATE
@@ -670,12 +681,14 @@ errlHndl_t scomfindParentTarget( TARGETING::EntityPath i_epath,
SCOM_FIND_PARENT_TARGET,
SCOM_NO_MATCHING_PARENT,
i_ptype,
- o_target->getAttr<TARGETING::ATTR_TYPE>());
+ o_target->getAttr<TARGETING::ATTR_TYPE>(),
+ true/*SW Error*/);
- l_err->collectTrace("SCOM",1024);
+ //Add this target to the FFDC
+ ERRORLOG::ErrlUserDetailsTarget(o_target,"SCOM Target")
+ .addToLog(l_err);
- // Need to write and errorlog and return..
- TRACFCOMP(g_trac_scom, "TRANSLATE..Did not find parent type=0x%X ", i_ptype);
+ l_err->collectTrace(SCOM_COMP_NAME,1024);
}
return l_err;
OpenPOWER on IntegriCloud