diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-09-13 12:25:32 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-09-13 12:25:32 -0600 |
commit | dccca8a00662956a7fd4d7e106c041e977e4fe0a (patch) | |
tree | 6a5bb0d62d36310bc57dfa99cea2e77ee14fcff7 /nuttx/arch/Kconfig | |
parent | b473253b2042c86a77fdd3a23f26e4344ff9cc3c (diff) | |
download | nuttx-dccca8a00662956a7fd4d7e106c041e977e4fe0a.tar.gz nuttx-dccca8a00662956a7fd4d7e106c041e977e4fe0a.tar.bz2 nuttx-dccca8a00662956a7fd4d7e106c041e977e4fe0a.zip |
Add a configuration option for dynamic stack management
Diffstat (limited to 'nuttx/arch/Kconfig')
-rw-r--r-- | nuttx/arch/Kconfig | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/nuttx/arch/Kconfig b/nuttx/arch/Kconfig index e57d59c35..9a7aa1476 100644 --- a/nuttx/arch/Kconfig +++ b/nuttx/arch/Kconfig @@ -199,11 +199,6 @@ config ARCH_HEAP_VBASE ---help--- The virtual address of the beginning of the heap region. -config ARCH_STACK_VBASE - hex "Virtual stack base" - ---help--- - The virtual address of the beginning the stack region - config ARCH_TEXT_NPAGES int "Max .text pages" default 1 @@ -228,6 +223,30 @@ config ARCH_HEAP_NPAGES This, along with knowledge of the page size, determines the size of the heap virtual address space. Default is 1. +config ARCH_STACK_DYNAMIC + bool "Dynamic stack" + default n if !BUILD_KERNEL || !LIBC_EXECFUNCS + default y if BUILD_KERNEL && LIBC_EXECFUNCS + ---help--- + Select this option if the user process stack resides in its own + address space. The naming of this selection implies that dynamic + stack allocation is supported. Certainly this option must be set if + dynamic stack allocation is supported by a platform. But the more + general meaning of this configuration environment is simply that the + stack has its own address space. + + NOTE: This options is also *required* if BUILD_KERNEL and + LIBC_EXECFUNCS are selected. Why? Because the caller's stack must + be preserved in its own address space when we instantiate the + environment of the new process in order to initialize it. + +if ARCH_STACK_DYNAMIC + +config ARCH_STACK_VBASE + hex "Virtual stack base" + ---help--- + The virtual address of the beginning the stack region + config ARCH_STACK_NPAGES int "Max. stack pages" default 1 @@ -236,6 +255,8 @@ config ARCH_STACK_NPAGES This, along with knowledge of the page size, determines the size of the stack virtual address space. Default is 1. +endif # ARCH_STACK_DYNAMIC + config ARCH_PGPOOL_MAPPING bool "Have page pool mapping" default n |