summaryrefslogtreecommitdiff
path: root/nuttx/TODO
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/TODO
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/TODO')
-rw-r--r--nuttx/TODO10
1 files changed, 10 insertions, 0 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.