Update TODO list
This commit is contained in:
parent
3950398841
commit
3cebd821cd
67
TODO
67
TODO
@ -1,4 +1,4 @@
|
|||||||
NuttX TODO List (Last updated September 15, 2018)
|
NuttX TODO List (Last updated September 18, 2018)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
||||||
@ -16,12 +16,12 @@ nuttx/:
|
|||||||
(3) Signals (sched/signal, arch/)
|
(3) Signals (sched/signal, arch/)
|
||||||
(2) pthreads (sched/pthread)
|
(2) pthreads (sched/pthread)
|
||||||
(0) Message Queues (sched/mqueue)
|
(0) Message Queues (sched/mqueue)
|
||||||
(8) Kernel/Protected Build
|
(9) Kernel/Protected Build
|
||||||
(3) C++ Support
|
(3) C++ Support
|
||||||
(5) Binary loaders (binfmt/)
|
(5) Binary loaders (binfmt/)
|
||||||
(16) Network (net/, drivers/net)
|
(18) Network (net/, drivers/net)
|
||||||
(4) USB (drivers/usbdev, drivers/usbhost)
|
(4) USB (drivers/usbdev, drivers/usbhost)
|
||||||
(1) Other drivers (drivers/)
|
(2) Other drivers (drivers/)
|
||||||
(12) Libraries (libc/, libm/)
|
(12) Libraries (libc/, libm/)
|
||||||
(10) File system/Generic drivers (fs/, drivers/)
|
(10) File system/Generic drivers (fs/, drivers/)
|
||||||
(10) Graphics Subsystem (graphics/)
|
(10) Graphics Subsystem (graphics/)
|
||||||
@ -905,6 +905,26 @@ o Kernel/Protected Build
|
|||||||
Priority: Low for most embedded systems but would be a critical need if
|
Priority: Low for most embedded systems but would be a critical need if
|
||||||
NuttX were used in a secure system.
|
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 appplications (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 varaible is accessed
|
||||||
|
via a system call at high rates.
|
||||||
|
|
||||||
o C++ Support
|
o C++ Support
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
@ -1165,7 +1185,7 @@ o Network (net/, drivers/net)
|
|||||||
Description: IPv6 requires that the Ethernet driver support NuttX address
|
Description: IPv6 requires that the Ethernet driver support NuttX address
|
||||||
filter interfaces. Several Ethernet drivers do support there,
|
filter interfaces. Several Ethernet drivers do support there,
|
||||||
however. Others support the address filtering interfaces but
|
however. Others support the address filtering interfaces but
|
||||||
have never been verifed:
|
have never been verified:
|
||||||
|
|
||||||
C5471, LM3S, ez80, DM0x90 NIC, PIC, LPC54: Do not support
|
C5471, LM3S, ez80, DM0x90 NIC, PIC, LPC54: Do not support
|
||||||
address filtering.
|
address filtering.
|
||||||
@ -1284,6 +1304,17 @@ o Network (net/, drivers/net)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: High if you happen to be using Ethernet in this configuration.
|
Priority: High if you happen to be using Ethernet in this configuration.
|
||||||
|
|
||||||
|
Title: NETWORK DRIVERS USING HIGH PRIORITY WORK QUEUE
|
||||||
|
Description: Many network drivers run the network on the high priority work
|
||||||
|
queue thread (or support an option to do so). Networking should
|
||||||
|
not be done on the high priority work thread because it interferes
|
||||||
|
with realtime behavior. Fix by forcing all network drivers to
|
||||||
|
run on the low priority work queue.
|
||||||
|
Status: Open
|
||||||
|
Priority: Low. Not such big deal for demo network test and demo
|
||||||
|
configurations except that it provides a bad example for a product
|
||||||
|
OS configuration.
|
||||||
|
|
||||||
Title: REPARTITION DRIVER FUNCTIONALITY
|
Title: REPARTITION DRIVER FUNCTIONALITY
|
||||||
Description: Every network driver performs the first level of packet decoding.
|
Description: Every network driver performs the first level of packet decoding.
|
||||||
It examines the packet header and calls ipv4_input(), ipv6_input().
|
It examines the packet header and calls ipv4_input(), ipv6_input().
|
||||||
@ -1354,7 +1385,6 @@ o Network (net/, drivers/net)
|
|||||||
MAC-based addressing in the 6LoWPAN implementation.
|
MAC-based addressing in the 6LoWPAN implementation.
|
||||||
|
|
||||||
Title: ETHERNET LOCAL BROADCAST DOES NOT WORK
|
Title: ETHERNET LOCAL BROADCAST DOES NOT WORK
|
||||||
|
|
||||||
Description: In case of "local broadcast" the system still send ARP
|
Description: In case of "local broadcast" the system still send ARP
|
||||||
request to the destination, but it shouldn't, it should
|
request to the destination, but it shouldn't, it should
|
||||||
broadcast. For Example, the system has network with IP
|
broadcast. For Example, the system has network with IP
|
||||||
@ -1405,6 +1435,14 @@ o Network (net/, drivers/net)
|
|||||||
before, so I suspect it might not be so prevalent as one
|
before, so I suspect it might not be so prevalent as one
|
||||||
might expect.
|
might expect.
|
||||||
|
|
||||||
|
Title: TCP SOCKETS CLOSED TOO QUICKLY
|
||||||
|
Description: When a socket is closed, the resources are torn down
|
||||||
|
immediately (unless the SO_LINGER option is selected). As a
|
||||||
|
result, the socket does not send the FIN and this looks like
|
||||||
|
an unexpected, abnormal loss of connection to the remote peer.
|
||||||
|
Status: Open
|
||||||
|
Priority: Medium-Low.
|
||||||
|
|
||||||
Title: LOCAL DATAGRAM RECVFROM RETURNS WRONG SENDER ADDRESS
|
Title: LOCAL DATAGRAM RECVFROM RETURNS WRONG SENDER ADDRESS
|
||||||
Description: The recvfrom logic for local datagram sockets returns the
|
Description: The recvfrom logic for local datagram sockets returns the
|
||||||
incorrect sender "from" address. Instead, it returns the
|
incorrect sender "from" address. Instead, it returns the
|
||||||
@ -2143,7 +2181,7 @@ o Other drivers (drivers/)
|
|||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Title: SYSLOG OUTPUT LOST ON A CRASH
|
Title: SYSLOG OUTPUT LOST ON A CRASH
|
||||||
Desription: Flush syslog output on crash. I don't know how to do in the
|
Description: Flush syslog output on crash. I don't know how to do in the
|
||||||
character driver case with interrupts disabled. It would be
|
character driver case with interrupts disabled. It would be
|
||||||
easy to flush the interrupt interrupt buffer, but not the
|
easy to flush the interrupt interrupt buffer, but not the
|
||||||
data buffered within a character driver (such as the serial
|
data buffered within a character driver (such as the serial
|
||||||
@ -2156,6 +2194,21 @@ o Other drivers (drivers/)
|
|||||||
debug if you could see all of the SYSLOG output up to the
|
debug if you could see all of the SYSLOG output up to the
|
||||||
time of the crash. But not essential.
|
time of the crash. But not essential.
|
||||||
|
|
||||||
|
Title: SERIAL DRIVER WITH DMA DOES NOT DISCARD OOB CHARACTERS
|
||||||
|
Description: If Ctrl-Z or Ctrl-C actions are enabled, the the OOB
|
||||||
|
character that generates the signal action must not be placed
|
||||||
|
in the serial driver Rx buffer. This behavior is correct for
|
||||||
|
the non-DMA case (serial_io.c), but not for the DMA case
|
||||||
|
(serial_dma.c). In the DMA case, the OOB character is left
|
||||||
|
in the Rx buffer and will be received as normal Rx data by
|
||||||
|
the application. It should not work that way.
|
||||||
|
|
||||||
|
Perhaps in the DMA case, the OOB characters could be filtered
|
||||||
|
out later, just before returning the Rx data to the application?
|
||||||
|
Status: Open
|
||||||
|
Priority: Low, provided that the application can handle these characters
|
||||||
|
in the data stream.
|
||||||
|
|
||||||
o Linux/Cywgin simulation (arch/sim)
|
o Linux/Cywgin simulation (arch/sim)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user