kernel: introduce supervisor-only stacks
These stacks are appropriate for threads that run purely in supervisor mode, and also as stacks for interrupt and exception handling. Two new arch defines are introduced: - ARCH_KERNEL_STACK_GUARD_SIZE - ARCH_KERNEL_STACK_OBJ_ALIGN New public declaration macros: - K_KERNEL_STACK_RESERVED - K_KERNEL_STACK_EXTERN - K_KERNEL_STACK_DEFINE - K_KERNEL_STACK_ARRAY_DEFINE - K_KERNEL_STACK_MEMBER - K_KERNEL_STACK_SIZEOF If user mode is not enabled, K_KERNEL_STACK_* and K_THREAD_STACK_* are equivalent. Separately generated privilege elevation stacks are now declared like kernel stacks, removing the need for K_PRIVILEGE_STACK_ALIGN. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
c7f33a7759
commit
8ce260d8df
21 changed files with 414 additions and 143 deletions
|
@ -245,6 +245,8 @@ extern char _ramfunc_rom_start[];
|
|||
#ifdef CONFIG_USERSPACE
|
||||
extern char z_priv_stacks_ram_start[];
|
||||
extern char z_priv_stacks_ram_end[];
|
||||
extern char z_user_stacks_start[];
|
||||
extern char z_user_stacks_end[];
|
||||
#endif /* CONFIG_USERSPACE */
|
||||
|
||||
#endif /* ! _ASMLANGUAGE */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue