diff --git a/kernel/include/los_config.h b/kernel/include/los_config.h index 04dca546..c5cd8616 100644 --- a/kernel/include/los_config.h +++ b/kernel/include/los_config.h @@ -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. diff --git a/kernel/include/los_task.h b/kernel/include/los_task.h index 15cb28c6..7cc5a811 100644 --- a/kernel/include/los_task.h +++ b/kernel/include/los_task.h @@ -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. diff --git a/kernel/src/los_task.c b/kernel/src/los_task.c index cc9b260f..9713d4ac 100644 --- a/kernel/src/los_task.c +++ b/kernel/src/los_task.c @@ -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_BASE_CORE_CPUP == 1) OsTskCycleEndStart(); @@ -594,7 +588,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