feat: 新增LOSCFG_BASE_CORE_TSK_SWITCH_HOOK 宏定义配置
优化原任务切换对外函数钩子调用为通过宏定义实现 Close #I40Q9O Change-Id: Ie5ab75d04e2a63cb992be968d25e876fd91ee591 Signed-off-by: zhushengle <zhushengle@huawei.com>
This commit is contained in:
parent
453f91d09c
commit
39efd6fb30
|
@ -233,6 +233,14 @@ extern "C" {
|
||||||
#define LOSCFG_BASE_CORE_EXC_TSK_SWITCH 0
|
#define LOSCFG_BASE_CORE_EXC_TSK_SWITCH 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @ingroup los_config
|
||||||
|
* Configuration item for task context switch hook
|
||||||
|
*/
|
||||||
|
#ifndef LOSCFG_BASE_CORE_TSK_SWITCH_HOOK
|
||||||
|
#define LOSCFG_BASE_CORE_TSK_SWITCH_HOOK()
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup los_config
|
* @ingroup los_config
|
||||||
* Define a usable task priority.Highest task priority.
|
* Define a usable task priority.Highest task priority.
|
||||||
|
|
|
@ -371,20 +371,6 @@ extern "C" {
|
||||||
|
|
||||||
#define LOS_ERRNO_TSK_TIMEOUT LOS_ERRNO_OS_ERROR(LOS_MOD_TSK, 0x23)
|
#define LOS_ERRNO_TSK_TIMEOUT LOS_ERRNO_OS_ERROR(LOS_MOD_TSK, 0x23)
|
||||||
|
|
||||||
/**
|
|
||||||
* @ingroup los_task
|
|
||||||
* Define the type of the task switching hook function.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
typedef VOID (*TSKSWITCHHOOK)(VOID);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @ingroup los_task
|
|
||||||
* User task switching hook function.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
extern TSKSWITCHHOOK g_pfnUsrTskSwitchHook;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup los_task
|
* @ingroup los_task
|
||||||
* Define the type of the task entry function.
|
* Define the type of the task entry function.
|
||||||
|
|
|
@ -103,10 +103,6 @@ LITE_OS_SEC_BSS BOOL g_taskScheduled = FALSE;
|
||||||
|
|
||||||
STATIC VOID (*PmEnter)(BOOL isIdle) = NULL;
|
STATIC VOID (*PmEnter)(BOOL isIdle) = NULL;
|
||||||
|
|
||||||
#if (LOSCFG_BASE_CORE_TSK_MONITOR == 1)
|
|
||||||
TSKSWITCHHOOK g_pfnUsrTskSwitchHook = NULL;
|
|
||||||
#endif /* LOSCFG_BASE_CORE_TSK_MONITOR == 1 */
|
|
||||||
|
|
||||||
#if (LOSCFG_BASE_CORE_EXC_TSK_SWITCH == 1)
|
#if (LOSCFG_BASE_CORE_EXC_TSK_SWITCH == 1)
|
||||||
TaskSwitchInfo g_taskSwitchInfo;
|
TaskSwitchInfo g_taskSwitchInfo;
|
||||||
#endif
|
#endif
|
||||||
|
@ -577,9 +573,7 @@ LITE_OS_SEC_TEXT VOID OsTaskSwitchCheck(VOID)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (g_pfnUsrTskSwitchHook != NULL) {
|
LOSCFG_BASE_CORE_TSK_SWITCH_HOOK();
|
||||||
g_pfnUsrTskSwitchHook();
|
|
||||||
}
|
|
||||||
|
|
||||||
#if (LOSCFG_KERNEL_TRACE == 1)
|
#if (LOSCFG_KERNEL_TRACE == 1)
|
||||||
LOS_Trace(LOS_TRACE_SWITCH, 0);
|
LOS_Trace(LOS_TRACE_SWITCH, 0);
|
||||||
|
@ -598,7 +592,6 @@ LITE_OS_SEC_TEXT_MINOR VOID OsTaskMonInit(VOID)
|
||||||
(VOID)memset_s(&g_taskSwitchInfo, sizeof(TaskSwitchInfo), 0, sizeof(TaskSwitchInfo));
|
(VOID)memset_s(&g_taskSwitchInfo, sizeof(TaskSwitchInfo), 0, sizeof(TaskSwitchInfo));
|
||||||
g_taskSwitchInfo.cntInfo.maxCnt = OS_TASK_SWITCH_INFO_COUNT;
|
g_taskSwitchInfo.cntInfo.maxCnt = OS_TASK_SWITCH_INFO_COUNT;
|
||||||
#endif
|
#endif
|
||||||
g_pfnUsrTskSwitchHook = NULL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue