diff options
-rw-r--r-- | src/usr/fsi/fsidd.C | 16 | ||||
-rw-r--r-- | src/usr/hwpf/plat/fapiPlatHwpInvoker.C | 5 |
2 files changed, 10 insertions, 11 deletions
diff --git a/src/usr/fsi/fsidd.C b/src/usr/fsi/fsidd.C index 8d47c5e7b..facf9d019 100644 --- a/src/usr/fsi/fsidd.C +++ b/src/usr/fsi/fsidd.C @@ -706,11 +706,9 @@ errlHndl_t FsiDD::read(const FsiAddrInfo_t& i_addrInfo, break; } - //@todo - need to check for FSI errors (Story 4128) + //@todo - need to check for FSI errors (Story 35287) // atomic section << - need_unlock = false; - mutex_unlock(l_mutex); TRACDCOMP(g_trac_fsir, "FSI READ : %.6X = %.8X", i_addrInfo.absAddr, *o_buffer ); } while(0); @@ -781,11 +779,9 @@ errlHndl_t FsiDD::write(const FsiAddrInfo_t& i_addrInfo, break; } - //@todo - need to check for FSI errors (Story 4128) + //@todo - need to check for FSI errors (Story 35287) // atomic section << - need_unlock = false; - mutex_unlock(l_mutex); } while(0); @@ -830,7 +826,7 @@ errlHndl_t FsiDD::handleOpbErrors(const FsiAddrInfo_t& i_addrInfo, TWO_UINT32_TO_UINT64(i_opbStatReg,0)); // Collect some FFDC but avoid an infinite loop - if( iv_ffdcTask != 0 ) + if( iv_ffdcTask == 0 ) { iv_ffdcTask = task_gettid(); @@ -886,7 +882,7 @@ errlHndl_t FsiDD::handleOpbErrors(const FsiAddrInfo_t& i_addrInfo, l_err->collectTrace("FSIR"); //@todo - figure out best data to log - //@todo - implement recovery and callout code (Task 3832) + //@todo - implement recovery and callout code (Story 35287) } @@ -1161,7 +1157,7 @@ errlHndl_t FsiDD::genFullFsiAddr(FsiAddrInfo_t& io_addrInfo) uint64_t FsiDD::genOpbScomAddr(const FsiAddrInfo_t& i_addrInfo, uint64_t i_opbOffset) { - //@todo: handle redundant FSI ports, always using zero for now (Story 3853) + //@todo: handle redundant FSI ports, always using zero for now (Story 35041) // this might be needed to handle multi-chip config in simics because // proc2 is connected to port B uint64_t opbaddr = FSI2OPB_OFFSET_0 | i_opbOffset; @@ -1458,7 +1454,7 @@ errlHndl_t FsiDD::initMasterControl(const TARGETING::Target* i_master, if( l_err ) { - TRACFCOMP( g_trac_fsi, "FsiDD::initMasterControl> Error during initialization of Target %.8X : RC=%llX", TARGETING::get_huid(iv_master), l_err->reasonCode() ); + TRACFCOMP( g_trac_fsi, "FsiDD::initMasterControl> Error during initialization of Target %.8X : RC=%llX", TARGETING::get_huid(i_master), l_err->reasonCode() ); uint64_t slave_index = getSlaveEnableIndex(i_master,i_type); iv_slaves[slave_index] = 0; } diff --git a/src/usr/hwpf/plat/fapiPlatHwpInvoker.C b/src/usr/hwpf/plat/fapiPlatHwpInvoker.C index 2680a9035..fed7d3157 100644 --- a/src/usr/hwpf/plat/fapiPlatHwpInvoker.C +++ b/src/usr/hwpf/plat/fapiPlatHwpInvoker.C @@ -141,11 +141,14 @@ errlHndl_t fapiRcToErrl(ReturnCode & io_rc) * @errortype * @moduleid MOD_HWP_RC_TO_ERRL * @reasoncode RC_HWP_GENERATED_ERROR + * @userdata1 RC value from HWP + * @userdata2 <unused> * @devdesc HW Procedure generated error. See User Data. */ l_pError = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE, MOD_HWP_RC_TO_ERRL, - RC_HWP_GENERATED_ERROR); + RC_HWP_GENERATED_ERROR, + TO_UINT64(l_rcValue)); // Add the rcValue as FFDC. This will explain what the error was l_pError->addFFDC(HWPF_COMP_ID, &l_rcValue, sizeof(l_rcValue), 1, |