Udate TODO List

Remove an issues that has recently be resolved.
This commit is contained in:
Gregory Nutt 2020-07-02 10:31:14 -06:00 committed by Abdelatif Guettouche
parent b984534255
commit deb3b13759
1 changed files with 25 additions and 44 deletions

69
TODO
View File

@ -1,4 +1,4 @@
NuttX TODO List (Last updated April 18, 2020)
NuttX TODO List (Last updated July 2, 2020)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file summarizes known NuttX bugs, limitations, inconsistencies with
@ -17,7 +17,7 @@ nuttx/:
(2) pthreads (sched/pthread, libs/libc/pthread)
(0) Message Queues (sched/mqueue)
(1) Work Queues (sched/wqueue)
(8) Kernel/Protected Build
(6) Kernel/Protected Build
(3) C++ Support
(5) Binary loaders (binfmt/)
(17) Network (net/, drivers/net)
@ -34,7 +34,7 @@ apps/ and other Add-Ons:
(1) Network Utilities (apps/netutils/)
(1) NuttShell (NSH) (apps/nshlib)
(1) System libraries apps/system (apps/system)
(2) System libraries apps/system (apps/system)
(1) Modbus (apps/modbus)
(5) Other Applications & Tests (apps/examples/)
@ -767,7 +767,7 @@ o Signals (sched/signal, arch/)
embedded system.
Title: SIGEV_THREAD
Description: Implementation of support for support for SIGEV_THREAD is available
Description: Implementation of support for SIGEV_THREAD is available
only in the FLAT build mode because it uses the OS work queues to
perform the callback. The alternative for the PROTECTED and KERNEL
builds would be to create pthreads in the user space to perform the
@ -951,25 +951,6 @@ o Work Queues (sched/wqueue)
o Kernel/Protected Build
^^^^^^^^^^^^^^^^^^^^^^
Title: apps/system PARTITIONING
Description: Several of the USB device helper applications in apps/system
violate OS/application partitioning and will fail on a kernel
or protected build. Many of these have been fixed by adding
the BOARDIOC_USBDEV_CONTROL boardctl() command. But there are
still issues.
These functions still call directly into operating system
functions:
- usbmsc_configure - Called from apps/system/usbmsc and
apps/system/composite
- usbmsc_bindlun - Called from apps/system/usbmsc
- usbmsc_exportluns - Called from apps/system/usbmsc.
Status: Open
Priority: Medium/High -- the kernel build configuration is not fully fielded
yet.
Title: C++ CONSTRUCTORS HAVE TOO MANY PRIVILEGES (PROTECTED MODE)
Description: When a C++ ELF module is loaded, its C++ constructors are called
via sched/task_starthook.c logic. This logic runs in protected mode.
@ -1103,26 +1084,6 @@ o Kernel/Protected Build
Priority: Low for most embedded systems but would be a critical need if
NuttX were used in a secure system.
Title: ERRNO VARIABLE in KERNEL MODE
Description: In the FLAT and PROTECTED mode, the errno variable is retained
within the TCB. It requires a call into the OS to access the
errno variable.
In the KERNEL build, TLS should be used: The errno should be
stored at the base of the callers stack along with other TLS
data.
To do this, NuttX system calls should be reorganized. The
system calls should go to the internal OS functions (like
nxsem_wait() vs sem_wait()) which do not set the errno value.
The implementation available to applications (sem_wait() in
this example) should call the internal OS function then set the
errno variable in TLS.
Status: Open
Priority: Low, this primarily an aesthetic issue but may also have some
performance implications if the the errno variable is accessed
via a system call at high rates.
Title: SIGNAL ACTION VULNERABILITY
Description: When a signal action is performed, the user stack is used.
Unlike Linux, applications do not have separate user and
@ -2693,6 +2654,25 @@ o System libraries apps/system (apps/system)
Priority: Low (unless you are using mixed C-buffered I/O with readline and
fgetc, for example).
Title: apps/system PARTITIONING
Description: Several of the USB device helper applications in apps/system
violate OS/application partitioning and will fail on a kernel
or protected build. Many of these have been fixed by adding
the BOARDIOC_USBDEV_CONTROL boardctl() command. But there are
still issues.
These functions still call directly into operating system
functions:
- usbmsc_configure - Called from apps/system/usbmsc and
apps/system/composite
- usbmsc_bindlun - Called from apps/system/usbmsc
- usbmsc_exportluns - Called from apps/system/usbmsc.
Status: Open
Priority: Medium/High -- the kernel build configuration is not fully fielded
yet.
o Modbus (apps/modbus)
^^^^^^^^^^^^^^^^^^^^
@ -2706,7 +2686,7 @@ o Modbus (apps/modbus)
handling.
A more USB-friendly solution would be to: (1) Re-connect and
(2) re-open the serial drviers. That is what is done is NSH.
(2) re-open the serial drivers. That is what is done is NSH.
When the serial USB device is removed, this terminates the
session and NSH will then try to re-open the USB device. See
the function nsh_waitusbready() in the file
@ -2716,6 +2696,7 @@ o Modbus (apps/modbus)
Status: Open
Priority: Low. This is really an enhancement request: Modbus was never
designed to work with removable serial devices.
o Other Applications & Tests (apps/examples/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^