zephyr/kernel
Andrew Boie d26cf2dc33 kernel: add k_thread_create() API
Unline k_thread_spawn(), the struct k_thread can live anywhere and not
in the thread's stack region. This will be useful for memory protection
scenarios where private kernel structures for a thread are not
accessible by that thread, or we want to allow the thread to use all the
stack space we gave it.

This requires a change to the internal _new_thread() API as we need to
provide a separate pointer for the k_thread.

By default, we still create internal threads with the k_thread in stack
memory. Forthcoming patches will change this, but we first need to make
it easier to define k_thread memory of variable size depending on
whether we need to store coprocessor state or not.

Change-Id: I533bbcf317833ba67a771b356b6bbc6596bf60f5
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-05-11 20:24:22 -04:00
..
configs
include kernel: add k_thread_create() API 2017-05-11 20:24:22 -04:00
alert.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
atomic_c.c
compiler_stack_protect.c kernel: add k_panic() and k_oops() APIs 2017-04-22 10:31:49 -04:00
device.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
errno.c kernel: errno: Use per-thread accessor function compatible with Newlib 2017-05-10 20:54:56 -04:00
idle.c kernel: tickless: Add tickless kernel support 2017-04-27 13:46:28 +00:00
init.c kernel: add k_thread_create() API 2017-05-11 20:24:22 -04:00
int_latency_bench.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
Kconfig test: benchmarking: Timing metrics for the kernel 2017-05-03 08:46:30 -04:00
Kconfig.event_logger kernel: Add thread events to kernel event logger 2017-04-25 02:16:36 +00:00
Kconfig.power_mgmt doc: misspellings in Kconfig files 2017-05-05 19:38:53 -04:00
mailbox.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
Makefile
mem_pool.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
mem_slab.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
msg_q.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
mutex.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
pipes.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
poll.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
queue.c kernel: queue, fifo: Add cancel_wait operation. 2017-05-10 09:40:33 -04:00
sched.c kernel: tickless: Add tickless kernel support 2017-04-27 13:46:28 +00:00
sem.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
stack.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
sys_clock.c kernel: tickless: Add tickless kernel support 2017-04-27 13:46:28 +00:00
system_work_q.c
thread_abort.c
thread.c kernel: add k_thread_create() API 2017-05-11 20:24:22 -04:00
timer.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
version.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
work_q.c kernel: add k_thread_create() API 2017-05-11 20:24:22 -04:00