From 06fdca58e18f8a6dae366a12e03b97c7b28d5742 Mon Sep 17 00:00:00 2001 From: Bill Schwartz Date: Thu, 17 Oct 2013 08:03:36 -0500 Subject: istepreasoncodes.H is a merge bottleneck Eliminate congestion on istepreasoncodes.H by removing error tags and moduleId/Reason codes from iSteps calling IStepError.addErrorDetails. ISteps pass only the failing error log. IStepError.addErrorDetails will get the iStep and substep from the istep dispatcher and add to user data. Change-Id: If8f8796bfeafb80b5dbcea21629137260b07bc72 RTC: 59658 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6719 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES Reviewed-by: Brian H. Horton Reviewed-by: A. Patrick Williams III --- src/build/tools/genIStep.pl | 2 +- src/include/usr/hwpf/hwp/hwpisteperror.H | 24 +- src/include/usr/hwpf/istepreasoncodes.H | 151 +------- .../hwpf/hwp/activate_powerbus/activate_powerbus.C | 29 +- .../hwp/build_winkle_images/build_winkle_images.C | 82 +---- src/usr/hwpf/hwp/core_activate/core_activate.C | 128 ++----- src/usr/hwpf/hwp/dmi_training/dmi_training.C | 322 ++++------------- .../hwp/dram_initialization/dram_initialization.C | 181 ++-------- src/usr/hwpf/hwp/dram_training/dram_training.C | 252 +++----------- .../edi_ei_initialization/edi_ei_initialization.C | 260 +++----------- src/usr/hwpf/hwp/hwpisteperror.C | 68 ++-- src/usr/hwpf/hwp/makefile | 1 + src/usr/hwpf/hwp/mc_config/mc_config.C | 62 +--- src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C | 178 ++-------- .../hwpf/hwp/sbe_centaur_init/sbe_centaur_init.C | 44 +-- src/usr/hwpf/hwp/slave_sbe/slave_sbe.C | 99 +----- src/usr/hwpf/hwp/start_payload/start_payload.C | 32 +- src/usr/hwpf/test/hwpisteperrortest.H | 381 ++++++++++++--------- src/usr/hwpf/test/makefile | 3 +- .../initservice/istepdispatcher/istepdispatcher.C | 12 + .../initservice/istepdispatcher/istepdispatcher.H | 11 + 21 files changed, 639 insertions(+), 1683 deletions(-) (limited to 'src') diff --git a/src/build/tools/genIStep.pl b/src/build/tools/genIStep.pl index 54c1b98ee..430778c12 100755 --- a/src/build/tools/genIStep.pl +++ b/src/build/tools/genIStep.pl @@ -396,7 +396,7 @@ void* call_\@substepname( void *io_pArgs ) \"ERROR : \@substepname, errorlog PLID=0x%x\", lerrl->plid() ); - l_StepError.addErrorDetails( __REASON_CODE__, __MODULE_ID__, l_errl); + l_StepError.addErrorDetails( l_errl); errlCommit( l_errl, HWPF_COMP_ID ); } diff --git a/src/include/usr/hwpf/hwp/hwpisteperror.H b/src/include/usr/hwpf/hwp/hwpisteperror.H index 1f7be8213..b0f47e26c 100644 --- a/src/include/usr/hwpf/hwp/hwpisteperror.H +++ b/src/include/usr/hwpf/hwp/hwpisteperror.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ /* */ /* p1 */ /* */ @@ -41,8 +41,8 @@ namespace ISTEP_ERROR /** * @class IStepError * - * Inteface to the a top level error log returned to the ISTEP dispatcher when - * an individual step fails due to an error in a hardware procedure. + * Inteface to the a top level error log returned to the ISTEP dispatcher + * when an individual step fails due to an error in a hardware procedure. * * The class may be used to aggregate the errors returned from procedures * which may have been run in parallel. The top level error log will @@ -93,6 +93,8 @@ namespace ISTEP_ERROR * * The first call will initialize the internal object * pointer allocating a new errl object as needed. + * The iStep and subStep is retrieved from the + * istepdispatcher and added to the log. * Subsequent calls to this function will result in a new * user data section being added to the top level error * log with additional error data from the error handle @@ -100,19 +102,11 @@ namespace ISTEP_ERROR * * NOTE: This function is thread safe. * - * @param: reasoncode - reason code identifying which Istep has - * failed - * @param: modid - module id identifying which module or - * procedure has caused the error to be - * created - * * @param i_err - error handle passed in, the internal code * will parse specific details from the log * passed in to include in the top level elog. */ - void addErrorDetails(ISTEP::istepReasonCode reasoncode, - ISTEP::istepModuleId modid, - errlHndl_t i_err ); + void addErrorDetails( errlHndl_t i_err ); /** * @brief Return an errlHndl_t which points to the internal error @@ -128,8 +122,8 @@ namespace ISTEP_ERROR errlHndl_t getErrorHandle(); /** - * @brief Utility function to determine if the internal error handle - * is null. + * @brief Utility function to determine if the internal error + * handle is null. * * @return boolean * true indicates errl handle is currently NULL; @@ -139,7 +133,7 @@ namespace ISTEP_ERROR * Note: This funciton is not thread safe * */ - bool isNull() const { return ((iv_eHandle == NULL ) ? true : false); }; + bool isNull() const { return ((iv_eHandle==NULL ) ? true : false);}; private: diff --git a/src/include/usr/hwpf/istepreasoncodes.H b/src/include/usr/hwpf/istepreasoncodes.H index bb12510a7..e67392056 100644 --- a/src/include/usr/hwpf/istepreasoncodes.H +++ b/src/include/usr/hwpf/istepreasoncodes.H @@ -46,85 +46,14 @@ namespace ISTEP enum istepModuleId { ISTEP_INVALID_MODULE = 0x00, - ISTEP_STARTPAYLOAD_EXECUTE_UNIT_TESTS = 0x01, + ISTEP_REPORTING_ERROR = 0x01, ISTEP_START_PAYLOAD_CALL_SHUTDOWN = 0x02, - ISTEP_START_PAYLOAD_NOTIFY_FSP = 0x03, - ISTEP_HOST_ACTIVATE_SLAVE_CORES = 0x04, - ISTEP_BUILD_WINKLE_IMAGES = 0x05, - ISTEP_PROC_STARTCLOCK_CHIPLETS = 0x06, - ISTEP_PROC_CHIPLET_SCOMINIT = 0x07, - ISTEP_PROC_SCOMOVERRIDE_CHIPLETS = 0x08, - ISTEP_FABRIC_IO_RUN_TRAINING = 0x09, - ISTEP_PROC_FAB_IOVALID = 0x0a, - ISTEP_PROC_BUILD_SMP = 0x0b, - ISTEP_MSS_MEMDIAG = 0x0c, - ISTEP_MSS_SCRUB = 0x0d, - ISTEP_HOST_BUILD_WINKLE = 0x0e, - ISTEP_IO_RUN_TRAINING = 0x0f, - ISTEP_PROC_CEN_FRAMEWORK = 0x10, - ISTEP_MEM_STARTCLOCKS = 0x11, - ISTEP_PROC_SET_PORE_BAR = 0x12, - ISTEP_PROC_PREP_MASTER_WINKLE = 0x13, - ISTEP_HOST_ACTIVATE_MASTER = 0x14, - ISTEP_PROC_SETUP_BARS = 0x15, - ISTEP_PROC_EXIT_CACHE_CONTAINED = 0x16, - ISTEP_MSS_EXTENT_SETUP = 0x17, - ISTEP_MSS_SETUP_BARS = 0x18, - ISTEP_MSS_SCOMINIT = 0x19, - ISTEP_MSS_DDR_PHY_RESET = 0x1a, - ISTEP_MSS_DRAMINIT = 0x1b, - ISTEP_MSS_DRAMINIT_TRAINING = 0x1c, - ISTEP_MSS_DRAMINIT_MC = 0x1d, - ISTEP_HOST_COLLECT_DIMM_SPD = 0x1e, - ISTEP_MSS_FREQ = 0x1f, - ISTEP_MSS_EFF_CONFIG = 0x20, - ISTEP_SBE_CENTAUR_INIT = 0x21, - ISTEP_PROC_REVERT_SBE_MCS_SETUP = 0x22, - ISTEP_HOST_IPL_COMPLETE = 0x23, - ISTEP_PROC_A_X_PCI_DMI_PLL_INITF = 0x24, - ISTEP_PROC_A_X_PCI_DMI_PLL_SETUP = 0x25, - ISTEP_PROC_FAPI_POREVE = 0x26, - ISTEP_PROC_CEN_FRAMELOCK = 0x27, - ISTEP_DMI_SCOMINIT = 0x28, - ISTEP_DMI_IO_RUN_TRAINING = 0x29, - ISTEP_PROC_OPT_MEMMAP = 0x2a, - ISTEP_MEM_PLL_SETUP = 0x2b, - ISTEP_PROC_SLW_BUILD = 0x2c, - ISTEP_PROC_FAB_IOVALID_EROR = 0x2d, - ISTEP_LOAD_PORE_IMAGE = 0x2e, - ISTEP_APPLY_PORE_GEN_CPU_REGS = 0x2f, - ISTEP_PROC_PORESLW_INIT = 0x30, - ISTEP_HOST_RUNTIME_SETUP = 0x31, - ISTEP_HOST_VERIFY_HDAT = 0x32, - ISTEP_HOST_START_PAYLOAD = 0x33, - ISTEP_PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE = 0x34, - ISTEP_PROC_PCIE_SCOMINIT = 0x35, - ISTEP_PROC_PCIE_CONFIG = 0x36, - ISTEP_HOST_MPIPL_SERVICE = 0x37, - ISTEP_PROC_CEN_SET_INBAND_ADDR = 0x38, - ISTEP_MSS_THERMAL_INIT = 0x39, - ISTEP_MSS_VOLT = 0x3A, - ISTEP_MSS_GETECID = 0x3B, - ISTEP_MSS_DRAMINIT_TRAINADV = 0x3C, - ISTEP_DMI_IO_RESTORE_EREPAIR = 0x3D, - ISTEP_FABRIC_IO_RESTORE_EREPAIR = 0x3E, - ISTEP_VDDR_ENABLE = 0x3F, - ISTEP_VDDR_DISABLE = 0x40, - ISTEP_DMI_IO_DCCAL = 0x41, - ISTEP_FABRIC_IO_DCCAL = 0x42, - ISTEP_PROC_XBUS_SCOMINIT = 0x43, - ISTEP_PROC_ABUS_SCOMINIT = 0x44, - ISTEP_PROC_DMI_SCOMINIT = 0x45, - ISTEP_MEM_PLL_INITF = 0x46, - ISTEP_PROC_GETECID = 0x47, - ISTEP_INITSVC_MOD_ID = 0x48, - ISTEP_MSS_DIMM_POWER_TEST = 0x49, - ISTEP_PROC_CEN_REF_CLK_ENABLE = 0x4A, - ISTEP_DMI_PRE_TRAINADV = 0x4B, - ISTEP_DMI_POST_TRAINADV = 0x4C, - ISTEP_FABRIC_PRE_TRAINADV = 0x4D, - ISTEP_FABRIC_POST_TRAINADV = 0x4E, - ISTEP_PROC_SBE_START = 0x4F, + ISTEP_HOST_ACTIVATE_SLAVE_CORES = 0x03, + ISTEP_BUILD_WINKLE_IMAGES = 0x04, + ISTEP_PROC_SET_PORE_BAR = 0x05, + ISTEP_HOST_ACTIVATE_MASTER = 0x06, + ISTEP_SBE_CENTAUR_INIT = 0x07, + ISTEP_INITSVC_MOD_ID = 0x08, }; /** @@ -136,67 +65,13 @@ enum istepModuleId enum istepReasonCode { ISTEP_INVALID_REASONCODE = ISTEP_COMP_ID | 0x00, - ISTEP_CXXTEST_FAILED_TEST = ISTEP_COMP_ID | 0x01, + ISTEP_FAILURE = ISTEP_COMP_ID | 0x01, ISTEP_TARGET_NULL = ISTEP_COMP_ID | 0x02, - ISTEP_MBOX_MSG_NULL = ISTEP_COMP_ID | 0x03, - ISTEP_BAD_RC = ISTEP_COMP_ID | 0x04, - ISTEP_FAIL_MASTER_WINKLE_RC = ISTEP_COMP_ID | 0x05, - ISTEP_SLAVE_SBE_FAILED = ISTEP_COMP_ID | 0x06, - ISTEP_NEST_CHIPLETS_FAILED = ISTEP_COMP_ID | 0x07, - ISTEP_EDI_EI_INITIALIZATION_FAILED = ISTEP_COMP_ID | 0x08, - ISTEP_ACTIVATE_POWER_BUS_FAILED = ISTEP_COMP_ID | 0x09, - ISTEP_SBE_CENTAUR_INIT_FAILED = ISTEP_COMP_ID | 0x0a, - ISTEP_DMI_TRAINING_FAILED = ISTEP_COMP_ID | 0x0b, - ISTEP_MC_CONFIG_FAILED = ISTEP_COMP_ID | 0x0c, - ISTEP_DRAM_TRAINING_FAILED = ISTEP_COMP_ID | 0x0d, - ISTEP_DRAM_INITIALIZATION_FAILED = ISTEP_COMP_ID | 0x0e, - ISTEP_BUILD_WINKLE_IMAGES_FAILED = ISTEP_COMP_ID | 0x0F, - ISTEP_CORE_ACTIVATE_FAILED = ISTEP_COMP_ID | 0x10, - ISTEP_STEP_SEVENTEEN = ISTEP_COMP_ID | 0x11, - ISTEP_ESTABLISH_SYSTEM_SMP_FAILED = ISTEP_COMP_ID | 0x12, - ISTEP_STEP_NINETEEN = ISTEP_COMP_ID | 0x13, - ISTEP_LOAD_PAYLOAD_FAILED = ISTEP_COMP_ID | 0x14, - ISTEP_START_PAYLOAD_FAILED = ISTEP_COMP_ID | 0x15, - ISTEP_RESET_PORE_BARS_FAILED = ISTEP_COMP_ID | 0x16, - ISTEP_P8_PORESLW_INIT_FAILED = ISTEP_COMP_ID | 0x17, - ISTEP_PROC_CHIPLET_SCOMINIT_FAILED = ISTEP_COMP_ID | 0x18, - ISTEP_PROC_XBUS_IF_EXECUTION_FAILED = ISTEP_COMP_ID | 0x19, - ISTEP_PROC_ABUS_IF_EXECUTION_FAILED = ISTEP_COMP_ID | 0x1A, - ISTEP_DMI_DRIVE_RESTORE_FAILED = ISTEP_COMP_ID | 0x1B, - ISTEP_DMI_RECEIVE_RESTORE_FAILED = ISTEP_COMP_ID | 0x1C, - ISTEP_FABRIC_DRIVE_RESTORE_FAILED = ISTEP_COMP_ID | 0x1D, - ISTEP_FABRIC_RECEIVE_RESTORE_FAILED = ISTEP_COMP_ID | 0x1E, - ISTEP_DMI_GET_RESTORE_LANES_FAILED = ISTEP_COMP_ID | 0x1F, - ISTEP_FABRIC_GET_RESTORE_LANES_FAILED = ISTEP_COMP_ID | 0x20, - ISTEP_GET_PBUS_CONNECTIONS_FAILED = ISTEP_COMP_ID | 0x21, - ISTEP_DMI_IO_DCCAL_MCS_FAILED = ISTEP_COMP_ID | 0x22, - ISTEP_DMI_IO_DCCAL_MEMBUF_FAILED = ISTEP_COMP_ID | 0x23, - ISTEP_FABRIC_IO_DCCAL_ENDPOINT1_FAILED = ISTEP_COMP_ID | 0x24, - ISTEP_FABRIC_IO_DCCAL_ENDPOINT2_FAILED = ISTEP_COMP_ID | 0x25, - ISTEP_CUSTOMIZE_CHIP_REGIONS_FAILED = ISTEP_COMP_ID | 0x26, - ISTEP_MM_UNMAP_ERR = ISTEP_COMP_ID | 0x27, - /** 0x28 - available */ - ISTEP_CEN_REC_ATTN_FAILED = ISTEP_COMP_ID | 0x29, - ISTEP_PROC_REC_ATTN_FAILED = ISTEP_COMP_ID | 0x2A, - ISTEP_PROC_XBUS_SCOMINIT_FAILED = ISTEP_COMP_ID | 0x2B, - ISTEP_PROC_ABUS_SCOMINIT_FAILED = ISTEP_COMP_ID | 0x2C, - ISTEP_PROC_SWITCH_CFSIM_FAILED = ISTEP_COMP_ID | 0x2D, - ISTEP_LOAD_SLW_FROM_PNOR_FAILED = ISTEP_COMP_ID | 0x2E, - ISTEP_PROC_GETECID_FAILED = ISTEP_COMP_ID | 0x2F, - ISTEP_TOP_LEVEL_TARGET_NULL = ISTEP_COMP_ID | 0x30, - ISTEP_DECONFIGURE_MBA_FAILED = ISTEP_COMP_ID | 0x31, - ISTEP_DECONFIGURE_L4_FAILED = ISTEP_COMP_ID | 0x32, - ISTEP_REPAIR_LOADER_RETRY_OCCURED = ISTEP_COMP_ID | 0x33, - ISTEP_PROC_POST_WINKLE_FAILED = ISTEP_COMP_ID | 0x34, - ISTEP_DMI_PRE_TRAINADV_MCS_FAILED = ISTEP_COMP_ID | 0x35, - ISTEP_DMI_PRE_TRAINADV_MEMBUF_FAILED = ISTEP_COMP_ID | 0x36, - ISTEP_DMI_POST_TRAINADV_MCS_FAILED = ISTEP_COMP_ID | 0x37, - ISTEP_DMI_POST_TRAINADV_MEMBUF_FAILED = ISTEP_COMP_ID | 0x38, - ISTEP_FABRIC_PRE_TRAINADV_ENDPOINT1_FAILED = ISTEP_COMP_ID | 0x39, - ISTEP_FABRIC_PRE_TRAINADV_ENDPOINT2_FAILED = ISTEP_COMP_ID | 0x3A, - ISTEP_FABRIC_POST_TRAINADV_ENDPOINT1_FAILED = ISTEP_COMP_ID | 0x3B, - ISTEP_FABRIC_POST_TRAINADV_ENDPOINT2_FAILED = ISTEP_COMP_ID | 0x3C, - ISTEP_SBE_PNOR_CENTAUR_FAILED = ISTEP_COMP_ID | 0x3D, + ISTEP_BAD_RC = ISTEP_COMP_ID | 0x03, + ISTEP_FAIL_MASTER_WINKLE_RC = ISTEP_COMP_ID | 0x04, + ISTEP_MM_UNMAP_ERR = ISTEP_COMP_ID | 0x05, + ISTEP_LOAD_SLW_FROM_PNOR_FAILED = ISTEP_COMP_ID | 0x06, + ISTEP_REPAIR_LOADER_RETRY_OCCURED = ISTEP_COMP_ID | 0x07, }; // end ISTEP } diff --git a/src/usr/hwpf/hwp/activate_powerbus/activate_powerbus.C b/src/usr/hwpf/hwp/activate_powerbus/activate_powerbus.C index 772786096..ab6b9eb3c 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/activate_powerbus.C +++ b/src/usr/hwpf/hwp/activate_powerbus/activate_powerbus.C @@ -93,9 +93,9 @@ void* call_proc_build_smp( void *io_pArgs ) l_abusConnections, TYPE_ABUS, false ); if (l_errl) { - l_StepError.addErrorDetails(ISTEP_ACTIVATE_POWER_BUS_FAILED, - ISTEP_PROC_BUILD_SMP, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl); + // Commit error errlCommit( l_errl, HWPF_COMP_ID ); break; } @@ -106,9 +106,9 @@ void* call_proc_build_smp( void *io_pArgs ) if (l_errl) { - l_StepError.addErrorDetails(ISTEP_ACTIVATE_POWER_BUS_FAILED, - ISTEP_PROC_BUILD_SMP, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl); + // Commit error errlCommit( l_errl, HWPF_COMP_ID ); break; } @@ -227,20 +227,9 @@ void* call_proc_build_smp( void *io_pArgs ) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : proc_build_smp" ); - /*@ - * @errortype - * @reasoncode ISTEP_ACTIVATE_POWER_BUS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_BUILD_SMP - * @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_build_smp has failed - */ - l_StepError.addErrorDetails(ISTEP_ACTIVATE_POWER_BUS_FAILED, - ISTEP_PROC_BUILD_SMP, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails(l_errl); + // Commit error errlCommit( l_errl, HWPF_COMP_ID ); break; } diff --git a/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C b/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C index 48bbc2fea..739533493 100644 --- a/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C +++ b/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C @@ -123,7 +123,7 @@ errlHndl_t loadPoreImage( char *& o_rporeAddr, if((rc !=0) || (o_rporeSize == 0) || o_rporeSize > l_info.size) { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR: invalid WINK image rc[%d] slwSize[%d] part size[%d]", + "ERROR: invalid WINK image rc[%d] slwSize[%d] part size[%d]", rc, o_rporeSize, l_info.size); /*@ * @errortype @@ -539,23 +539,10 @@ void* call_host_build_winkle( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_procChip).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_BUILD_WINKLE_IMAGES_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_HOST_BUILD_WINKLE - * @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_build_winkle has failed. - * See user data for failing processor information - * - */ - l_StepError.addErrorDetails( - ISTEP::ISTEP_BUILD_WINKLE_IMAGES_FAILED, - ISTEP::ISTEP_HOST_BUILD_WINKLE, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } @@ -592,23 +579,10 @@ void* call_host_build_winkle( void *io_pArgs ) reinterpret_cast (l_pVirtMemBase)); - /*@ - * @errortype - * @reasoncode ISTEP_MM_UNMAP_ERR - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_HOST_BUILD_WINKLE - * @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_build_winkle has failed due to - * unmapping of memory. - * - */ - l_StepError.addErrorDetails( - ISTEP::ISTEP_MM_UNMAP_ERR, - ISTEP::ISTEP_HOST_BUILD_WINKLE, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit error errlCommit( l_errl, HWPF_COMP_ID ); } } @@ -738,23 +712,10 @@ void* call_proc_set_pore_bar( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_procChip).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_BUILD_WINKLE_IMAGES_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_SET_PORE_BAR - * @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_set_porebar has failed, see - * error log identified by the plid in user - * data section. - */ - l_stepError.addErrorDetails(ISTEP_BUILD_WINKLE_IMAGES_FAILED, - ISTEP_PROC_SET_PORE_BAR, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit error errlCommit( l_errl, HWPF_COMP_ID ); } else @@ -830,23 +791,10 @@ void* call_p8_poreslw_init( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_procChip).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_P8_PORESLW_INIT_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_PORESLW_INIT - * @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_set_porebar has failed, see - * error log identified by the plid in user - * data section. - */ - l_stepError.addErrorDetails(ISTEP_P8_PORESLW_INIT_FAILED, - ISTEP_PROC_PORESLW_INIT, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit error errlCommit( l_errl, HWPF_COMP_ID ); } else diff --git a/src/usr/hwpf/hwp/core_activate/core_activate.C b/src/usr/hwpf/hwp/core_activate/core_activate.C index 36ab41cf5..f903834d3 100644 --- a/src/usr/hwpf/hwp/core_activate/core_activate.C +++ b/src/usr/hwpf/hwp/core_activate/core_activate.C @@ -215,23 +215,10 @@ void* call_host_activate_master( void *io_pArgs ) // @@@@@ 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 ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } @@ -336,9 +323,10 @@ void* call_host_activate_slave_cores( void *io_pArgs ) if (l_errl) { - l_stepError.addErrorDetails(ISTEP_BAD_RC, - ISTEP_HOST_ACTIVATE_SLAVE_CORES, - l_errl); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit(l_errl, HWPF_COMP_ID); } else @@ -387,23 +375,13 @@ void* call_host_activate_slave_cores( void *io_pArgs ) { // capture the target data in the elog ErrlUserDetailsTarget(l_pChipTarget).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_PROC_POST_WINKLE_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_PROC_POST_WINKLE_FAILED, - ISTEP_HOST_ACTIVATE_SLAVE_CORES, - l_errl ); + + // Create IStep error log and cross ref error that occurred + l_stepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : proc_post_winkle, PLID=0x%x", l_errl->plid() ); @@ -478,22 +456,9 @@ void* call_host_ipl_complete( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_masterProc).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_PROC_SWITCH_CFSIM_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 proc_switch_cfsim failed. - * see error identified by the plid in user data - * field. - */ - l_stepError.addErrorDetails( ISTEP_PROC_SWITCH_CFSIM_FAILED, - ISTEP_HOST_IPL_COMPLETE, - l_err ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_err ); + // commit errorlog errlCommit( l_err, HWPF_COMP_ID ); @@ -543,24 +508,10 @@ void* call_host_ipl_complete( void *io_pArgs ) // capture the target data in the elog myDetails.addToLog(l_err); - /*@ - * @errortype - * @reasoncode ISTEP_CEN_REC_ATTN_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 cen_switch_attn failed. - * see - * error identified by the plid in user data - * field. - */ - l_stepError.addErrorDetails( ISTEP_CEN_REC_ATTN_FAILED, - ISTEP_HOST_IPL_COMPLETE, - l_err ); + // Create IStep error log and cross ref error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } else @@ -613,24 +564,10 @@ void* call_host_ipl_complete( void *io_pArgs ) // capture the target data in the elog myDetails.addToLog(l_err); - /*@ - * @errortype - * @reasoncode ISTEP_PROC_REC_ATTN_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 cen_switch_attn failed. - * see - * error identified by the plid in user data - * field. - */ - l_stepError.addErrorDetails( ISTEP_PROC_REC_ATTN_FAILED, - ISTEP_HOST_IPL_COMPLETE, - l_err ); + // Create IStep error log and cross ref error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } else @@ -676,28 +613,13 @@ void* call_host_ipl_complete( void *io_pArgs ) { // collect and log any remaining errors - /*@ - * @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 ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } - - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_ipl_complete exit "); diff --git a/src/usr/hwpf/hwp/dmi_training/dmi_training.C b/src/usr/hwpf/hwp/dmi_training/dmi_training.C index 3d9c1ff3f..faea2dc59 100644 --- a/src/usr/hwpf/hwp/dmi_training/dmi_training.C +++ b/src/usr/hwpf/hwp/dmi_training/dmi_training.C @@ -146,23 +146,10 @@ void* call_mss_getecid( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pCentaur).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_GETECID - * @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_get_cen_ecid has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_DMI_TRAINING_FAILED, - ISTEP_MSS_GETECID, - l_err ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } else @@ -221,23 +208,10 @@ void* call_mss_getecid( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR: error deconfiguring MBA or Centaur"); - /*@ - * @errortype - * @reasoncode ISTEP_DECONFIGURE_MBA_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_GETECID - * @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 deconfigure MBA or Centaur failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_DECONFIGURE_MBA_FAILED, - ISTEP_MSS_GETECID, - l_err ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } } @@ -321,22 +295,11 @@ void* call_mss_getecid( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR: error deconfiguring Centaur L4"); - /*@ - * @errortype - * @reasoncode ISTEP_DECONFIGURE_L4_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_GETECID - * @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 deconfigure Centaur L4 failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_DECONFIGURE_L4_FAILED, - ISTEP_MSS_GETECID, - l_err); + // Create IStep error log + // and cross reference error that occurred + l_StepError.addErrorDetails( l_err); + + // Commit Error errlCommit(l_err, HWPF_COMP_ID); break; } @@ -424,24 +387,11 @@ void* call_proc_dmi_scominit( void *io_pArgs ) if( l_errl ) { - /*@ - * @errortype - * @reasoncode ISTEP_DMI_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_DMI_SCOMINIT - * @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_dmi_scominit has failed, target data - * is included in the error logs listed in the - * user data section of this error log. - * - */ - l_StepError.addErrorDetails(ISTEP_DMI_TRAINING_FAILED, - ISTEP_PROC_DMI_SCOMINIT, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } @@ -500,24 +450,10 @@ void* call_dmi_scominit( void *io_pArgs ) if( l_errl ) { - /*@ - * @errortype - * @reasoncode ISTEP_DMI_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_SCOMINIT - * @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 cen_dmi_scominit has failed, target data - * is included in the error logs listed in the - * user data section of this error log. - * - */ - l_StepError.addErrorDetails(ISTEP_DMI_TRAINING_FAILED, - ISTEP_DMI_SCOMINIT, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } @@ -610,21 +546,10 @@ void* call_dmi_erepair( void *io_pArgs ) ErrlUserDetailsTarget(l_mcs_target).addToLog(l_errPtr); ErrlUserDetailsTarget(l_mem_target).addToLog(l_errPtr); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_GET_RESTORE_LANES_FAILED - * @severity ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_IO_RESTORE_EREPAIR - * @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 io_restore_erepair has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_GET_RESTORE_LANES_FAILED, - ISTEP_DMI_IO_RESTORE_EREPAIR, - l_errPtr); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errPtr); + // Commit Error errlCommit(l_errPtr, HWPF_COMP_ID); break; @@ -659,21 +584,10 @@ void* call_dmi_erepair( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_mcs_target).addToLog(l_errPtr); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_DRIVE_RESTORE_FAILED - * @severity ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_IO_RESTORE_EREPAIR - * @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 io_restore_erepair has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_DRIVE_RESTORE_FAILED, - ISTEP_DMI_IO_RESTORE_EREPAIR, - l_errPtr); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errPtr); + // Commit Error errlCommit(l_errPtr, HWPF_COMP_ID); break; } @@ -723,21 +637,10 @@ void* call_dmi_erepair( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_mem_target).addToLog(l_errPtr); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_RECEIVE_RESTORE_FAILED - * @severity ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_IO_RESTORE_EREPAIR - * @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 io_restore_erepair has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_RECEIVE_RESTORE_FAILED, - ISTEP_DMI_IO_RESTORE_EREPAIR, - l_errPtr); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errPtr); + // Commit Error errlCommit(l_errPtr, HWPF_COMP_ID); break; } @@ -818,21 +721,11 @@ void* call_dmi_io_dccal( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X : dmi_io_dccal HWP Target MCS 0x%.8X", l_errl->reasonCode(), TARGETING::get_huid(l_itr->first)); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_IO_DCCAL_MCS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_IO_DCCAL - * @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 dmi_io_dccal on MCS has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_IO_DCCAL_MCS_FAILED, - ISTEP_DMI_IO_DCCAL, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -862,21 +755,11 @@ void* call_dmi_io_dccal( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X : dmi_io_dccal HWP Target Membuf 0x%.8X", l_errl->reasonCode(), TARGETING::get_huid(l_itr->second)); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_IO_DCCAL_MEMBUF_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_IO_DCCAL - * @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 dmi_io_dccal on MEMBUF has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_IO_DCCAL_MEMBUF_FAILED, - ISTEP_DMI_IO_DCCAL, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -945,21 +828,11 @@ void* call_dmi_pre_trainadv( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X : dmi_pre_trainadv HWP Target MCS 0x%.8X", l_errl->reasonCode(), TARGETING::get_huid(l_itr->first)); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_PRE_TRAINADV_MCS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_PRE_TRAINADV - * @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 dmi_pre_trainadv on MCS has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_PRE_TRAINADV_MCS_FAILED, - ISTEP_DMI_PRE_TRAINADV, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -976,23 +849,13 @@ void* call_dmi_pre_trainadv( void *io_pArgs ) if (l_errl) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X : dmi_pre_trainadv HWP Target Membuf 0x%.8X", - l_errl->reasonCode(), TARGETING::get_huid(l_itr->second)); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_PRE_TRAINADV_MEMBUF_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_PRE_TRAINADV - * @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 dmi_pre_trainadv on MEMBUF has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_PRE_TRAINADV_MEMBUF_FAILED, - ISTEP_DMI_PRE_TRAINADV, - l_errl); + "ERROR 0x%.8X : dmi_pre_trainadv HWP Target Membuf 0x%.8X", + l_errl->reasonCode(), TARGETING::get_huid(l_itr->second)); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -1056,20 +919,11 @@ void* call_dmi_io_run_training( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X : dmi_io_run_training HWP", l_err->reasonCode()); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_IO_RUN_TRAINING - * @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 dmi_io_run_training has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_TRAINING_FAILED, - ISTEP_DMI_IO_RUN_TRAINING, - l_err); + + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_err); + + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // Break out target list loop } @@ -1134,21 +988,11 @@ void* call_dmi_post_trainadv( void *io_pArgs ) TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X : dmi_post_trainadv HWP Target MCS 0x%.8X", l_errl->reasonCode(), TARGETING::get_huid(l_itr->first)); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_POST_TRAINADV_MCS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_POST_TRAINADV - * @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 dmi_post_trainadv on MCS has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_POST_TRAINADV_MCS_FAILED, - ISTEP_DMI_POST_TRAINADV, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -1165,23 +1009,13 @@ void* call_dmi_post_trainadv( void *io_pArgs ) if (l_errl) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X : dmi_post_trainadv HWP Target Membuf 0x%.8X", - l_errl->reasonCode(), TARGETING::get_huid(l_itr->second)); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_POST_TRAINADV_MEMBUF_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_DMI_POST_TRAINADV - * @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 dmi_post_trainadv on MEMBUF has failed - */ - l_StepError.addErrorDetails(ISTEP_DMI_POST_TRAINADV_MEMBUF_FAILED, - ISTEP_DMI_POST_TRAINADV, - l_errl); + "ERROR 0x%.8X : dmi_post_trainadv HWP Target Membuf 0x%.8X", + l_errl->reasonCode(), TARGETING::get_huid(l_itr->second)); + + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -1270,22 +1104,10 @@ void* call_proc_cen_framelock( void *io_pArgs ) "ERROR 0x%.8X : proc_cen_framelock HWP( mem %d )", l_err->reasonCode(), l_memNum ); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_CEN_FRAMELOCK - * @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_cen_framelock has failed - * - */ - l_StepError.addErrorDetails(ISTEP_DMI_TRAINING_FAILED, - ISTEP_PROC_CEN_FRAMELOCK, - l_err); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_err); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // break out of mem num loop @@ -1382,22 +1204,10 @@ void* call_cen_set_inband_addr( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pTarget).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_DMI_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_CEN_SET_INBAND_ADDR - * @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_cen_set_inband_addr has failed - * - */ - l_StepError.addErrorDetails(ISTEP_DMI_TRAINING_FAILED, - ISTEP_PROC_CEN_SET_INBAND_ADDR, - l_err); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_err); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // break out of mcs loop diff --git a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C index 09d3f6e53..c097fab30 100644 --- a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C +++ b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C @@ -155,24 +155,12 @@ 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 ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit Error + errlCommit( l_errl, HWPF_COMP_ID ); } else { @@ -218,7 +206,7 @@ void* call_mss_memdiag( void *io_pArgs ) l_errl = runStep(l_mbaList); if(NULL != l_errl) { - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "MDIA subStep failed"); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,"MDIA subStep failed"); break; } @@ -232,26 +220,14 @@ 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 ); - } + if( l_errl ) + { + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_errl ); + + // Commit Error + errlCommit( l_errl, HWPF_COMP_ID ); + } TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, @@ -358,23 +334,10 @@ void* call_mss_thermal_init( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pCentaur).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_THERMAL_INIT - * @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_thermal_init has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_DRAM_INITIALIZATION_FAILED, - ISTEP_MSS_THERMAL_INIT, - l_errl ); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); break; @@ -446,22 +409,10 @@ void* call_proc_setup_bars( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pCpuTarget).addToLog( 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 ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, @@ -565,25 +516,12 @@ void* call_proc_setup_bars( void *io_pArgs ) 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 ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_errl); + // Commit Error + errlCommit( l_errl, HWPF_COMP_ID ); } TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, @@ -633,22 +571,10 @@ void* call_proc_pcie_config( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pTarget).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_PCIE_CONFIG - * @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_pcie_config failed, see error log - * identified by the plid in user data 1. - */ - l_stepError.addErrorDetails(ISTEP_DRAM_INITIALIZATION_FAILED, - ISTEP_PROC_PCIE_CONFIG, - l_errl ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, @@ -730,8 +656,8 @@ void* call_proc_exit_cache_contained( void *io_pArgs ) 0); TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR : call_proc_exit_cache_contained - extendVMM, rc=0x%x", - rc ); + "ERROR : call_proc_exit_cache_contained - extendVMM, rc=0x%x", + rc ); } else { @@ -742,25 +668,11 @@ void* call_proc_exit_cache_contained( void *io_pArgs ) } 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); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); - } TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, @@ -888,7 +800,7 @@ void* call_host_mpipl_service( void *io_pArgs ) if (l_errMsg) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR : returned from DUMP::sendMboxMsg - dump start" ); + "ERROR : returned from DUMP::sendMboxMsg - dump start" ); errlCommit( l_errMsg, HWPF_COMP_ID ); @@ -907,7 +819,7 @@ void* call_host_mpipl_service( void *io_pArgs ) if (l_err) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR : returned from DUMP::HbDumpCopySrcToDest" ); + "ERROR : returned from DUMP::HbDumpCopySrcToDest" ); break; } @@ -953,7 +865,7 @@ void* call_host_mpipl_service( void *io_pArgs ) if (l_errUnLoad) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR : returned from VFS::module_unload (libdump.so)" ); + "ERROR : returned from VFS::module_unload (libdump.so)" ); errlCommit( l_errUnLoad, HWPF_COMP_ID ); } @@ -969,32 +881,13 @@ void* call_host_mpipl_service( void *io_pArgs ) // If got an error in the procedure or collection of the dump kill the istep if( l_err ) { + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_INITIALIZATION_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_HOST_MPIPL_SERVICE - * @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_mpipl_ex_cleanup or - * proc_mpipl_chip_cleanup has failed - * see error log identified by the plid - * in user data 1 - */ - l_StepError.addErrorDetails( - ISTEP_DRAM_INITIALIZATION_FAILED, - ISTEP_HOST_MPIPL_SERVICE, - l_err ); - + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } - - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_mpipl_service exit" ); diff --git a/src/usr/hwpf/hwp/dram_training/dram_training.C b/src/usr/hwpf/hwp/dram_training/dram_training.C index 94cac8ee6..c111cea30 100644 --- a/src/usr/hwpf/hwp/dram_training/dram_training.C +++ b/src/usr/hwpf/hwp/dram_training/dram_training.C @@ -93,7 +93,7 @@ void* call_host_disable_vddr( void *io_pArgs ) { errlHndl_t l_err = NULL; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_disable_vddr entry" ); + TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,"call_host_disable_vddr entry"); if(INITSERVICE::spBaseServicesEnabled()) { @@ -105,28 +105,14 @@ void* call_host_disable_vddr( void *io_pArgs ) if (l_err) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X: call_host_disable_vddr to sendMsg returns error", + "ERROR 0x%.8X: call_host_disable_vddr to sendMsg returns error", l_err->reasonCode()); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_VDDR_DISABLE - * @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 Failed trying to send the VDD disable message - * to the FSP. - * See error log in the user details section for - * additional information. - */ - l_StepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_VDDR_DISABLE, - l_err ); - errlCommit( l_err, HWPF_COMP_ID ); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error + errlCommit( l_err, HWPF_COMP_ID ); } else { @@ -207,21 +193,10 @@ void* call_mem_pll_initf( void *io_pArgs ) if( l_err ) { - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MEM_PLL_INITF - * @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 cen_mem_pll_initf has failed - */ - l_StepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MEM_PLL_INITF, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } @@ -285,21 +260,10 @@ void* call_mem_pll_setup( void *io_pArgs ) if( l_err ) { - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MEM_PLL_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 cen_mem_pll_setup has failed - */ - l_StepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MEM_PLL_SETUP, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } @@ -317,7 +281,7 @@ void* call_mem_startclocks( void *io_pArgs ) IStepError l_StepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mem_startclocks entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,"call_mem_startclocks entry" ); // Get all Centaur targets TARGETING::TargetHandleList l_membufTargetList; @@ -352,21 +316,10 @@ void* call_mem_startclocks( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MEM_STARTCLOCKS - * @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 cen_mem_startclocks has failed - */ - l_StepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MEM_STARTCLOCKS, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; @@ -405,35 +358,22 @@ void* call_host_enable_vddr( void *io_pArgs ) if (l_err) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X: call_host_enable_vddr to sendMsg returns error", + "ERROR 0x%.8X: call_host_enable_vddr to sendMsg returns error", l_err->reasonCode()); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_VDDR_ENABLE - * @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 Failed trying to send the VDD enable message - * to the FSP. - * See error log in the user details section for - * additional information. - */ - l_StepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_VDDR_ENABLE, - l_err ); - errlCommit( l_err, HWPF_COMP_ID ); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error + errlCommit( l_err, HWPF_COMP_ID ); } else { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : host_enable_vddr()" ); } - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_enable_vddr exit" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_host_enable_vddr exit" ); return l_StepError.getErrorHandle(); } @@ -498,23 +438,10 @@ void* call_mss_scominit( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pCentaur).addToLog(l_err); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_SCOMINIT - * @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_scominit has failed - * see error log in the user details section for - * additional details. - */ - l_stepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MSS_SCOMINIT, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; @@ -540,7 +467,8 @@ void* call_mss_ddr_phy_reset( void *io_pArgs ) IStepError l_stepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_ddr_phy_reset entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_mss_ddr_phy_reset entry" ); // Get all MBA targets TARGETING::TargetHandleList l_mbaTargetList; @@ -579,21 +507,10 @@ void* call_mss_ddr_phy_reset( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_mba_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_DDR_PHY_RESET - * @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_ddr_phy_reset has failed - */ - l_stepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MSS_DDR_PHY_RESET, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // break out of mba loop @@ -660,22 +577,10 @@ void* call_mss_draminit( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_mba_target).addToLog(l_err); - /*@ - * - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_DRAMINIT - * @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_dram_init has failed - */ - l_stepError.addErrorDetails( ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MSS_DRAMINIT, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // Break out of mba loop @@ -703,7 +608,8 @@ void* call_mss_draminit_training( void *io_pArgs ) IStepError l_stepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit_training entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_mss_draminit_training entry" ); // Get all MBA targets TARGETING::TargetHandleList l_mbaTargetList; @@ -743,22 +649,10 @@ void* call_mss_draminit_training( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_mba_target).addToLog( l_err ); - /*@ - * - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_DRAMINIT_TRAINING - * @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_dram_init_training has failed - */ - l_stepError.addErrorDetails( ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MSS_DRAMINIT_TRAINING, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // break out of mba loop @@ -814,40 +708,31 @@ void* call_mss_draminit_trainadv( void *io_pArgs ) (const_cast(l_mba_target)) ); // call the HWP with each fapi::Target - FAPI_INVOKE_HWP(l_err, mss_draminit_training_advanced, l_fapi_mba_target); + FAPI_INVOKE_HWP(l_err, mss_draminit_training_advanced, + l_fapi_mba_target); if (l_err) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X : mss_draminit_training_advanced HWP returns error", + "ERROR 0x%.8X : mss_draminit_training_advanced HWP returns error", l_err->reasonCode()); // capture the target data in the elog ErrlUserDetailsTarget(l_mba_target).addToLog( l_err ); - /*@ - * - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_DRAMINIT_TRAINADV - * @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_dram_init_training_advanced has failed - */ - l_stepError.addErrorDetails( ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MSS_DRAMINIT_TRAINADV, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : mss_draminit_training_advanced HWP( )" ); + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS : mss_draminit_training_advanced HWP( )" ); } - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit_trainadv exit" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_mss_draminit_trainadv exit" ); return l_stepError.getErrorHandle(); } @@ -861,7 +746,7 @@ void* call_mss_draminit_mc( void *io_pArgs ) IStepError l_stepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_draminit_mc entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,"call_mss_draminit_mc entry" ); // Get all centaur targets TARGETING::TargetHandleList l_mBufTargetList; @@ -899,23 +784,10 @@ void* call_mss_draminit_mc( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_membuf_target).addToLog( l_err ); - /*@ - * - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_DRAMINIT_MC - * @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_dram_init_mc has failed - * - */ - l_stepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MSS_DRAMINIT_MC, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // break out of memBuf loop @@ -994,23 +866,11 @@ void* call_mss_dimm_power_test( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_mba_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_DRAM_TRAINING_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_DIMM_POWER_TEST - * @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_dimm_power_test has failed - */ - l_stepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, - ISTEP_MSS_DIMM_POWER_TEST, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); - } else { diff --git a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C index c53595304..20db46f4f 100644 --- a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C +++ b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C @@ -119,23 +119,10 @@ void* call_fabric_erepair( void *io_pArgs ) l_PbusConnections, busSet[i] ); if ( l_errl ) { - /*@ - * @errortype - * @reasoncode ISTEP_GET_PBUS_CONNECTIONS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_RESTORE_EREPAIR - * @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 fabric_io_run_training has failed - * see error log in the user details seciton for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_GET_PBUS_CONNECTIONS_FAILED, - ISTEP_FABRIC_IO_RESTORE_EREPAIR, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } @@ -177,20 +164,10 @@ void* call_fabric_erepair( void *io_pArgs ) ErrlUserDetailsTarget(l_itr->first).addToLog( l_errl ); ErrlUserDetailsTarget(l_itr->second).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_GET_RESTORE_LANES_FAILED - * @severity ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_RESTORE_EREPAIR - * @userdata1 None - * @userdata2 None - * @devdesc call to io_restore_erepair has failed - */ - l_StepError.addErrorDetails( - ISTEP_FABRIC_GET_RESTORE_LANES_FAILED, - ISTEP_FABRIC_IO_RESTORE_EREPAIR, - l_errl); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl); + // Commit Error errlCommit(l_errl, HWPF_COMP_ID); break; @@ -223,19 +200,10 @@ void* call_fabric_erepair( void *io_pArgs ) ErrlUserDetailsTarget(l_itr->first).addToLog( l_errl ); ErrlUserDetailsTarget(l_itr->second).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_DRIVE_RESTORE_FAILED - * @severity ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_RESTORE_EREPAIR - * @userdata1 None - * @userdata2 None - * @devdesc call to io_restore_erepair has failed - */ - l_StepError.addErrorDetails(ISTEP_FABRIC_DRIVE_RESTORE_FAILED, - ISTEP_FABRIC_IO_RESTORE_EREPAIR, - l_errl); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl); + // Commit Error errlCommit(l_errl, HWPF_COMP_ID); break; } @@ -282,20 +250,10 @@ void* call_fabric_erepair( void *io_pArgs ) ErrlUserDetailsTarget(l_itr->first).addToLog( l_errl ); ErrlUserDetailsTarget(l_itr->second).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_RECEIVE_RESTORE_FAILED - * @severity ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_RESTORE_EREPAIR - * @userdata1 None - * @userdata2 None - * @devdesc call to io_restore_erepair has failed - */ - l_StepError.addErrorDetails( - ISTEP_FABRIC_RECEIVE_RESTORE_FAILED, - ISTEP_FABRIC_IO_RESTORE_EREPAIR, - l_errl); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl); + // Commit Error errlCommit(l_errl, HWPF_COMP_ID); break; } @@ -386,23 +344,10 @@ void* call_fabric_io_dccal( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_itr->first).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_IO_DCCAL_ENDPOINT1_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_DCCAL - * @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 fabric_io_dccal has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_FABRIC_IO_DCCAL_ENDPOINT1_FAILED, - ISTEP_FABRIC_IO_DCCAL, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -420,23 +365,10 @@ void* call_fabric_io_dccal( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_itr->second).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_IO_DCCAL_ENDPOINT2_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_DCCAL - * @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 fabric_io_dccal has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_FABRIC_IO_DCCAL_ENDPOINT2_FAILED, - ISTEP_FABRIC_IO_DCCAL, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -504,23 +436,10 @@ void* call_fabric_pre_trainadv( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_itr->first).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_PRE_TRAINADV_ENDPOINT1_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_PRE_TRAINADV - * @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 fabric_pre_trainadv has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_FABRIC_PRE_TRAINADV_ENDPOINT1_FAILED, - ISTEP_FABRIC_PRE_TRAINADV, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -530,7 +449,7 @@ void* call_fabric_pre_trainadv( void *io_pArgs ) FAPI_INVOKE_HWP( l_errl, io_pre_trainadv, l_fapi_endp2_target ); TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "%s : %cbus connection fabric_pre_trainadv. Target 0x%.8X", + "%s : %cbus connection fabric_pre_trainadv. Target 0x%.8X", (l_errl ? "ERROR" : "SUCCESS"), (ii ? 'X' : 'A'), TARGETING::get_huid(l_itr->second) ); if ( l_errl ) @@ -538,23 +457,10 @@ void* call_fabric_pre_trainadv( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_itr->second).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_PRE_TRAINADV_ENDPOINT2_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_PRE_TRAINADV - * @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 fabric_pre_trainadv has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_FABRIC_PRE_TRAINADV_ENDPOINT2_FAILED, - ISTEP_FABRIC_PRE_TRAINADV, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -596,23 +502,10 @@ void* call_fabric_io_run_training( void *io_pArgs ) if ( l_errl ) { - /*@ - * @errortype - * @reasoncode ISTEP_GET_PBUS_CONNECTIONS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_RUN_TRAINING - * @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 fabric_io_run_training has failed - * see error log in the user details seciton for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_GET_PBUS_CONNECTIONS_FAILED, - ISTEP_FABRIC_IO_RUN_TRAINING, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } @@ -642,23 +535,10 @@ void* call_fabric_io_run_training( void *io_pArgs ) ErrlUserDetailsTarget(l_itr->first).addToLog( l_errl ); ErrlUserDetailsTarget(l_itr->second).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_EDI_EI_INITIALIZATION_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_IO_RUN_TRAINING - * @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 fabric_io_run_training has failed - * see error log in the user details seciton for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_EDI_EI_INITIALIZATION_FAILED, - ISTEP_FABRIC_IO_RUN_TRAINING, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } } @@ -723,23 +603,10 @@ void* call_fabric_post_trainadv( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_itr->first).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_POST_TRAINADV_ENDPOINT1_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_POST_TRAINADV - * @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 fabric_post_trainadv has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_FABRIC_POST_TRAINADV_ENDPOINT1_FAILED, - ISTEP_FABRIC_POST_TRAINADV, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -749,7 +616,7 @@ void* call_fabric_post_trainadv( void *io_pArgs ) FAPI_INVOKE_HWP( l_errl, io_post_trainadv, l_fapi_endp2_target ); TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "%s : %cbus connection fabric_post_trainadv. Target 0x%.8X", + "%s : %cbus connection fabric_post_trainadv. Target 0x%.8X", (l_errl ? "ERROR" : "SUCCESS"), (ii ? 'X' : 'A'), TARGETING::get_huid(l_itr->second) ); if ( l_errl ) @@ -757,23 +624,10 @@ void* call_fabric_post_trainadv( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_itr->second).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_FABRIC_POST_TRAINADV_ENDPOINT2_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_FABRIC_POST_TRAINADV - * @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 fabric_post_trainadv has failed - * see error log in the user details section for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_FABRIC_POST_TRAINADV_ENDPOINT2_FAILED, - ISTEP_FABRIC_POST_TRAINADV, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); // We want to continue the training despite the error, so // no break @@ -905,23 +759,10 @@ void* call_proc_fab_iovalid( void *io_pArgs ) if ( l_errl ) { - /*@ - * @errortype - * @reasoncode ISTEP_GET_PBUS_CONNECTIONS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_FAB_IOVALID - * @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 fabric_io_run_training has failed - * see error log in the user details seciton for - * additional details. - */ - l_StepError.addErrorDetails(ISTEP_GET_PBUS_CONNECTIONS_FAILED, - ISTEP_PROC_FAB_IOVALID, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } @@ -1008,23 +849,12 @@ void* call_proc_fab_iovalid( void *io_pArgs ) { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : call_proc_fab_iovalid encountered an error"); - /*@ - * @errortype - * @reasoncode ISTEP_EDI_EI_INITIALIZATION_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_FAB_IOVALID - * @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_fab_iovalid has failed - */ - l_StepError.addErrorDetails(ISTEP_EDI_EI_INITIALIZATION_FAILED, - ISTEP_PROC_FAB_IOVALID, - l_errl ); - errlCommit( l_errl, HWPF_COMP_ID ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error + errlCommit( l_errl, HWPF_COMP_ID ); } TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, diff --git a/src/usr/hwpf/hwp/hwpisteperror.C b/src/usr/hwpf/hwp/hwpisteperror.C index e825bdb19..fd6fa648c 100644 --- a/src/usr/hwpf/hwp/hwpisteperror.C +++ b/src/usr/hwpf/hwp/hwpisteperror.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012 */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ /* */ /* p1 */ /* */ @@ -22,50 +22,74 @@ /* IBM_PROLOG_END_TAG */ #include #include +#include using namespace ISTEP; using namespace ISTEP_ERROR; // setup the internal elog pointer and capture error data for the first or // add error data to top level elog -void IStepError::addErrorDetails(istepReasonCode reasoncode, - istepModuleId modid, - const errlHndl_t i_err ) +void IStepError::addErrorDetails( const errlHndl_t i_err ) { mutex_lock( &iv_mutex ); - // if internal elog is null, create a new one ad grab some data from the + iv_errorCount++; + + // if internal elog is null, create a new one and grab some data from the // first error that is passed in. if( iv_eHandle == NULL ) { - // add the PLID and reason code of the first error to user data word 0 - uint64_t data0 = i_err->plid(); - data0 <<= 32; - data0 |= i_err->reasonCode(); + uint8_t l_iStep = 0; + uint8_t l_subStep = 0; + + // Set the eid and reason code of the first error to user data word 1 + uint64_t data1=TWO_UINT32_TO_UINT64(i_err->eid(),i_err->reasonCode()); + + // Set the error count and iStep/subStep to user data word 2 + INITSERVICE::IStepDispatcher:: + getTheInstance().getIstepInfo(l_iStep,l_subStep); + uint64_t data2 = TWO_UINT32_TO_UINT64(iv_errorCount, //first error + TWO_UINT8_TO_UINT16(l_iStep,l_subStep)); + + /*@ + * @errortype + * @reasoncode ISTEP_FAILURE + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_REPORTING_ERROR + * @userdata1[0:31] eid of first error + * @userdata1[32:63] Reason code of first error + * @userdata2[0:31] Total number of elogs included + * @userdata2[32:64] iStep and SubStep that failed + * @devdesc IStep failed, see other log(s) with the same PLID + * for reason. + * + */ iv_eHandle = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE, - modid, reasoncode, data0, 0); + ISTEP_REPORTING_ERROR, + ISTEP_FAILURE, + data1, data2); + } + else // just increment error count + { + // retrieve iStep and subStep + uint32_t l_iStepSubStep = (iv_eHandle->getUserData2() & 0xFFFFFFFF); + // update the error count and keep iStep/subStep in user data word 1 + uint64_t l_data2 = TWO_UINT32_TO_UINT64 (iv_errorCount,l_iStepSubStep); + iv_eHandle->addUserData2(l_data2); } - // set the plid of the inpout elog to match the summary elog + // set the plid of the input elog to match the istep elog i_err->plid( iv_eHandle->plid() ); - // grab the isteps trace and add to the original elog + // grab the istep's trace and add to the input elog i_err->collectTrace("ISTEPS_TRACE", 1024); - // add some details from the elog to the IStep error object + // add some details from the input elog to the istep error object ISTEP_ERROR::HwpUserDetailsIstep errorDetails( i_err ); + // cross reference input error log to istep error object errorDetails.addToLog( iv_eHandle ); - iv_errorCount++; - - // put iv_errorCount into bytes 0 and 1 of user data 2 - uint64_t data = ((uint64_t)iv_errorCount << 32); - - iv_eHandle->addUserData2(data); - mutex_unlock( &iv_mutex ); } - - diff --git a/src/usr/hwpf/hwp/makefile b/src/usr/hwpf/hwp/makefile index 8b5504ffa..efeb9ab73 100644 --- a/src/usr/hwpf/hwp/makefile +++ b/src/usr/hwpf/hwp/makefile @@ -27,6 +27,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/ecmddatabuffer EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/hwp EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/fapi EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/plat +EXTRAINCDIR += ${ROOTPATH}/src/usr/initservice/istepdispatcher # CompressedScanData struct needed for getRepairRings() EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include diff --git a/src/usr/hwpf/hwp/mc_config/mc_config.C b/src/usr/hwpf/hwp/mc_config/mc_config.C index bd02760f7..ca2d9eac4 100644 --- a/src/usr/hwpf/hwp/mc_config/mc_config.C +++ b/src/usr/hwpf/hwp/mc_config/mc_config.C @@ -90,8 +90,10 @@ void* call_host_collect_dimm_spd( void *io_pArgs ) { errlHndl_t l_err = NULL; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_collect_dimm_spd entry" ); - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_collect_dimm_spd exit" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_host_collect_dimm_spd entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_host_collect_dimm_spd exit" ); return l_err; } @@ -173,22 +175,10 @@ void* call_mss_volt( void *io_pArgs ) TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "ERROR 0x%.8X: mss_volt HWP( ) ", l_err->reasonCode()); - /*@ - * @errortype - * @reasoncode ISTEP_MC_CONFIG_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_VOLT - * @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_volt has failed - * - */ - l_StepError.addErrorDetails(ISTEP_MC_CONFIG_FAILED, - ISTEP_MSS_VOLT, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; @@ -249,22 +239,10 @@ void* call_mss_freq( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_membuf_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_MC_CONFIG_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_FREQ - * @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_freq has failed - * - */ - l_StepError.addErrorDetails(ISTEP_MC_CONFIG_FAILED, - ISTEP_MSS_FREQ, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // break out memBuf loop @@ -485,22 +463,10 @@ void* call_mss_eff_config( void *io_pArgs ) if (l_err) { - /*@ - * @errortype - * @reasoncode ISTEP_MC_CONFIG_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_MSS_EFF_CONFIG - * @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_eff_grouping has failed - * - */ - l_StepError.addErrorDetails(ISTEP_MC_CONFIG_FAILED, - ISTEP_MSS_EFF_CONFIG, - l_err ); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); } @@ -516,7 +482,7 @@ void* call_mss_attr_update( void *io_pArgs ) IStepError l_StepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_attr_update entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_attr_update entry"); TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_attr_update exit" ); return l_StepError.getErrorHandle(); diff --git a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C index 81d19258b..94115766f 100644 --- a/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C +++ b/src/usr/hwpf/hwp/nest_chiplets/nest_chiplets.C @@ -180,21 +180,10 @@ void* call_proc_a_x_pci_dmi_pll_initf( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_proc_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_NEST_CHIPLETS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_A_X_PCI_DMI_PLL_INITF - * @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_a_x_pci_dmi_pll_initf has failed - */ - l_StepError.addErrorDetails(ISTEP_NEST_CHIPLETS_FAILED, - ISTEP_PROC_A_X_PCI_DMI_PLL_INITF, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; @@ -290,21 +279,10 @@ void* call_proc_a_x_pci_dmi_pll_setup( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_proc_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_NEST_CHIPLETS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_A_X_PCI_DMI_PLL_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 proc_a_x_pci_dmi_pll_setup has failed - */ - l_StepError.addErrorDetails(ISTEP_NEST_CHIPLETS_FAILED, - ISTEP_PROC_A_X_PCI_DMI_PLL_SETUP, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; @@ -446,21 +424,10 @@ void* call_proc_startclock_chiplets( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_proc_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_CUSTOMIZE_CHIP_REGIONS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_STARTCLOCK_CHIPLETS - * @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 customizeChipRegions failed, check module VPD. - */ - l_StepError.addErrorDetails(ISTEP_CUSTOMIZE_CHIP_REGIONS_FAILED, - ISTEP_PROC_STARTCLOCK_CHIPLETS, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; @@ -486,21 +453,10 @@ void* call_proc_startclock_chiplets( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_proc_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_NEST_CHIPLETS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_STARTCLOCK_CHIPLETS - * @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_start_clocks_chiplets has failed - */ - l_StepError.addErrorDetails(ISTEP_NEST_CHIPLETS_FAILED, - ISTEP_PROC_STARTCLOCK_CHIPLETS, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit( l_err, HWPF_COMP_ID ); break; // break out of cpuNum @@ -527,7 +483,8 @@ void* call_proc_chiplet_scominit( void *io_pArgs ) errlHndl_t l_err = NULL; IStepError l_StepError; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_chiplet_scominit entry" ); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_proc_chiplet_scominit entry" ); TARGETING::TargetHandleList l_cpuTargetList; getAllChips(l_cpuTargetList, TYPE_PROC); @@ -561,20 +518,8 @@ void* call_proc_chiplet_scominit( void *io_pArgs ) ErrlUserDetailsTarget(l_cpu_target).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_PROC_CHIPLET_SCOMINIT_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_CHIPLET_SCOMINIT - * @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_chiplet_scominit has failed - */ - l_StepError.addErrorDetails(ISTEP_PROC_CHIPLET_SCOMINIT_FAILED, - ISTEP_PROC_CHIPLET_SCOMINIT, - l_err ); + // Create IStep error log and cross ref to error that occurred + l_StepError.addErrorDetails( l_err ); // We want to continue to the next target instead of exiting, // Commit the error log and move on // Note: Error log should already be deleted and set to NULL @@ -617,16 +562,8 @@ void* call_proc_xbus_scominit( void *io_pArgs ) "ERROR 0x%.8X : getPbusConnections XBUS returns error", l_err->reasonCode()); - // TODO - RTC 57977 - // Need to discuss with Jamie on how to handle this: - // - An istep may fail in multiple locations. The failure - // may not be always from invoking the HW procedures. - // It may come from support functions in this case. - // - How do we set the error tags and use reason code for different - // fail scenarios? - l_StepError.addErrorDetails(ISTEP_PROC_CHIPLET_SCOMINIT_FAILED, - ISTEP_PROC_CHIPLET_SCOMINIT, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); // Commit the error log // Log should be deleted and set to NULL in errlCommit. errlCommit(l_err, HWPF_COMP_ID); @@ -672,20 +609,8 @@ void* call_proc_xbus_scominit( void *io_pArgs ) ErrlUserDetailsTarget(l_thisXbusTarget).addToLog( l_err ); ErrlUserDetailsTarget(l_connectedXbusTarget).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_PROC_XBUS_SCOMINIT_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_XBUS_SCOMINIT - * @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_xbus_scominit has failed - */ - l_StepError.addErrorDetails(ISTEP_PROC_XBUS_SCOMINIT_FAILED, - ISTEP_PROC_XBUS_SCOMINIT, - l_err ); + // Create IStep error log and cross ref to error that occurred + l_StepError.addErrorDetails( l_err ); // We want to continue to the next target instead of exiting, // Commit the error log and move on // Note: Error log should already be deleted and set to NULL @@ -734,16 +659,8 @@ void* call_proc_abus_scominit( void *io_pArgs ) "ERROR 0x%.8X : getPbusConnections ABUS returns error", l_err->reasonCode()); - // TODO - RTC 57977 - // Need to discuss with Jamie on how to handle this: - // - An istep may fail in multiple locations. The failure - // may not be always from invoking the HW procedures. - // It may come from support functions in this case. - // - How do we set the error tags and use reason code for different - // fail scenarios? - l_StepError.addErrorDetails(ISTEP_PROC_CHIPLET_SCOMINIT_FAILED, - ISTEP_PROC_CHIPLET_SCOMINIT, - l_err); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); // Commit the error log // Log should be deleted and set to NULL in errlCommit. @@ -798,20 +715,8 @@ void* call_proc_abus_scominit( void *io_pArgs ) ErrlUserDetailsTarget(l_thisAbusTarget).addToLog( l_err ); ErrlUserDetailsTarget(l_connectedAbusTarget).addToLog( l_err ); - /*@ - * @errortype - * @reasoncode ISTEP_PROC_ABUS_SCOMINIT_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_ABUS_SCOMINIT - * @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_abus_scominit has failed - */ - l_StepError.addErrorDetails(ISTEP_PROC_ABUS_SCOMINIT_FAILED, - ISTEP_PROC_ABUS_SCOMINIT, - l_err ); + // Create IStep error log and cross ref to error that occurred + l_StepError.addErrorDetails( l_err ); // We want to continue to the next target instead of exiting, // Commit the error log and move on // Note: Error log should already be deleted and set to NULL @@ -865,21 +770,10 @@ void* call_proc_pcie_scominit( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_proc_target).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_NEST_CHIPLETS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_PCIE_SCOMINIT - * @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_pcie_scominit has failed - */ - l_StepError.addErrorDetails(ISTEP_NEST_CHIPLETS_FAILED, - ISTEP_PROC_PCIE_SCOMINIT, - l_errl); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); break; @@ -918,21 +812,11 @@ void* call_proc_scomoverride_chiplets( void *io_pArgs ) "ERROR 0x%.8X : proc_scomoverride_chiplets " "HWP returns error", l_errl->reasonCode()); - /*@ - * @errortype - * @reasoncode ISTEP_NEST_CHIPLETS_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_SCOMOVERRIDE_CHIPLETS - * @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_scomoverride_chiplets has failed - */ - l_StepError.addErrorDetails(ISTEP_NEST_CHIPLETS_FAILED, - ISTEP_PROC_SCOMOVERRIDE_CHIPLETS, - l_errl); + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_errl ); + + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); } else diff --git a/src/usr/hwpf/hwp/sbe_centaur_init/sbe_centaur_init.C b/src/usr/hwpf/hwp/sbe_centaur_init/sbe_centaur_init.C index 7f8a0e8eb..1217c53dd 100644 --- a/src/usr/hwpf/hwp/sbe_centaur_init/sbe_centaur_init.C +++ b/src/usr/hwpf/hwp/sbe_centaur_init/sbe_centaur_init.C @@ -110,7 +110,8 @@ void* call_sbe_centaur_init( void *io_pArgs ) uint8_t cur_ec = (*l_membuf_iter)->getAttr(); - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, INFO_MRK"call_sbe_centaur_init() - Find SBE image in PNOR"); + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, INFO_MRK, + "call_sbe_centaur_init() - Find SBE image in PNOR"); l_errl = SBE::findSBEInPnor(l_membuf_target, l_sbePnorAddr, @@ -118,7 +119,8 @@ void* call_sbe_centaur_init( void *io_pArgs ) NULL); if (l_errl) { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, ERR_MRK"call_sbe_centaur_init() - Error getting image from PNOR. ec=0x%.2X", + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, ERR_MRK, + "call_sbe_centaur_init() - Error getting image from PNOR. ec=0x%.2X", cur_ec ); TRACFBIN(ISTEPS_TRACE::g_trac_isteps_trace, @@ -127,23 +129,10 @@ void* call_sbe_centaur_init( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_membuf_target).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_SBE_PNOR_CENTAUR_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_SBE_CENTAUR_INIT - * @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 find the centaur sbe image in pnor - * in the sbe_centaur_init function to initialize - * the centuars has failed - */ - l_StepError.addErrorDetails(ISTEP_SBE_PNOR_CENTAUR_FAILED, - ISTEP_SBE_CENTAUR_INIT, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); break; } @@ -299,22 +288,10 @@ void* call_sbe_centaur_init( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_membuf_target).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_SBE_CENTAUR_INIT_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_SBE_CENTAUR_INIT - * @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_swl_build to build the sleep - * winkle image has failed - */ - l_StepError.addErrorDetails(ISTEP_SBE_CENTAUR_INIT_FAILED, - ISTEP_SBE_CENTAUR_INIT, - l_errl); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit( l_errl, HWPF_COMP_ID ); break; // break out of memBuf loop @@ -328,7 +305,6 @@ void* call_sbe_centaur_init( void *io_pArgs ) } // end for - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_sbe_centaur_init exit" ); diff --git a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C index 4a14b0897..da7e66db7 100644 --- a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C +++ b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C @@ -62,7 +62,6 @@ #include "proc_spless_sbe_startWA.H" #include - using namespace ISTEP; using namespace ISTEP_ERROR; using namespace ERRORLOG; @@ -104,21 +103,8 @@ void* call_proc_revert_sbe_mcs_setup(void *io_pArgs) // capture the target data in the elog ErrlUserDetailsTarget(l_pProcTarget).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_SLAVE_SBE_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_REVERT_SBE_MCS_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 proc_revert_sbe_mcs_setup returned an error - * - */ - l_stepError.addErrorDetails(ISTEP_SLAVE_SBE_FAILED, - ISTEP_PROC_REVERT_SBE_MCS_SETUP, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_errl ); errlCommit( l_errl, HWPF_COMP_ID ); } @@ -232,24 +218,10 @@ void* call_host_sbe_start( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pProcTarget).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_SLAVE_SBE_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_SBE_START - * @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 HWP to start SBE - * returned an error - * - */ - l_stepError.addErrorDetails( - ISTEP_SLAVE_SBE_FAILED, - ISTEP_PROC_SBE_START, - l_errl ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit error log errlCommit( l_errl, HWPF_COMP_ID ); } else @@ -351,24 +323,10 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pProcTarget).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_SLAVE_SBE_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_CHECK_SLAVE_SBE_SEEPROM_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 proc_check_slave_sbe_seeprom_complete - * returned an error - * - */ - l_stepError.addErrorDetails( - ISTEP_SLAVE_SBE_FAILED, - ISTEP_PROC_CHECK_SLAVE_SBE_SEEPROM_COMPLETE, - l_errl ); + // Create IStep error log and cross reference to error that occurred + l_stepError.addErrorDetails( l_errl ); + // Commit error log errlCommit( l_errl, HWPF_COMP_ID ); } else @@ -416,23 +374,11 @@ void* call_proc_check_slave_sbe_seeprom_complete( void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget(l_pProcTarget).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_PROC_GETECID_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_GETECID - * @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_get_ecid failed. - * - */ - l_stepError.addErrorDetails( ISTEP_PROC_GETECID_FAILED, - ISTEP_PROC_GETECID, - l_errl ); - - errlCommit( l_errl, HWPF_COMP_ID ); + // Create IStep error log and cross reference error that occurred + l_stepError.addErrorDetails( l_errl ); + + // Commit error log + errlCommit( l_errl, HWPF_COMP_ID ); } else { @@ -525,22 +471,11 @@ void* call_proc_cen_ref_clk_enable(void *io_pArgs ) // capture the target data in the elog ErrlUserDetailsTarget( *l_proc_iter ).addToLog( l_errl ); - /*@ - * @errortype - * @reasoncode ISTEP_SLAVE_SBE_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_PROC_CEN_REF_CLK_ENABLE - * @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_cen_ref_clk_enable returned an error - * - */ - l_stepError.addErrorDetails( ISTEP_SLAVE_SBE_FAILED, - ISTEP_PROC_CEN_REF_CLK_ENABLE, - l_errl ); + // Create IStep error log and cross ref error that occurred + l_stepError.addErrorDetails( l_errl ); + + // Commit error log errlCommit( l_errl, HWPF_COMP_ID ); } else diff --git a/src/usr/hwpf/hwp/start_payload/start_payload.C b/src/usr/hwpf/hwp/start_payload/start_payload.C index 9394dfaf1..c56e59a9e 100644 --- a/src/usr/hwpf/hwp/start_payload/start_payload.C +++ b/src/usr/hwpf/hwp/start_payload/start_payload.C @@ -341,20 +341,10 @@ void* call_host_runtime_setup( void *io_pArgs ) TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "istep start_payload_failed see plid 0x%x", l_err->plid()); - /*@ - * @errortype - * @reasoncode ISTEP_START_PAYLOAD_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_HOST_RUNTIME_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 host_runtime_setup failed - */ - l_StepError.addErrorDetails(ISTEP_START_PAYLOAD_FAILED, - ISTEP_HOST_RUNTIME_SETUP, l_err ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_err ); + // Commit Error errlCommit(l_err, ISTEP_COMP_ID); } @@ -419,20 +409,10 @@ void* call_host_start_payload( void *io_pArgs ) TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "istep start_payload_failed see plid 0x%x", l_errl->plid()); - /*@ - * @errortype - * @reasoncode ISTEP_START_PAYLOAD_FAILED - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid ISTEP_HOST_START_PAYLOAD - * @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 host_start_payload failed - */ - l_StepError.addErrorDetails(ISTEP_START_PAYLOAD_FAILED, - ISTEP_HOST_START_PAYLOAD, l_errl ); + // Create IStep error log and cross reference error that occurred + l_StepError.addErrorDetails( l_errl ); + // Commit Error errlCommit(l_errl, ISTEP_COMP_ID); } diff --git a/src/usr/hwpf/test/hwpisteperrortest.H b/src/usr/hwpf/test/hwpisteperrortest.H index 0af67a776..f6fbd1faf 100644 --- a/src/usr/hwpf/test/hwpisteperrortest.H +++ b/src/usr/hwpf/test/hwpisteperrortest.H @@ -26,6 +26,7 @@ #include #include #include +#include using namespace ISTEP; using namespace ISTEP_ERROR; @@ -38,204 +39,248 @@ public: */ void testIstepError1(void) { + uint8_t l_iStep = 0; + uint8_t l_subStep =0; + const uint16_t MY_REASON_CODE = 0xC0DE; + const uint8_t MY_MODULE_ID = 0xBB; - const uint16_t MY_REASON_CODE = 0xC0DE; - const uint8_t MY_MODULE_ID = 0xBB; - // Create an error log - errlHndl_t l_errl = new ERRORLOG::ErrlEntry( - ERRORLOG::ERRL_SEV_INFORMATIONAL, - MY_MODULE_ID, - MY_REASON_CODE, - TWO_UINT32_TO_UINT64( 0xDE, 0xAD), - TO_UINT64(0xBEEF) ); - do { + TS_TRACE("testIStepError1: entry"); - IStepError l_stepError; + // Get the expected iStep and subStep. Likely the last valid values + // since the test case is running after the iSteps. + INITSERVICE::IStepDispatcher:: + getTheInstance().getIstepInfo(l_iStep,l_subStep); - l_stepError.addErrorDetails( ISTEP_INVALID_REASONCODE, - ISTEP_INVALID_MODULE, l_errl ); + // Create an error log + errlHndl_t l_errl = new ERRORLOG::ErrlEntry( + ERRORLOG::ERRL_SEV_INFORMATIONAL, + MY_MODULE_ID, + MY_REASON_CODE, + TWO_UINT32_TO_UINT64( 0xDE, 0xAD), + TO_UINT64(0xBEEF) ); + do { - TS_TRACE("testIStepError1: original elog eid is %d", + IStepError l_stepError; + + l_stepError.addErrorDetails( l_errl ); + + TS_TRACE("testIStepError1: original elog eid is %d", l_errl->eid() ); - TS_TRACE("testIStepError1: original elog reasoncode is %d", + TS_TRACE("testIStepError1: original elog reasoncode is %d", l_errl->reasonCode() ); - // grab the values from the original errorlog for use later - uint64_t test_data0 = l_errl->eid(); - test_data0 <<= 32; + // grab the values from the original errorlog for use later + uint64_t test_data0 = l_errl->eid(); + test_data0 <<= 32; - test_data0 |= l_errl->reasonCode(); + test_data0 |= l_errl->reasonCode(); - // this call to get resets the error handle - errlHndl_t new_errl = l_stepError.getErrorHandle(); + // this call to get resets the error handle + errlHndl_t new_errl = l_stepError.getErrorHandle(); - uint64_t l_data0 = new_errl->getUserData1(); + uint64_t l_data0 = new_errl->getUserData1(); - uint32_t eid = ( l_data0 & 0xFFFFFFFF00000000) >> 32; - uint32_t reason = (uint32_t)(l_data0 & 0x00000000FFFFFFFF); + uint32_t eid = ( l_data0 & 0xFFFFFFFF00000000) >> 32; + uint32_t reason = (uint32_t)(l_data0 & 0x00000000FFFFFFFF); - if( eid != l_errl->eid() ) - { - TS_FAIL("testIstepError1: expected" + // Verify the reference to the added error log. + // Added log id is in bytes 0-3 of userdata 1. + // Reason code is in bytes 4-6 of userdata 1. + if( eid != l_errl->eid() ) + { + TS_FAIL("testIstepError1: expected" "eid[0x%.8x] == l_errl->eid()[0x%.8x] " "eid rebuilt from user data of " "IStepError did not match original error eid", eid, l_errl->eid()); - } - else - { - TS_TRACE("testIstepError1: passed: eid == l_errl->eid()"); - } - - if( reason != l_errl->reasonCode() ) - { - TS_FAIL("testIstepError1: " - "expected reasonCode == l_errl->reasonCode() \ - reasonCode rebuilt from user data of \ - IStepError did not match original reasoncode"); - - } - else - { - TS_TRACE("testIstepError1: passed: " - "reason == l_errl->reasonCode()"); - } - - - // verify that we counted the error we added - // count is in bytes 0-3 of userdata 2 - // - uint64_t l_data1 = new_errl->getUserData2(); - - l_data1 >>= 32; - - if( l_data1 != 1 ) - { - TS_FAIL("error count in IStepError not correct should be 1"); - } - else - { - TS_TRACE("passed: error count = 1"); - } - - - errlCommit( l_errl, CXXTEST_COMP_ID ); - errlCommit( new_errl, CXXTEST_COMP_ID ); - - }while(0); + } + else + { + TS_TRACE("testIstepError1: passed: eid == l_errl->eid()"); + } + + if( reason != l_errl->reasonCode() ) + { + TS_FAIL("testIstepError1: " + "expected reasonCode == l_errl->reasonCode() \ + reasonCode rebuilt from user data of \ + IStepError did not match original reasoncode"); + + } + else + { + TS_TRACE("testIstepError1: passed: " + "reason == l_errl->reasonCode()"); + } + + // Verify that we counted the error we added. + // Count is in bytes 0-3 of userdata 2. + // iStep and subStep in bytes 4-6 of userdata 2. + uint64_t l_data1 = new_errl->getUserData2(); + + uint32_t l_count = ( l_data1&0xFFFFFFFF00000000 ) >> 32; + uint32_t l_errlStepSubStep = + (uint32_t)(l_data1&0x00000000FFFFFFFF); + uint32_t l_expectedStepSubStep = + (uint32_t)(l_subStep | (l_iStep<<8)); + + if( l_count != 1 ) + { + TS_FAIL("error count in IStepError not correct," + " should be 1, is %d",l_count); + } + else + { + TS_TRACE("passed: error count = 1"); + } + + if( l_errlStepSubStep != l_expectedStepSubStep ) + { + TS_FAIL("Step/SubStep in IStepError not correct," + " should be 0x%08x, is 0x%08x ", + l_expectedStepSubStep, + l_errlStepSubStep); + } + else + { + TS_TRACE("passed: step/subStep correct"); + } + + errlCommit( l_errl, CXXTEST_COMP_ID ); + errlCommit( new_errl, CXXTEST_COMP_ID ); + + }while(0); } + void testIstepError2(void) { + uint8_t l_iStep = 0; + uint8_t l_subStep =0; + const uint16_t MY_REASON_CODE = 0xC0DE; + const uint8_t MY_MODULE_ID = 0xBB; - const uint16_t MY_REASON_CODE = 0xC0DE; - const uint8_t MY_MODULE_ID = 0xBB; - // Create an error log - errlHndl_t l_errl = new ERRORLOG::ErrlEntry( - ERRORLOG::ERRL_SEV_INFORMATIONAL, - MY_MODULE_ID, - MY_REASON_CODE, - TWO_UINT32_TO_UINT64( 0xDE, 0xAD), - TO_UINT64(0xBEEF) ); - do { - - IStepError l_stepError; - - l_stepError.addErrorDetails( ISTEP_INVALID_REASONCODE, - ISTEP_INVALID_MODULE, l_errl ); - - TS_TRACE("testIStepError2: original elog eid is %d", - l_errl->eid() ); - - TS_TRACE("testIStepError2: original elog reasoncode is %d", - l_errl->reasonCode() ); - - // grab the values from the original errorlog for use later - uint64_t test_data0 = l_errl->eid(); - test_data0 <<= 32; + TS_TRACE("testIStepError2: entry"); - test_data0 |= l_errl->reasonCode(); + // Get the expected iStep and subStep. Likely the last valid values + // since the test case is running after the iSteps. + INITSERVICE::IStepDispatcher:: + getTheInstance().getIstepInfo(l_iStep,l_subStep); - // add a new elog in three more times.. - // Create an error log -- junk data - errlHndl_t l_errl2 = new ERRORLOG::ErrlEntry( - ERRORLOG::ERRL_SEV_INFORMATIONAL, - 0x05, - 0xcafe, - TWO_UINT32_TO_UINT64( 0xDE, 0xAD), - TO_UINT64(0xBEEF) ); - - l_stepError.addErrorDetails( ISTEP_INVALID_REASONCODE, - ISTEP_INVALID_MODULE, l_errl2); + // Create an error log + errlHndl_t l_errl = new ERRORLOG::ErrlEntry( + ERRORLOG::ERRL_SEV_INFORMATIONAL, + MY_MODULE_ID, + MY_REASON_CODE, + TWO_UINT32_TO_UINT64( 0xDE, 0xAD), + TO_UINT64(0xBEEF) ); + do { - l_stepError.addErrorDetails( ISTEP_INVALID_REASONCODE, - ISTEP_INVALID_MODULE, l_errl2); + IStepError l_stepError; - l_stepError.addErrorDetails( ISTEP_INVALID_REASONCODE, - ISTEP_INVALID_MODULE, l_errl2); + l_stepError.addErrorDetails( l_errl ); - // count should be 4 and the data0 and data 1 values of the - // istep error should be the same as before + TS_TRACE("testIStepError2: original elog eid is %d", + l_errl->eid() ); + TS_TRACE("testIStepError2: original elog reasoncode is %d", + l_errl->reasonCode() ); - // this call to get resets the error handle - errlHndl_t new_errl = l_stepError.getErrorHandle(); + // grab the values from the original errorlog for use later + uint64_t test_data0 = l_errl->eid(); + test_data0 <<= 32; - uint64_t l_data0 = new_errl->getUserData1(); + test_data0 |= l_errl->reasonCode(); - uint32_t eid = ( l_data0 & 0xFFFFFFFF00000000) >> 32; - uint32_t reason = (uint32_t)(l_data0 & 0x00000000FFFFFFFF); - - if( eid != l_errl->eid() ) - { - TS_FAIL("testIStepError2: expected " - "eid[0x%.8x] == l_errl->eid()[0x%.8x] " - "eid rebuilt from user data of " - "IStepError did not match original error eid", - eid, l_errl->eid()); - } - else - { - TS_TRACE("testIStepError2: passed: eid == l_errl->eid()"); - } - - if( reason != l_errl->reasonCode() ) - { - TS_FAIL("testIStepError2: " - "expected reasonCode == l_errl->reasonCode()" - "reasonCode rebuilt from user data of" - "IStepError did not match original reasoncode"); - - } - else - { - TS_TRACE("testIStepError2: passed: " - "reason == l_errl->reasonCode()"); - } - - // verify that we counted the error we added - // count is in bytes 0-3 of userdata 2 - // - uint64_t l_data1 = new_errl->getUserData2(); - - l_data1 >>= 32; - - if( l_data1 != 4 ) - { - TS_FAIL("error count in IStepError not correct" - "should be 4"); - TS_TRACE("error count is %d", l_data1 ); - } - else - { - TS_TRACE("passed: error count is correct [%d]", l_data1 ); - } - - errlCommit( l_errl, CXXTEST_COMP_ID ); - errlCommit( new_errl, CXXTEST_COMP_ID ); - errlCommit( l_errl2, CXXTEST_COMP_ID ); - - }while(0); + // add a new elog in three more times.. + // Create an error log -- junk data + errlHndl_t l_errl2 = new ERRORLOG::ErrlEntry( + ERRORLOG::ERRL_SEV_INFORMATIONAL, + 0x05, + 0xcafe, + TWO_UINT32_TO_UINT64( 0xDE, 0xAD), + TO_UINT64(0xBEEF) ); + + l_stepError.addErrorDetails( l_errl2 ); + l_stepError.addErrorDetails( l_errl2 ); + l_stepError.addErrorDetails( l_errl2 ); + + // count should be 4 and the data0 and data 1 values of the + // istep error should be the same as before + + // this call to get resets the error handle + errlHndl_t new_errl = l_stepError.getErrorHandle(); + + uint64_t l_data0 = new_errl->getUserData1(); + + uint32_t eid = ( l_data0 & 0xFFFFFFFF00000000) >> 32; + uint32_t reason = (uint32_t)(l_data0 & 0x00000000FFFFFFFF); + + if( eid != l_errl->eid() ) + { + TS_FAIL("testIStepError2: expected " + "eid[0x%.8x] == l_errl->eid()[0x%.8x] " + "eid rebuilt from user data of " + "IStepError did not match original error eid", + eid, l_errl->eid()); + } + else + { + TS_TRACE("testIStepError2: passed: eid == l_errl->eid()"); + } + + if( reason != l_errl->reasonCode() ) + { + TS_FAIL("testIStepError2: " + "expected reasonCode == l_errl->reasonCode()" + "reasonCode rebuilt from user data of" + "IStepError did not match original reasoncode"); + + } + else + { + TS_TRACE("testIStepError2: passed: " + "reason == l_errl->reasonCode()"); + } + + // Verify that 4 logs have been added. + // Count is in bytes 0-3 of userdata 2. + // iStep and subStep in bytes 4-6 of userdata 2. + uint64_t l_data1 = new_errl->getUserData2(); + + uint32_t l_count = ( l_data1&0xFFFFFFFF00000000 ) >> 32; + uint32_t l_errlStepSubStep = + (uint32_t)(l_data1&0x00000000FFFFFFFF); + uint32_t l_expectedStepSubStep = + (uint32_t)(l_subStep | (l_iStep<<8)); + + if( l_count != 4 ) + { + TS_FAIL("error count in IStepError not correct," + " should be 4, is %d",l_count); + } + else + { + TS_TRACE("passed: error count = 4"); + } + + if( l_errlStepSubStep != l_expectedStepSubStep ) + { + TS_FAIL("Step/SubStep in IStepError not correct," + " should be 0x%08x, is 0x%08x ", + l_expectedStepSubStep, + l_errlStepSubStep); + } + else + { + TS_TRACE("passed: step/subStep correct"); + } + + errlCommit( l_errl, CXXTEST_COMP_ID ); + errlCommit( new_errl, CXXTEST_COMP_ID ); + errlCommit( l_errl2, CXXTEST_COMP_ID ); + + }while(0); } }; diff --git a/src/usr/hwpf/test/makefile b/src/usr/hwpf/test/makefile index 613addcc0..374d50af9 100644 --- a/src/usr/hwpf/test/makefile +++ b/src/usr/hwpf/test/makefile @@ -5,7 +5,7 @@ # # IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2011,2012 +# COPYRIGHT International Business Machines Corp. 2011,2013 # # p1 # @@ -27,6 +27,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/fapi EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/plat EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/hwp EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/mvpd_accessors +EXTRAINCDIR += ${ROOTPATH}/src/usr/initservice/istepdispatcher # CompressedScanData struct needed for getRepairRings() EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C index 005b3911e..57ce650b8 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C @@ -1273,4 +1273,16 @@ void iStepBreakPoint(uint32_t i_info) IStepDispatcher::getTheInstance().iStepBreakPoint( i_info ); } +// ---------------------------------------------------------------------------- +// IStepDispatcher::getIstepInfo() +// ---------------------------------------------------------------------------- +void IStepDispatcher::getIstepInfo ( uint8_t & o_iStep, + uint8_t & o_subStep ) +{ + mutex_lock( &iv_mutex ); + o_iStep = iv_curIStep; + o_subStep = iv_curSubStep; + mutex_unlock( &iv_mutex ); +} + } // namespace diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.H b/src/usr/initservice/istepdispatcher/istepdispatcher.H index 077a8d869..b83e4300c 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.H +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.H @@ -152,6 +152,17 @@ public: */ void runProgressThread(); + /** + * @brief This function will return the current istep and substep. + * + * @param[out] o_iStep - The current Istep value. + * + * @param[out] o_subStep - The current SubStep value. + * + */ + void getIstepInfo ( uint8_t & o_iStep, + uint8_t & o_subStep ); + protected: /** -- cgit v1.2.1