Flesh out more cancellation point logic.

This commit is contained in:
Gregory Nutt
2016-12-09 10:31:40 -06:00
parent d35e589d56
commit 018db84567
8 changed files with 44 additions and 6 deletions
+7
View File
@@ -218,6 +218,13 @@ int os_smp_start(void)
*/
up_initial_state(tcb);
/* Set the task flags to indicate that this is a kernel thread and that
* this task is locked to this CPU.
*/
tcb->flags = (TCB_FLAG_TTYPE_KERNEL | TCB_FLAG_NONCANCELABLE | TCB_FLAG_CPU_LOCKED);
tcb->cpu = cpu;
}
/* Then start all of the other CPUs after we have completed the memory
+3 -2
View File
@@ -470,10 +470,11 @@ void os_start(void)
*/
#ifdef CONFIG_SMP
g_idletcb[cpu].cmn.flags = (TCB_FLAG_TTYPE_KERNEL | TCB_FLAG_CPU_LOCKED);
g_idletcb[cpu].cmn.flags = (TCB_FLAG_TTYPE_KERNEL TCB_FLAG_NONCANCELABLE |
TCB_FLAG_CPU_LOCKED);
g_idletcb[cpu].cmn.cpu = cpu;
#else
g_idletcb[cpu].cmn.flags = TCB_FLAG_TTYPE_KERNEL;
g_idletcb[cpu].cmn.flags = (TCB_FLAG_TTYPE_KERNEL | TCB_FLAG_NONCANCELABLE);
#endif
#ifdef CONFIG_SMP