feat: 新增LOSCFG_BASE_CORE_TSK_SWITCH_HOOK 宏定义配置

优化原任务切换对外函数钩子调用为通过宏定义实现

Close #I40Q9O

Change-Id: Ie5ab75d04e2a63cb992be968d25e876fd91ee591
Signed-off-by: zhushengle <zhushengle@huawei.com>
This commit is contained in:
zhushengle 2021-07-15 09:41:09 +08:00
parent 453f91d09c
commit 39efd6fb30
3 changed files with 9 additions and 22 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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