VOS_VOID PCSC_AcpuMsgProc( MsgBlock *pMsg) { SI_PIH_PCSC_CNF_STRU *pstPCSCMsg; pstPCSCMsg = (SI_PIH_PCSC_CNF_STRU*)pMsg; OM_RecordInfoStart(VOS_EXC_DUMP_MEM_NUM_1, pMsg->ulSenderPid, ACPU_PID_PCSC, *((VOS_UINT32*)pMsg->aucValue));/* [false alarm]:*/ switch(pstPCSCMsg->ulMsgName) { case SI_PIH_PCSC_DATA_CNF: #if (RAT_MODE == RAT_GU) DRV_PCSC_SEND_DATA(pstPCSCMsg->ulCmdType, pstPCSCMsg->ulResult, pstPCSCMsg->aucContent, pstPCSCMsg->ulRspLen); #endif break; case PS_USIM_GET_STATUS_IND: PCSC_UpdateCardStatus((PS_USIM_STATUS_IND_STRU*)pMsg); break; default: PS_LOG(ACPU_PID_PCSC, 0, PS_PRINT_WARNING, "PCSC_AcpuMsgProc: unknow MsgType"); break; } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; }
VOS_VOID Aging_MsgProc(MsgBlock* pMsg) { VOS_UINT32 ulName; if (VOS_NULL_PTR == pMsg) { PS_LOG(WUEPS_PID_AGING, 0, PS_PRINT_ERROR, "OM_MsgProc:pMsg is empty."); return; } OM_RecordInfoStart(VOS_EXC_DUMP_MEM_NUM_2, pMsg->ulSenderPid, WUEPS_PID_AGING, *((VOS_UINT32*)pMsg->aucValue)); if (VOS_PID_TIMER == pMsg->ulSenderPid) { ulName = ((REL_TIMER_MSG*)pMsg)->ulName; if (OM_AGING_START_TIMER == ulName) { ; } if ((OM_AGING_START_TIMER == ulName) || (OM_AGING_TEST_TIMER == ulName)) { Aging_TestProc(); /*启动老化测试定时器*/ if (VOS_OK != OM_START_AGING_TEST_TIMER(&g_hAgingTestTimer, g_pstOmAgingTestNV->ulTimerLen)) { Aging_FreeMem(); PS_LOG(WUEPS_PID_AGING, 0, PS_PRINT_ERROR, "OM_TimerMsgProc:Start timer fail!"); OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_2); return; } } } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_2); return; }
/***************************************************************************** Prototype : OM_CAgentMsgProc Description : 处理来自CCPU AGENT的消息. Input : pMsg -- The pointer of the msg. Output : None Return Value : VOS_VOID History : --- Date : 2011-07-01 Author : g47350 Modification : Created function *****************************************************************************/ VOS_VOID OM_AcpuAgentMsgProc(MsgBlock* pMsg) { VOS_UINT16 usPrimId; /* 从消息前两个字节中取出原语ID */ usPrimId = *(VOS_UINT16*)(pMsg->aucValue); OM_RecordInfoStart(VOS_EXC_DUMP_MEM_NUM_1, pMsg->ulSenderPid, ACPU_PID_OMAGENT, *((VOS_UINT32*)pMsg->aucValue)); /* 判断是否为CCCPU AGENT发来的回复消息 */ if (IS_CAGENT_CNF_MSG(usPrimId)) { /* 判断消息是否被释放 */ if (VOS_NULL_PTR == g_pstOmAcpuCnfMsg) { /* 标记该消息不用释放 */ VOS_ReserveMsg(ACPU_PID_OMAGENT, pMsg); g_pstOmAcpuCnfMsg = pMsg; /* 释放信号量,使得调用API任务继续运行 */ VOS_SmV(g_ulOmAcpuCnfSem); } /* CCPU 已经OK,可以进行SD卡配置信息 */ if(OM_AUTOCONFIG_CNF == usPrimId) { OM_AutoConfigProc(); } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } /* 否则为CCPU发来不需要回复的请求消息 */ if (OM_OLED_CLEAR_REQ == usPrimId) { OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if (OM_OLED_DISPLAY_REQ == usPrimId) { OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } /* Modified by h59254 for AP-Modem Personalisation Project, 2012/04/12, begin */ if (OM_HSIC_CONNECT_REQ == usPrimId) { PPM_HsicConnectProc(); OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } /* Modified by h59254 for AP-Modem Personalisation Project, 2012/04/12, end */ if(OM_RECORD_DBU_INFO_REQ == usPrimId) { OM_AcpuLogShowToFile(VOS_FALSE); } if (OM_CONNECT_INFO_CNF == usPrimId) { OMRL_AcpuConnectInfoReportEvent((OM_CONNECT_INFO_CNF_STRU *)pMsg); } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; }
VOS_VOID OM_AcpuAgentMsgProc(MsgBlock* pMsg) { VOS_UINT16 usPrimId; VOS_UINT32 ulRet = VOS_OK; OM_AUTOCONFIG_CNF_STRU *pstSendCnf; /* 从消息前两个字节中取出原语ID */ usPrimId = *(VOS_UINT16*)(pMsg->aucValue); OM_RecordInfoStart(VOS_EXC_DUMP_MEM_NUM_1, pMsg->ulSenderPid, ACPU_PID_OMAGENT, *((VOS_UINT32*)pMsg->aucValue)); /* 判断是否为CCCPU AGENT发来的回复消息 */ if (IS_CAGENT_CNF_MSG(usPrimId)) { /* 判断消息是否被释放 */ if (VOS_NULL_PTR == g_pstOmAcpuCnfMsg) { /* 标记该消息不用释放 */ VOS_ReserveMsg(ACPU_PID_OMAGENT, pMsg); g_pstOmAcpuCnfMsg = pMsg; /* 释放信号量,使得调用API任务继续运行 */ VOS_SmV(g_ulOmAcpuCnfSem); } /* CCPU 已经OK,可以进行SD卡配置信息 */ if(OM_AUTOCONFIG_CNF == usPrimId) { OM_AutoConfigProc(); } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } /* 否则为CCPU发来不需要回复的请求消息 */ if (OM_OLED_CLEAR_REQ == usPrimId) { OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if (OM_OLED_DISPLAY_REQ == usPrimId) { OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if (OM_HSIC_CONNECT_REQ == usPrimId) { Om_HsicConnectProc(); OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if(OM_RECORD_DBU_INFO_REQ == usPrimId) { pstSendCnf = (OM_AUTOCONFIG_CNF_STRU *)pMsg; OM_AcpuLogShowToFile(VOS_FALSE); /* 将写文件的结果发送给PC侧 */ OM_AcpuSendResult(pstSendCnf->aucData[0], ulRet, OM_APP_WRITE_NV_LOG_FILE_CNF); } if(OM_SET_FTM_MODE_REQ == usPrimId) { g_ulAcpuFTMFlag = VOS_TRUE; } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; }
VOS_VOID OM_AcpuAgentMsgProc(MsgBlock* pMsg) { VOS_UINT16 usPrimId; OM_CBT_MSG_STRU *pstCbtMsg; /* 从消息前两个字节中取出原语ID */ usPrimId = *(VOS_UINT16*)(pMsg->aucValue); OM_RecordInfoStart(VOS_EXC_DUMP_MEM_NUM_1, pMsg->ulSenderPid, ACPU_PID_OMAGENT, *((VOS_UINT32*)pMsg->aucValue)); /* 判断是否为CCCPU AGENT发来的回复消息 */ if (IS_CAGENT_CNF_MSG(usPrimId)) { /* 判断消息是否被释放 */ if (VOS_NULL_PTR == g_pstOmAcpuCnfMsg) { /* 标记该消息不用释放 */ VOS_ReserveMsg(ACPU_PID_OMAGENT, pMsg); g_pstOmAcpuCnfMsg = pMsg; /* 释放信号量,使得调用API任务继续运行 */ VOS_SmV(g_ulOmAcpuCnfSem); } /* CCPU 已经OK,可以进行SD卡配置信息 */ if(OM_AUTOCONFIG_CNF == usPrimId) { OM_AutoConfigProc(); } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } /* 否则为CCPU发来不需要回复的请求消息 */ if (OM_OLED_CLEAR_REQ == usPrimId) { OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if (OM_OLED_DISPLAY_REQ == usPrimId) { OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if (OM_HSIC_CONNECT_REQ == usPrimId) { PPM_HsicConnectProc(); OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if (OM_CBT_SEND_DATA_REQ == usPrimId) { pstCbtMsg = (OM_CBT_MSG_STRU *)pMsg; /* C核发过来的校准数据 */ OM_AcpuSendDataChannel((OM_LOGIC_CHANNEL_ENUM_UINT32)OM_LOGIC_CHANNEL_CBT, (OM_RSP_PACKET_STRU *)(pstCbtMsg->aucData), pstCbtMsg->usLen); OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; } if(OM_RECORD_DBU_INFO_REQ == usPrimId) { OM_AcpuLogShowToFile(VOS_FALSE); } if (OM_VERSION_DEBUG_INFO_CNF == usPrimId) { vos_printf("\r\nVersion Qry Rcv times = %d",((OM_VERSION_QRY_DEBUG_INFO_CNF_STRU *)pMsg)->stVerDebugInfo.ulVerQryRcvCnt); vos_printf("\r\nAlloc Mem Fail times = %d",((OM_VERSION_QRY_DEBUG_INFO_CNF_STRU *)pMsg)->stVerDebugInfo.ulAllocMemFail); vos_printf("\r\nDrv Err times = %d",((OM_VERSION_QRY_DEBUG_INFO_CNF_STRU *)pMsg)->stVerDebugInfo.ulDrvErr); vos_printf("\r\nLen Err times = %d",((OM_VERSION_QRY_DEBUG_INFO_CNF_STRU *)pMsg)->stVerDebugInfo.ulLenErr); vos_printf("\r\nSucc times = %d",((OM_VERSION_QRY_DEBUG_INFO_CNF_STRU *)pMsg)->stVerDebugInfo.ulSucc); } OM_RecordInfoEnd(VOS_EXC_DUMP_MEM_NUM_1); return; }