/******************************************************************************
 Prototype      : CpuView_CloseTaskWatch
 Description    : 关闭任务跟踪
 Input          :
 Output         :
 Return Value   :
 Calls          :
 Called By      :

 History        : ---
  1.Date        : 2007-1-24
    Author      : g45205
    Modification: Created function
******************************************************************************/
VOS_VOID CpuView_CloseTaskWatch(VOS_VOID)
{
    VOS_INT32     lLockValue;

    if (CPU_VIEW_NO == g_ulTaskWatch)
    {
        return;
    }

    lLockValue       = VOS_SplIMP();

    g_ulTaskWatch   = CPU_VIEW_NO;

    /* 关闭中断切换跟踪 */
    mdrv_int_unregister_enterhook();
    mdrv_int_unregister_exithook();

    /* 关闭任务切换跟踪 */
    if ( VOS_OK != CPU_VIEW_DEL_TASK_SWITCH_HOOK( (FUNCPTR)CpuView_TaskSwitchHook ) )
    {
        VOS_Splx(lLockValue);
        CPU_VIEW_LOG_PRINT("CpuView_CloseTaskWatch CPU_VIEW_DEL_TASK_SWITCH_HOOK fail!\r\n");
        return;
    }

    VOS_Splx(lLockValue);

    return;
} /* CpuView_CloseTaskWatch */
VOS_VOID CpuView_CloseTaskWatch(VOS_VOID)
{
    VOS_INT32     lLockValue;

    if (CPU_VIEW_NO == g_ulTaskWatch)
    {
        return;
    }

    lLockValue       = VOS_SplIMP();

    g_ulTaskWatch   = CPU_VIEW_NO;

    /* 关闭中断切换跟踪 */
    DRV_VICINT_LVLCHG_HOOK_DEL();
    DRV_VICINT_EXIT_HOOK_DEL();

    /* 关闭任务切换跟踪 */
    if ( VOS_OK != CPU_VIEW_DEL_TASK_SWITCH_HOOK( (FUNCPTR)CpuView_TaskSwitchHook ) )
    {
        VOS_Splx(lLockValue);
        CPU_VIEW_LOG_PRINT("CpuView_CloseTaskWatch CPU_VIEW_DEL_TASK_SWITCH_HOOK fail!\r\n");
        return;
    }

    VOS_Splx(lLockValue);

    return;
} /* CpuView_CloseTaskWatch */