smp: add a Kconfig option to delay booting secondary CPUs

Usually Zephyr boots all secondary CPUs as a part of system
boot. Some applications however need an ability to boot on
the main CPU only and enable secondary CPUs selectively at
run-time. Add a Kconfig option to support this behaviour.
When booting CPUs on demand applications also need helpers
to initialise a dummy thread and begin threaded execution
on those CPUs, add two such helpers.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
Guennadi Liakhovetski 2021-04-01 13:46:57 +02:00 committed by Anas Nashif
commit 8d07b7751a
3 changed files with 33 additions and 4 deletions

View file

@ -5553,6 +5553,12 @@ extern void z_init_static_threads(void);
* @internal
*/
extern bool z_is_thread_essential(void);
#ifdef CONFIG_SMP
void z_smp_thread_init(void *arg, struct k_thread *thread);
void z_smp_thread_swap(void);
#endif
/**
* @internal
*/