summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-09-13 15:45:26 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-09-13 15:45:26 -0600
commit26d0141f155734ffdaad2260d9335061fe81abc1 (patch)
tree6fc7a764399a4b6ad167b813f87701de92e7cbe4 /nuttx
parent7f7712d662d40ab932ccb066ef081ffff71d9a0e (diff)
downloadnuttx-26d0141f155734ffdaad2260d9335061fe81abc1.tar.gz
nuttx-26d0141f155734ffdaad2260d9335061fe81abc1.tar.bz2
nuttx-26d0141f155734ffdaad2260d9335061fe81abc1.zip
Update README, TODO, and make some unfinished configuration options dependent on EXPERIMENTAL
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/TODO10
-rw-r--r--nuttx/arch/Kconfig1
-rw-r--r--nuttx/configs/sama5d4-ek/README.txt6
3 files changed, 16 insertions, 1 deletions
diff --git a/nuttx/TODO b/nuttx/TODO
index 1739b618a..b202e9690 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -478,13 +478,23 @@ o Kernel/Protected Build
address environment must be instantiated in memory to load the
.text and .data and to allocate the initial user space components
from the new user heap.
+
However, the previous program's stack currently resides in its
heap. So when a process tries to run another program, its heap
is unmapped and the system crashes.
+
The fix is to add a separate stack in a separate memory region
that does not get unmapped when creating new processes. There
are hooks in place to do this; I just need to get time to get
that done.
+
+ UPDATE: I don't think it is that simple. Startup logic will need
+ to access the new stack in its correct location to do things like
+ setup task arguments. So I don't think that there is anyway to
+ do that without losing the current stack.
+
+ I may have to do the Linux solution: Two stacks for each thread:
+ The main user stack, and a tiny kernel mode stack.
Status: Open
Priority: Pretty high... the kernel build is useless without this
capability.
diff --git a/nuttx/arch/Kconfig b/nuttx/arch/Kconfig
index 6aaf1bac1..76daa1810 100644
--- a/nuttx/arch/Kconfig
+++ b/nuttx/arch/Kconfig
@@ -227,6 +227,7 @@ config ARCH_STACK_DYNAMIC
bool "Dynamic stack"
default n if !BUILD_KERNEL || !LIBC_EXECFUNCS
default y if BUILD_KERNEL && LIBC_EXECFUNCS
+ depends on EXPERIMENTAL
---help---
Select this option if the user process stack resides in its own
address space. The naming of this selection implies that dynamic
diff --git a/nuttx/configs/sama5d4-ek/README.txt b/nuttx/configs/sama5d4-ek/README.txt
index d55935a2e..1c612e1b3 100644
--- a/nuttx/configs/sama5d4-ek/README.txt
+++ b/nuttx/configs/sama5d4-ek/README.txt
@@ -3944,6 +3944,10 @@ Configurations
processes. There are hooks in place to do this; I just need to get
time to get that done.
+ To see the bug in action:
+
+ nsh> /bin/hello
+
nsh:
This configuration directory provide the NuttShell (NSH). This is a
@@ -4416,7 +4420,7 @@ Configurations
STATUS:
See the To-Do list below
- (2014-8-30): Retesting today I am seeing a strange behavior: Serial
+ 2014-8-30: Retesting today I am seeing a strange behavior: Serial
output is coming out in chunks with delays between the chunks. It
appears that something is not good in the serial port configuration.
I see no such chunky behavior in, for example, grahics output.