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
|
||||
#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
|
||||
* 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)
|
||||
|
||||
/**
|
||||
* @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
|
||||
* 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;
|
||||
|
||||
#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)
|
||||
TaskSwitchInfo g_taskSwitchInfo;
|
||||
#endif
|
||||
|
@ -577,9 +573,7 @@ LITE_OS_SEC_TEXT VOID OsTaskSwitchCheck(VOID)
|
|||
}
|
||||
#endif
|
||||
|
||||
if (g_pfnUsrTskSwitchHook != NULL) {
|
||||
g_pfnUsrTskSwitchHook();
|
||||
}
|
||||
LOSCFG_BASE_CORE_TSK_SWITCH_HOOK();
|
||||
|
||||
#if (LOSCFG_KERNEL_TRACE == 1)
|
||||
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));
|
||||
g_taskSwitchInfo.cntInfo.maxCnt = OS_TASK_SWITCH_INFO_COUNT;
|
||||
#endif
|
||||
g_pfnUsrTskSwitchHook = NULL;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue