zephyr/include/linker
Andrew Boie 877f82e847 userspace: add K_THREAD_ACCCESS_GRANT()
It's possible to declare static threads that start up as K_USER,
but these threads can't do much since they start with permissions on
no kernel objects other than their own thread object.

Rather than do some run-time synchronization to have some other thread
grant the necessary permissions, we introduce macros
to conveniently assign object permissions to these threads when they
are brought up at boot by the kernel. The tables generated here
are constant and live in ROM when possible.

Example usage:

K_THREAD_DEFINE(my_thread, STACK_SIZE, my_thread_entry,
                NULL, NULL, NULL, 0, K_USER, K_NO_WAIT);

K_THREAD_ACCESS_GRANT(my_thread, &my_sem, &my_mutex, &my_pipe);

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-18 07:37:38 -07:00
..
common-ram.ld kernel: introduce object validation mechanism 2017-09-07 16:33:33 -07:00
common-rom.ld userspace: add K_THREAD_ACCCESS_GRANT() 2017-10-18 07:37:38 -07:00
intlist.ld build: simplfy how extra build steps are specified 2017-05-13 14:07:09 -04:00
kobject-rom.ld kernel: introduce object validation mechanism 2017-09-07 16:33:33 -07:00
kobject-text.ld userspace: treat thread stacks as kernel objects 2017-10-16 19:02:00 -07:00
kobject.ld kernel: introduce object validation mechanism 2017-09-07 16:33:33 -07:00
linker-defs.h arm: armv6-m: Support relocating vector table 2017-08-09 18:13:29 -04:00
linker-tool-gcc.h linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
linker-tool.h linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
section_tags.h linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
sections.h sections.h: define application-level sections 2017-06-29 07:46:58 -04:00