From c842251bab7ea6365f2bee8ae880e6efb60f0c73 Mon Sep 17 00:00:00 2001 From: silen Date: Mon, 19 Jul 2021 10:45:58 +0800 Subject: [PATCH] fix: cpup funciton repair Change-Id: I42951b0c0aa16267b6a86a0e95929ae4dccf28ad Signed-off-by: silen --- kernel/src/los_task.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/kernel/src/los_task.c b/kernel/src/los_task.c index 9713d4ac..5d6abd5d 100644 --- a/kernel/src/los_task.c +++ b/kernel/src/los_task.c @@ -726,7 +726,12 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_TaskCreateOnly(UINT32 *taskID, TSK_INIT_PARAM_S if (retVal != LOS_OK) { return retVal; } - +#if (LOSCFG_BASE_CORE_CPUP == 1) + intSave = LOS_IntLock(); + g_cpup[taskCB->taskID].cpupID = taskCB->taskID; + g_cpup[taskCB->taskID].status = taskCB->taskStatus; + LOS_IntRestore(intSave); +#endif *taskID = taskCB->taskID; OsHookCall(LOS_HOOK_TYPE_TASK_CREATE, taskCB); return retVal; @@ -756,10 +761,6 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_TaskCreate(UINT32 *taskID, TSK_INIT_PARAM_S *ta taskCB = OS_TCB_FROM_TID(*taskID); intSave = LOS_IntLock(); -#if (LOSCFG_BASE_CORE_CPUP == 1) - g_cpup[taskCB->taskID].cpupID = taskCB->taskID; - g_cpup[taskCB->taskID].status = taskCB->taskStatus; -#endif OsSchedTaskEnQueue(taskCB); LOS_IntRestore(intSave);