diff options
Diffstat (limited to 'src/usr/hwpf/hwp/dram_initialization/dram_initialization.C')
-rw-r--r-- | src/usr/hwpf/hwp/dram_initialization/dram_initialization.C | 127 |
1 files changed, 120 insertions, 7 deletions
diff --git a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C index 7f0cc87c0..9c2d0667a 100644 --- a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C +++ b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C @@ -46,6 +46,7 @@ #include <diag/mdia/mdia.H> #include <diag/attn/attn.H> #include <initservice/isteps_trace.H> +#include <hwpisteperror.H> // targeting support #include <targeting/common/commontargeting.H> @@ -80,6 +81,8 @@ namespace DRAM_INITIALIZATION { +using namespace ISTEP; +using namespace ISTEP_ERROR; using namespace TARGETING; using namespace EDI_EI_INITIALIZATION; using namespace fapi; @@ -145,6 +148,8 @@ void* call_mss_extent_setup( void *io_pArgs ) { errlHndl_t l_errl = NULL; + IStepError l_stepError; + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_extent_setup entry" ); @@ -155,6 +160,24 @@ void* call_mss_extent_setup( void *io_pArgs ) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : failed executing mss_extent_setup returning error" ); + /*@ + * @errortype + * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_MSS_EXTENT_SETUP + * @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 mss_extent_setup has failed, see error log + * identified by the plid in user data + */ + l_stepError.addErrorDetails(ISTEP_DRAM_INITIALIZATION_FAILED, + ISTEP_MSS_EXTENT_SETUP, + l_errl ); + + errlCommit( l_errl, HWPF_COMP_ID ); + } else { @@ -166,7 +189,7 @@ void* call_mss_extent_setup( void *io_pArgs ) "call_mss_extent_setup exit" ); // end task, returning any errorlogs to IStepDisp - return l_errl; + return l_stepError.getErrorHandle(); } // @@ -179,6 +202,8 @@ void* call_mss_memdiag( void *io_pArgs ) errlHndl_t l_errl = NULL; + IStepError l_stepError; + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_memdiag entry" ); @@ -211,11 +236,32 @@ void* call_mss_memdiag( void *io_pArgs ) } while (0); + if( l_errl ) + { + /*@ + * @errortype + * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_MSS_MEMDIAG + * @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 mss_memdiag has failed, see error log + * identified by the plid in user data + */ + l_stepError.addErrorDetails(ISTEP_DRAM_INITIALIZATION_FAILED, + ISTEP_MSS_MEMDIAG, + l_errl ); + + errlCommit( l_errl, HWPF_COMP_ID ); + } + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_memdiag exit" ); // end task, returning any errorlogs to IStepDisp - return l_errl; + return l_stepError.getErrorHandle(); } @@ -334,6 +380,7 @@ void* call_proc_setup_bars( void *io_pArgs ) { errlHndl_t l_errl = NULL; + IStepError l_stepError; TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_setup_bars entry" ); @@ -374,6 +421,24 @@ void* call_proc_setup_bars( void *io_pArgs ) if ( l_errl ) { + /*@ + * @errortype + * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_MSS_SETUP_BARS + * @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 mss_setup_bars failed, see error log + * identified by the plid in user data 1. + */ + l_stepError.addErrorDetails(ISTEP_DRAM_INITIALIZATION_FAILED, + ISTEP_MSS_SETUP_BARS, + l_errl ); + + errlCommit( l_errl, HWPF_COMP_ID ); + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : mss_setup_bars" ); // break and return with error @@ -394,7 +459,7 @@ void* call_proc_setup_bars( void *io_pArgs ) if ( !TARGETING::is_vpo() ) { //Now need to scom the L3 bar on my EX to trigger Simics cache contained exit - if (!l_errl) + if (l_stepError.isNull()) { TARGETING::Target* procTarget = NULL; TARGETING::targetService().masterProcChipTargetHandle( procTarget ); @@ -421,7 +486,7 @@ void* call_proc_setup_bars( void *io_pArgs ) // @@@@@ end TEMPORARY SIMICS HACK for PHYP 6/1 milestone @@@@@ } - if ( ! l_errl ) + if ( l_stepError.isNull() ) { // ----------------------------------------------------------------------- // run proc_setup_bars on all CPUs @@ -495,18 +560,41 @@ void* call_proc_setup_bars( void *io_pArgs ) else { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "SUCCESS : proc_setup-bars" ); + "SUCCESS : proc_setup_bars" ); } } } // end if !l_errl // @@@@@ END CUSTOM BLOCK: @@@@@ + if ( l_errl ) + { + /*@ + * @errortype + * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_PROC_SETUP_BARS + * @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 proc_setup_bars has failed, see error log + * identified by the plid in user data section. + */ + + l_stepError.addErrorDetails(ISTEP_DRAM_INITIALIZATION_FAILED, + ISTEP_PROC_SETUP_BARS, + l_errl); + + errlCommit( l_errl, HWPF_COMP_ID ); + + } + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_setup_bars exit" ); // end task, returning any errorlogs to IStepDisp - return l_errl; + return l_stepError.getErrorHandle(); } @@ -572,6 +660,8 @@ void* call_proc_exit_cache_contained( void *io_pArgs ) { errlHndl_t l_errl = NULL; + IStepError l_stepError; + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_exit_cache_contained entry" ); @@ -624,13 +714,36 @@ void* call_proc_exit_cache_contained( void *io_pArgs ) rc ); } + if ( l_errl ) + { + /*@ + * @errortype + * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_PROC_EXIT_CACHE_CONTAINED + * @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 proc_exit_cache_contained has failed + * see error log in the user details section for + * additional details. + */ + l_stepError.addErrorDetails(ISTEP_DRAM_INITIALIZATION_FAILED, + ISTEP_PROC_EXIT_CACHE_CONTAINED, + l_errl); + + errlCommit( l_errl, HWPF_COMP_ID ); + + } + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_exit_cache_contained exit" ); // @@@@@ END CUSTOM BLOCK: @@@@@ // end task, returning any errorlogs to IStepDisp - return l_errl; + return l_stepError.getErrorHandle(); } |