VOS_UINT32 diag_BspAxiMonConfigEntry(VOS_UINT8* pstReq , VOS_UINT32 ulCmdId) { VOS_UINT32 ret ; VOS_UINT32 cnf_data_len = 0; VOS_UINT8 *pdata =NULL; AXI_MON_CONFIG_CNF_STRU * axi_mon_config_cnf = NULL; pdata = (VOS_UINT8*)(DIAG_OFFSET_HEAD_GET_DATA(pstReq)); axi_mon_config_cnf = DRV_AXI_MON_CONFIG(pdata, (VOS_UINT*)&cnf_data_len); vos_printf("diag_BspAxiMonConfigEntry cnf_data_len = 0x%x\n", cnf_data_len); if(VOS_NULL != axi_mon_config_cnf) { ret = diag_AgentCnfFun((VOS_UINT8*)axi_mon_config_cnf,ulCmdId,cnf_data_len); free(axi_mon_config_cnf); } else { vos_printf("diag_BspAxiMonConfigEntry ERROR\n"); ret = ERR_MSP_FAILURE; } return ret; }
/***************************************************************************** Function Name : diag_BspAxiMonConfig Description : 该函数为处理AXI Monitor监控配置命令接口 Input : pstReq 待处理数据 ulCmdId 命令ID Output : None Return : VOS_UINT32 History : *****************************************************************************/ VOS_UINT32 diag_BspAxiMonConfig(VOS_UINT8* pstReq) { VOS_UINT32 ulRet = ERR_MSP_SUCCESS; #if (VOS_LINUX == VOS_OS_VER) VOS_UINT32 ulLen; DIAG_BSP_MSG_A_TRANS_C_STRU *pstInfo; MSP_DIAG_CNF_INFO_STRU stDiagInfo = {0}; DIAG_BSP_COMM_CNF_STRU stAxiCnf; DIAG_FRAME_INFO_STRU *pData; pData = (DIAG_FRAME_INFO_STRU *)pstReq; DIAG_MSG_BSP_ACORE_CFG_PROC(ulLen, pData, pstInfo, ulRet); return ulRet; DIAG_ERROR: stAxiCnf.ulRet = ulRet; DIAG_MSG_COMMON_PROC(stDiagInfo,stAxiCnf,pData); ulRet = DIAG_MsgReport(&stDiagInfo,&stAxiCnf, sizeof(DIAG_BSP_COMM_CNF_STRU)); return ulRet; #else #if 0 VOS_UINT32 cnf_data_len = 0; VOS_UINT8 *pdata =NULL; AXI_MON_CONFIG_CNF_STRU * axi_mon_config_cnf = NULL; MSP_DIAG_CNF_INFO_STRU stDiagInfo; DIAG_BSP_COMM_AXI_CNF_STRU* stAxiCnf; pdata = (VOS_UINT8*)(pData->aucData)+sizeof(MSP_DIAG_DATA_REQ_STRU); axi_mon_config_cnf = DRV_AXI_MON_CONFIG(pdata, (VOS_UINT*)&cnf_data_len); if(VOS_NULL != axi_mon_config_cnf) { cnf_data_len += sizeof(DIAG_BSP_COMM_AXI_CNF_STRU); stAxiCnf = (DIAG_BSP_COMM_AXI_CNF_STRU*)VOS_MemAlloc(MSP_PID_DIAG_AGENT, DYNAMIC_MEM_PT,cnf_data_len); if(VOS_NULL == stAxiCnf) { return ERR_MSP_MALLOC_FAILUE; } DIAG_MSG_COMMON_PROC(stDiagInfo,(*stAxiCnf),pData); (VOS_VOID)VOS_MemCpy(stAxiCnf.ucData,axi_mon_config_cnf,cnf_data_len - sizeof(DIAG_BSP_COMM_AXI_CNF_STRU)); ulRet = DIAG_MsgReport(&stDiagInfo,stAxiCnf, cnf_data_len); VOS_MemFree(MSP_PID_DIAG_AGENT, stAxiCnf); } else { ulRet = ERR_MSP_FAILURE; } #endif return ulRet; #endif }