void SimFspSyncSvc::processRequestMsg(msg_t * i_msg) { #define FUNC "[SimFspSyncSvc::processRequestMsg]" PRDF_ENTER(FUNC); PRDF_ASSERT(NULL != i_msg); errlHndl_t pError = NULL; switch(i_msg->type) { case MFG_TRACE_SYNC_TO_FSP: pError = processMfgTrace(i_msg); if(NULL != pError) { PRDF_ERR(FUNC " processMfgTrace returned error"); PRDF_COMMIT_ERRL(pError, ERRL_ACTION_REPORT); } break; default: PRDF_ERR(FUNC " Invalid Message Type received from HB :" "[0x%08X]", i_msg->type); } PRDF_EXIT(FUNC); #undef FUNC }
int32_t mssIplUeIsolation( TargetHandle_t i_mba, const CenRank & i_rank, CenDqBitmap & o_bitmap ) { #define PRDF_FUNC "[PlatServices::mssIplUeIsolation] " int32_t o_rc = SUCCESS; uint8_t data[PORT_SLCT_PER_MBA][DIMM_DQ_RANK_BITMAP_SIZE]; errlHndl_t errl = NULL; PRD_FAPI_TO_ERRL( errl, mss_IPL_UE_isolation, getFapiTarget(i_mba), i_rank.getMaster(), data ); if ( NULL != errl ) { PRDF_ERR( PRDF_FUNC"mss_IPL_UE_isolation() failed: MBA=0x%08x " "rank=%d", getHuid(i_mba), i_rank.getMaster() ); PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT ); o_rc = FAIL; } else { o_bitmap = CenDqBitmap ( i_mba, i_rank, data ); } return o_rc; #undef PRDF_FUNC }
/* void commit_errl() * Commit error log and delete. */ void ErrlSmartPtr::commit_errl() { if (iv_errl) { this->add_src(); PRDF_COMMIT_ERRL(iv_errl, ERRL_ACTION_REPORT); } }
void prdfAssert( const char * i_exp, const char * i_file, int i_line ) { PRDF_ERR( "prdfAssert(%s) in %s line %d", i_exp, i_file, i_line ); errlHndl_t errl = NULL; /*@ * @errortype * @subsys EPUB_FIRMWARE_SP * @reasoncode PRDF_CODE_FAIL * @moduleid PRDF_ASSERT * @userdata1 0 * @userdata2 Line number of the assert * @userdata3 0 * @userdata4 PRD Return code * @devdesc PRD assert * @custDesc An internal firmware fault. * @procedure EPUB_PRC_SP_CODE */ PRDF_CREATE_ERRL(errl, ERRL_SEV_PREDICTIVE, // error on diagnostic ERRL_ETYPE_NOT_APPLICABLE, SRCI_ERR_INFO, SRCI_NO_ATTR, PRDF_ASSERT, // module id FSP_DEFAULT_REFCODE, // refcode PRDF_CODE_FAIL, // Reason code 0, // user data word 1 i_line, // user data word 2 0, // user data word 3 PRD_ASSERT); // user data word 4 PRDF_ADD_PROCEDURE_CALLOUT(errl, SRCI_PRIORITY_MED, EPUB_PRC_SP_CODE); PRDF_SET_RC(errl, PRD_ASSERT); PRDF_COLLECT_TRACE(errl, 256); PRDF_SET_TERM_STATE( errl ); PRDF_COMMIT_ERRL(errl, ERRL_ACTION_SA); #ifdef __HOSTBOOT_MODULE assert(0); #else const size_t sz_msg = 160; char msg[sz_msg]; errlslen_t msize = snprintf( msg, sz_msg, "prdfAssert(%s) in %s line %d", i_exp, i_file, i_line ); percAbend(PRDF_COMP_ID, msg, msize+1, 0, 0); abort(); #endif }
int32_t mdiaSendEventMsg( TargetHandle_t i_mbaTarget, MDIA::MaintCommandEventType i_eventType ) { #define PRDF_FUNC "[PlatServices::mdiaSendCmdComplete] " int32_t o_rc = SUCCESS; do { if ( !isInMdiaMode() ) break; // no-op // Verify type. TYPE l_type = getTargetType(i_mbaTarget); if ( TYPE_MBA != l_type ) { PRDF_ERR( PRDF_FUNC"unsupported target type %d", l_type ); o_rc = FAIL; break; } // Send command complete to MDIA. MDIA::MaintCommandEvent l_mdiaEvent; l_mdiaEvent.target = i_mbaTarget; l_mdiaEvent.type = i_eventType; errlHndl_t errl = MDIA::processEvent( l_mdiaEvent ); if ( NULL != errl ) { PRDF_ERR( PRDF_FUNC"MDIA::processEvent() failed" ); PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT ); o_rc = FAIL; break; } } while (0); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC"Failed: i_target=0x%08x i_eventType=%d", getHuid(i_mbaTarget), i_eventType ); } return o_rc; #undef PRDF_FUNC }
int32_t mssRestoreDramRepairs( TargetHandle_t i_mbaTarget, uint8_t & o_repairedRankMask, uint8_t & o_badDimmMask ) { int32_t o_rc = SUCCESS; errlHndl_t errl = NULL; PRD_FAPI_TO_ERRL( errl, mss_restore_DRAM_repairs, fapi::Target(fapi::TARGET_TYPE_MBA_CHIPLET, i_mbaTarget), o_repairedRankMask, o_badDimmMask ); if ( NULL != errl ) { PRDF_ERR( "[PlatServices::mssRestoreDramRepairs] " "mss_restore_dram_repairs() failed. HUID: 0x%08x", getHuid(i_mbaTarget) ); PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT ); o_rc = FAIL; } return o_rc; }