diff --git a/include/linker/linker-defs.h b/include/linker/linker-defs.h index f3a01fa469b..b28be9b4670 100644 --- a/include/linker/linker-defs.h +++ b/include/linker/linker-defs.h @@ -252,6 +252,17 @@ extern char _ramfunc_ram_size[]; extern char _ramfunc_rom_start[]; #endif /* CONFIG_ARCH_HAS_RAMFUNC_SUPPORT */ +/* Memory owned by the kernel. Memory region for thread privilege stack buffers, + * currently only applicable on ARM Cortex-M architecture when building with + * support for User Mode. + * + * All thread privilege stack buffers will be placed into this section. + */ +#ifdef CONFIG_USERSPACE +extern char z_priv_stacks_ram_start[]; +extern char z_priv_stacks_ram_end[]; +#endif /* CONFIG_USERSPACE */ + #endif /* ! _ASMLANGUAGE */ #endif /* ZEPHYR_INCLUDE_LINKER_LINKER_DEFS_H_ */ diff --git a/include/linker/priv_stacks-noinit.ld b/include/linker/priv_stacks-noinit.ld index 6247a99a1d7..e275b194c9c 100644 --- a/include/linker/priv_stacks-noinit.ld +++ b/include/linker/priv_stacks-noinit.ld @@ -6,5 +6,7 @@ SECTION_DATA_PROLOGUE(priv_stacks_noinit,,) { + z_priv_stacks_ram_start = .; *(".priv_stacks.noinit") + z_priv_stacks_ram_end = .; } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)