From 8543df7e4cabff026cc95e339639198c0e58229a Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sun, 5 Jun 2022 22:18:05 +0800 Subject: [PATCH] sched/init: Initialize the idle thread local storage by tls_init_info Signed-off-by: Xiang Xiao --- sched/init/nx_start.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/sched/init/nx_start.c b/sched/init/nx_start.c index 9f5b04f048..497bf298ac 100644 --- a/sched/init/nx_start.c +++ b/sched/init/nx_start.c @@ -43,7 +43,6 @@ #include #include #include -#include #include "sched/sched.h" #include "signal/signal.h" @@ -54,6 +53,7 @@ #include "irq/irq.h" #include "group/group.h" #include "init/init.h" +#include "tls/tls.h" /**************************************************************************** * Pre-processor Definitions @@ -517,7 +517,6 @@ void nx_start(void) for (i = 0; i < CONFIG_SMP_NCPUS; i++) { - FAR struct tls_info_s *info; int hashndx; /* Assign the process ID(s) of ZERO to the idle task(s) */ @@ -546,13 +545,9 @@ void nx_start(void) up_initial_state(&g_idletcb[i].cmn); - /* Initialize the thread local storage - * Note: Don't copy tdata and tss for idle task to improve footprint - */ + /* Initialize the thread local storage */ - info = up_stack_frame(&g_idletcb[i].cmn, sizeof(struct tls_info_s)); - DEBUGASSERT(info == g_idletcb[i].cmn.stack_alloc_ptr); - info->tl_task = g_idletcb[i].cmn.group->tg_info; + tls_init_info(&g_idletcb[i].cmn); /* Complete initialization of the IDLE group. Suppress retention * of child status in the IDLE group.