diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2012-10-16 00:13:25 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-11-03 14:39:41 -0500 |
commit | 0fb4ee347957ceb2b58a200551fe6cf2cc212e74 (patch) | |
tree | 14efe53094c44be5beb1afe62be4b65bf143014f /src/usr/hwpf/hwp/core_activate/core_activate.C | |
parent | 5aa9bef02647193eed4ce4d26851bd5d79c87c01 (diff) | |
download | talos-hostboot-0fb4ee347957ceb2b58a200551fe6cf2cc212e74.tar.gz talos-hostboot-0fb4ee347957ceb2b58a200551fe6cf2cc212e74.zip |
Return error when procedures fail during istep
Change-Id: I65686d261583ea84c7908f819071bd751fdb0e06
RTC: 39876
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1627
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Paul Nguyen <nguyenp@us.ibm.com>
Reviewed-by: Mark W. Wenning <wenning@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/core_activate/core_activate.C')
-rw-r--r-- | src/usr/hwpf/hwp/core_activate/core_activate.C | 90 |
1 files changed, 82 insertions, 8 deletions
diff --git a/src/usr/hwpf/hwp/core_activate/core_activate.C b/src/usr/hwpf/hwp/core_activate/core_activate.C index 6bd571751..7072b086f 100644 --- a/src/usr/hwpf/hwp/core_activate/core_activate.C +++ b/src/usr/hwpf/hwp/core_activate/core_activate.C @@ -47,6 +47,8 @@ #include <initservice/isteps_trace.H> #include <initservice/istepdispatcherif.H> +#include <hwpisteperror.H> + // targeting support #include <targeting/common/commontargeting.H> #include <targeting/common/utilFilter.H> @@ -74,6 +76,7 @@ namespace CORE_ACTIVATE using namespace TARGETING; using namespace fapi; using namespace ISTEP; +using namespace ISTEP_ERROR; @@ -83,11 +86,13 @@ using namespace ISTEP; // void* call_host_activate_master( void *io_pArgs ) { - errlHndl_t l_errl = NULL; TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_activate_master entry" ); + errlHndl_t l_errl = NULL; + IStepError l_stepError; + // @@@@@ CUSTOM BLOCK: @@@@@ do { @@ -153,7 +158,7 @@ using namespace ISTEP; * @errortype * @reasoncode ISTEP_FAIL_MASTER_WINKLE_RC * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_CORE_ACTIVATE + * @moduleid ISTEP_HOST_ACTIVATE_MASTER * @userdata1 return code from cpu_master_winkle * * @devdesc p8_pore_gen_cpureg returned an error when @@ -161,7 +166,7 @@ using namespace ISTEP; */ l_errl = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE, - ISTEP_CORE_ACTIVATE, + ISTEP_HOST_ACTIVATE_MASTER, ISTEP_FAIL_MASTER_WINKLE_RC, l_rc ); break; @@ -196,13 +201,33 @@ using namespace ISTEP; } while ( 0 ); // @@@@@ END CUSTOM BLOCK: @@@@@ - + if( l_errl ) + { + /*@ + * @errortype + * @reasoncode ISTEP_CORE_ACTIVATE_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_HOST_ACTIVATE_MASTER + * @userdata1 bytes 0-1: plid identifying first error + * bytes 2-3: reason code of first error + * @userdata2 bytes 0-1: total number of elogs included + * bytes 2-3: N/A + * @devdesc call to host_activate_master failed see + * error identified by the plid in user data + * field. + */ + l_stepError.addErrorDetails(ISTEP_CORE_ACTIVATE_FAILED, + ISTEP_HOST_ACTIVATE_MASTER, + l_errl ); + + errlCommit( l_errl, HWPF_COMP_ID ); + } TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_activate_master exit" ); // end task, returning any errorlogs to IStepDisp - return l_errl; + return l_stepError.getErrorHandle(); } @@ -216,6 +241,8 @@ void* call_host_activate_slave_cores( void *io_pArgs ) { errlHndl_t l_errl = NULL; + IStepError l_stepError; + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_activate_slave_cores entry" ); @@ -285,11 +312,34 @@ void* call_host_activate_slave_cores( void *io_pArgs ) #endif // @@@@@ END CUSTOM BLOCK: @@@@@ + if( l_errl ) + { + /*@ + * @errortype + * @reasoncode ISTEP_CORE_ACTIVATE_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_HOST_ACTIVATE_SLAVE_CORES + * @userdata1 bytes 0-1: plid identifying first error + * bytes 2-3: reason code of first error + * @userdata2 bytes 0-1: total number of elogs included + * bytes 2-3: N/A + * + * @devdesc call to host_activate_master failed see + * error identified by the plid in user data + * field. + */ + l_stepError.addErrorDetails(ISTEP_CORE_ACTIVATE_FAILED, + ISTEP_HOST_ACTIVATE_SLAVE_CORES, + l_errl ); + + errlCommit( l_errl, HWPF_COMP_ID ); + } + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_activate_slave_cores exit" ); // end task, returning any errorlogs to IStepDisp - return l_errl; + return l_stepError.getErrorHandle(); } @@ -302,6 +352,8 @@ void* call_host_ipl_complete( void *io_pArgs ) { errlHndl_t l_err = NULL; + IStepError l_stepError; + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_ipl_complete entry" ); do @@ -367,12 +419,34 @@ void* call_host_ipl_complete( void *io_pArgs ) } while( 0 ); + if( l_err ) + { + /*@ + * @errortype + * @reasoncode ISTEP_CORE_ACTIVATE_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_HOST_IPL_COMPLETE + * @userdata1 bytes 0-1: plid identifying first error + * bytes 2-3: reason code of first error + * @userdata2 bytes 0-1: total number of elogs included + * bytes 2-3: N/A + * @devdesc call to host_ipl_complete failed see + * error identified by the plid in user data + * field. + */ + l_stepError.addErrorDetails(ISTEP_CORE_ACTIVATE_FAILED, + ISTEP_HOST_IPL_COMPLETE, + l_err ); + + errlCommit( l_err, HWPF_COMP_ID ); + } + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "call_host_ipl_complete exit elog ptr = %p", l_err ); + "call_host_ipl_complete exit "); // end task, returning any errorlogs to IStepDisp - return l_err; + return l_stepError.getErrorHandle(); } |