MAILBOX_EXTERN long mailbox_channel_register(
                unsigned long channel_id,
                unsigned long int_src,
                unsigned long dst_id,
                unsigned long direct,
                void   **mutex)
{
    struct mb_local_cfg    *local_cfg  =  &g_mb_local_cfg_tbl[0];
    while (MAILBOX_MAILCODE_INVALID != local_cfg->channel_id) {
        if (channel_id == local_cfg->channel_id) {
           *mutex = mailbox_mutex_create(local_cfg);
            if (MAILBOX_NULL == *mutex) {
                return mailbox_logerro_p1(MAILBOX_CRIT_PORT_CONFIG, channel_id);
            }
            
            /*通道资源配置已找到,注册IPC中断*/
            local_cfg->int_src = int_src;
            local_cfg->dst_id  = dst_id;

            if(MIALBOX_DIRECTION_RECEIVE == direct) {
                BSP_IPC_IntConnect((IPC_INT_LEV_E)int_src , (VOIDFUNCPTR)mailbox_ipc_int_handle, int_src);
                BSP_IPC_IntEnable ((IPC_INT_LEV_E)int_src);

                /*板侧ST用例通道注册*/
                test_mailbox_msg_reg(channel_id);
            }
            break;
        }

        local_cfg++;
    }

    /*如果适配层找不到对应的配置,报错*/
    if (MAILBOX_MAILCODE_INVALID == local_cfg->channel_id) {
        return mailbox_logerro_p1(MAILBOX_ERR_LINUX_CHANNEL_NOT_FIND, channel_id);
    }

    return MAILBOX_OK;
}
MAILBOX_EXTERN int mailbox_channel_register(
                unsigned int channel_id,
                unsigned int int_src,
                unsigned int dst_id,
                unsigned int direct,
                void   **mutex)
{
    struct mb_vx_cfg    *cfg  =  &g_mailbox_vx_cfg_tbl[0];

    while (MAILBOX_MAILCODE_INVALID != cfg->channel_id) {
        if (channel_id == cfg->channel_id) {
            *mutex = mailbox_mutex_create();

            /*通道资源配置已找到,注册IPC中断*/
            cfg->Int_src = int_src;
            cfg->dst_cpu  = dst_id;
            if(MIALBOX_DIRECTION_RECEIVE == direct) {
                (void)BSP_IPC_IntConnect((IPC_INT_LEV_E)int_src , (VOIDFUNCPTR)mailbox_ipc_int_handle, int_src);
                (void)BSP_IPC_IntEnable ((IPC_INT_LEV_E)int_src);

                /*板侧ST用例通道注册*/
                tm_mailbox_msg_reg(channel_id);

                /*TODO: 如果开发单核下电重启特性,这里需要主动触发一次通道读回调:  */
                /*mailbox_ipc_int_handle(int_src);*/
            }

            return MAILBOX_OK;
        }
        cfg++;
    }

    /*如果适配层找不到对应的配置,报错*/
    return mailbox_logerro_p1(MAILBOX_ERR_VXWORKS_CHANNEL_NOT_FIND, channel_id);

}