Commit Graph

755 Commits

Author SHA1 Message Date
Gregory Nutt
e470846356 Remove all references to the Yahoo group. 2018-04-15 17:15:48 -06:00
Gregory Nutt
8cd80e2d47 Update TODO list 2018-03-04 07:30:50 -06:00
Gregory Nutt
fad70bf90e Update some comments 2018-02-03 09:35:46 -06:00
Gregory Nutt
50ca32e254 Squashed commit of the following:
sched/:  Convert legitimate uses of task_create() to nxtask_create().  Review handling of returned values from all uses of kthread_create() (as well as nxtask_create()).
    graphics/:  Review return values for all calls to kthread_start() because it no longer returns an errno.
    drivers/:  threads started by drivers should be kernel threads, not user tasks.  Review return values for all calls to kthread_start() because it no longer returns an errno.
    configs/:  threads started by board bringup logic should be kernel threads, not user tasksi (part 2 of 2).
    sched/task:  Add nxtask_create().  Kthread_create() and nxtask_create() are internal OS functions and should not modify the errno variable.  configs/:  threads started by board bringup logic should be kernel threads, not user tasks.
2018-01-31 16:11:54 -06:00
Gregory Nutt
82982f7972 sched/: Fix several inappropriate accesses to get_errno() that were missed in previous changes (some going back to nuttx-.23). Add new nxsched_setscheduler() and nxsched_getaffinity() which are equivalent to their counterparts without the nx on front. These versions do not modify the errno value. Changed all calls within the OS to use these newer versions of the functions. 2018-01-30 16:16:41 -06:00
Gregory Nutt
170a50c690 Squashed commit of the following:
sched/sched:  Correct some build issues introduced by last set of changes.
    sched/sched:  Add new internal OS function nxsched_setaffinity() that is identical to sched_isetaffinity() except that it does not modify the errno value.  All usage of sched_setaffinity() within the OS is replaced with nxsched_setaffinity().
    sched/sched:  Internal functions sched_reprioritize() and sched_setpriority() no longer movidify the errno value.  Also renamed to nxsched_reprioritize() and sched_setpriority().
    sched/sched:  Add new internal OS function nxsched_getscheduler() that is identical to sched_getscheduler() except that it does not modify the errno value.  All usage of sched_getscheduler() within the OS is replaced with nxsched_getscheduler().
    sched/sched:  Add new internal OS function nxsched_setparam() that is identical to sched_setparam() except that it does not modify the errno value.  All usage of sched_setparam() within the OS is replaced with nxsched_setparam().
    sched/sched:  Add new internal OS function nxsched_getparam() that is identical to sched_getparam() except that it does not modify the errno value (actually, the previous value erroneously neglected to set the errno value to begin with, but this fixes both issues).  All usage of sched_getparam() within the OS is replaced with nxsched_getparam().
2018-01-30 11:08:18 -06:00
Gregory Nutt
82cb799bb6 net/udp: Fix memory leak with UDP + write buffer is closed. Also update TODO and comments and refresh a configuration. 2018-01-23 11:54:03 -06:00
Gregory Nutt
12d7125b75 net/tcp: Write buffering logic should not wait for a free buffer if the socket was opened non-blocking. Also, rename the TCP write buffering macros from WRB_* to TCPWB_* to make room in the namespace for write buffering with other protocols. 2018-01-22 11:11:23 -06:00
Gregory Nutt
0c034c8dd3 Update TODO list 2018-01-21 07:47:13 -06:00
Gregory Nutt
f153df28d3 configs/nucleo-l432kc: Fix numerous cloning errors/typos. 2018-01-20 16:16:35 -06:00
Gregory Nutt
e4652bd3dc Squashed commit of the following:
fs: Add truncate() support for userfs
    fs/unionfs:  Add truncate() support to the unionfs
    fs/tmpfs:  Add ftruncate() support to tmpfs
    syscall/: Add system call support for ftruncate()
    net/route:  Adding ftruncate() support eliminates an issue in file-based routing table management.
    fs:  Add basic framework to support truncate() and ftruncate().  The infrastructure is complete.  Now, however, the actual implementation of ftruncate() will have to be done for each file system.
2018-01-03 16:03:56 -06:00
Gregory Nutt
7d131fe711 Update TODO list 2018-01-03 08:32:57 -06:00
Gregory Nutt
4a5532a772 Update TODO list. 2017-11-27 16:33:31 -06:00
Gregory Nutt
a3f308331d Update TODO 2017-11-16 11:22:32 -06:00
Gregory Nutt
692ebdf9d4 arch/arm/src/stm32/stm32f33xx_adc.c: Eliminate warnings about cj_channels and j_chanlist being set but not used. 2017-11-12 10:17:10 -06:00
Gregory Nutt
425f769f0f TODO: Remove a couple of build system issues that I think have been fixed. 2017-11-12 09:12:50 -06:00
Gregory Nutt
35ee844590 sched/signal/sig_nanosleep.c and libc/time/lib_nanosleep.c: Implement clock_nanosleep(). nanosleep() is now reduced to a libc wrapper around clock_nanosleep(). 2017-11-11 17:44:59 -06:00
Gregory Nutt
2ae1d62e67 Update TODO list 2017-11-11 16:32:04 -06:00
Gregory Nutt
57143ae894 Update TODO list 2017-11-11 15:43:16 -06:00
Gregory Nutt
bf7839d0f0 libc/signal: Add support for sigwait(). 2017-11-11 12:37:47 -06:00
Gregory Nutt
7deb24484c This comment converts the underlying IPC used by the UserFS from Unix domain local sockets to UDP LocalHost loopback sockets. The problem with the local sockets is that they do require operations on the top level psuedo-file system inode tree. That tree must be locked during certain traversals such as enumerate mountpoints or enumerating directory entries.
This conversion is unfortunate in the sense that Unix local domain sockets are relatively lightweight.  LocalHost UDP sockets are much heavier weight since they rely on the full UDP stack.  If anyone is up for a complete redesign, then using some shared memory and a POSIX message queue would be lightweight again.

This commit also fixes several bugs that were not testable before the inode tree deadlock.  I cannot say that the logic is 100% stable but it does not have basic functionality.

Squashed commit of the following:

    fs/userfs:  Order locking so that access to the shared I/O buffer is also locked.
    fs/userfs:  Converts to use LocalHost UDP loopback for IPC.
2017-11-05 12:25:58 -06:00
Gregory Nutt
205fe8053f Kconfigs: Add CONFIG_LCD_UPDATE that works like CONFIG_NX_UPDATE but can be enabled without enabling the graphics subsystem. 2017-11-04 14:08:21 -06:00
Gregory Nutt
73c4bac7a6 Update TODO 2017-11-04 07:21:03 -06:00
Gregory Nutt
f9e7b84727 drivers/loop: Don't use file descriptors... Use the internal file system interfaces so that the loop device can be shared across threads. 2017-11-02 16:31:56 -06:00
Gregory Nutt
2dbe7af7f3 fs/userfs: There are some deadlock issues that make the UserFS un-usable at the current time. Added to the TODO list; also feature is now marked EXPERIMENTAL. 2017-11-02 08:46:18 -06:00
Gregory Nutt
de5b36c198 Update TODO for broken local socket feature; Add work around to UserFS for broken local socket feature. 2017-11-01 09:16:10 -06:00
Gregory Nutt
cfc5f8fbaf drivers/net: Remove the old, unfinished Crystal LAN driver. I don't even have the hardware that it goes with anymore. 2017-10-28 10:27:00 -06:00
Gregory Nutt
1ed816de4b Squashed commit of the following:
fs/mount:  Implements procfs /proc/fs/blocks and /proc/fs/usage files, replacing the NSH df command.
    fs/mount:  Implements procfs /proc/fs/mount file, replacing the NSH mount command when there are not arguments.
    fs/: Move prototype of foreach_mountpoint out of include/nuttx/fs/fs.h to fs/mount/mount.h.  Add framework for the mount procfs (initial commit is just a close of the net/route table procfs.
2017-10-26 13:33:08 -06:00
Jussi Kivilinna
e557c3e8d5 drivers/sensors/lis2dh: fixes for self-test 2017-10-26 09:25:20 -06:00
Gregory Nutt
5692e340ab Move comments describing a problem out of the code and into the TODO list where it belongs. 2017-10-25 12:37:02 -06:00
Gregory Nutt
d92c5a0fdb lm3s8962: NX configuration needs CONFIG_NXSTART_EXTERNINIT=y. Also update TODO list. 2017-10-24 15:36:19 -06:00
Gregory Nutt
70c59a9d91 This commit adds support for semi-standard IPPROTO_ICMP6 sockets. This is a replacement for the non-standard ICMPv6 ping support that violated the portable POSIX OS interface.
Squashed commit of the following:

    net/icmpv6: IPPROT_ICMP6 socket logic now builds without error.
    net/icmpv6:  Add support for read-ahead and poll(). Initial commit is just cloned from ICMP with the appropriate name changes.
    configs/:  All defconfig filess that include CONFIG_NET_ICMPv6_SOCKET=y need to select CONFIG_SYSTEM_PING6=y and deselect CONFIG_DISABLE_POLL.
    Update NSH documention to show that ping6 is now a built in command.
    net/icmpv6:  Add icmpv6_sendto.c and icmpv6_recvfrom.c.  Initial versions are just clones from icmp/ with appropriate name changes.
    net/icmpv6:  Clone some ICMP socket logic as the beginning of support for ICMPv6 socket support.
    Rename CONFIG_NET_ICMPv6_PING to CONFIG_NET_ICMPv6_SOCKET.  Move prototype for icmpv6_ping from include/nuttx/net/icmpv6 to net/icmpv6/icmpv6.h
2017-10-24 11:23:08 -06:00
Gregory Nutt
cccc86da09 This change adds support for semi-standard IPPROTO_ICMP AF_INET datagram sockets. This replaces the old ad hoc, nonstandard way of implementing ping with a more standard, socket interface.
Squashed commit of the following:

    net/icmp:  Finishes off icmp_recvfrom().
    net/icmp:  Add readahead support for IPPROTO_ICMP sockets.
    net/icmp:  Add poll() support for IPPROTO_ICMP sockets.
    net/icmp:  Add a connection structure for IPPROTO_ICMP sockets.
    net/icmp:  Implements sendto for the IPPROTO_ICMP socket.
    net/icmp:  Move icmp_sendto() and icmp_recvfrom() to separate files.  They are likely to be complex (when they are implemented).
    net/icmp:  Hook IPPROTO_ICMP sockets into network.  Fix some naming collisions.  Still missing basic ICMP send/receive logic.
    configs: apps/system/ping current need poll() enabled.
    configs: All defconfig files that use to enable low-level support must now enabled CONFIG_SYSTEM_PING.
    net/icmp:  Adds basic build framework to support IPPROTO_ICMP sockets.
2017-10-23 08:45:12 -06:00
Gregory Nutt
9b31a81b00 Squashed commit of the following:
fs/fat:  Remove mkfatfs from the OS.  This is a user-space application and belongs in apps, not in the OS.
2017-10-20 12:36:25 -06:00
Gregory Nutt
5b385f4d4d kthread_create(): Rename kernel_thread() to kthread_create() for better naming consistency with task_create() and kthread_delete(). 2017-10-16 11:38:00 -06:00
Gregory Nutt
b1a41b7620 task_delete(): Do not permit user applications to delete kernel threads. 2017-10-16 09:07:27 -06:00
Gregory Nutt
566ad9e5f9 Update TODO list 2017-10-15 09:50:31 -06:00
Gregory Nutt
687aace769 Fix typo introduced with last commit. Also update TODO list. 2017-10-11 10:25:27 -06:00
Gregory Nutt
4a3c1ef2ac Update TODO list 2017-10-10 14:52:47 -06:00
Gregory Nutt
2238785bf1 Fix a error introduced with nxmq_receive(); update TODO list. 2017-10-10 10:58:26 -06:00
Gregory Nutt
f6f740a511 Update TODO list 2017-10-08 09:06:35 -06:00
Gregory Nutt
5b04c25dcd drivers/serial/tcdrain: tcdrain() was recently added to the NuttX C library. But there is a problem. The specification of tcdrain() requires that it be a cancellation point. In order to do this, tcdrain was moved from the C library into the OS and the addition cancellation point hooks were added. In non-FLAT builds, access via system calls is also now supported. 2017-10-06 10:55:36 -06:00
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
afe137ffbf net_timedwait() and net_lockedwait() no longer return errors via errno but returned negated errno values like other internal OS functions. 2017-09-01 07:13:03 -06:00
Gregory Nutt
5ac993d2ef Update TODO list 2017-08-22 18:15:09 -06:00
Gregory Nutt
f6f4856cc6 Eliminate some warnings found in build testing. 2017-08-13 12:24:48 -06:00
Gregory Nutt
1f989af845 Update TODO list; SAMv7 XDMAC: Remove and unused global array. 2017-08-12 12:26:13 -06:00
Gregory Nutt
f8df43486a Update TODO list 2017-08-12 10:45:43 -06:00
Gregory Nutt
65698da12d procfs: Add support for routing tables. 2017-08-11 15:33:58 -06:00
Gregory Nutt
c67b807f43 configs/: Remove dangling spaces at the end of lines in *.c and *.h files. 2017-06-28 13:21:20 -06:00
Gregory Nutt
476ca8238b Update TODO list and some defconfigs. 2017-06-19 10:56:34 -06:00
Gregory Nutt
94b607bda0 Update TODO, enable UDP example in clicker1-stm32/mrf24j40-6lowpan example, make sure that CONFIG_EXAMPLES_UDP_NETINIT is set in all other examples/udp configurations. 2017-06-19 09:59:10 -06:00
Gregory Nutt
cd82d03ddf IEEE 802.15.4/6LoWPAN: Correct one more usage of saddr; also update a README and the TODO list. 2017-06-19 07:31:52 -06:00
Gregory Nutt
cfea8adacb L should be capitalized in 6LoWPAN 2017-06-18 16:00:08 -06:00
Gregory Nutt
2ef49eb3bd Update TODO and README 2017-06-18 09:01:18 -06:00
Gregory Nutt
f31e20753c Update TODO list; Add RFC6775 header file. 2017-06-18 08:09:33 -06:00
Gregory Nutt
9396317ac4 Update TODO list. Make sure that all Bitbucket issues are included in the TODO list. 2017-06-17 14:10:37 -06:00
Gregory Nutt
46f86982ee Update TODO list 2017-06-14 08:39:26 -06:00
Gregory Nutt
e4b145b9a9 Upate TODO list 2017-05-31 11:17:11 -06:00
Gregory Nutt
d9bd5ca05f Update README and some C comments 2017-05-30 09:19:04 -06:00
Gregory Nutt
38ae28e978 MCP2515: Changes from review of last PR 2017-05-23 12:22:49 -06:00
Gregory Nutt
b59f583171 Update TODO list 2017-05-23 10:29:53 -06:00
Gregory Nutt
49a70079c1 Update TODO list 2017-05-18 09:51:36 -06:00
Gregory Nutt
0fc068cc9c syslog: Avoid flushing syslog_stream buffer, if possible, until lib_vsprintf() completely parses the format. This assures that the flush will flush the entire output, even data that may potentially follow the linefeed. And, in that case, it cannot be interleaved with other devug output. Suggested by Jussi Kivilinna. 2017-05-12 06:58:33 -06:00
Gregory Nutt
0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Gregory Nutt
a98cdc7a45 Add STM32F0 USB device header file; Update TODO list. 2017-04-20 09:31:12 -06:00
Gregory Nutt
db54821287 Update TODO list 2017-04-15 12:11:00 -06:00
Gregory Nutt
0652cbfd12 Update TODO list and README files. 2017-04-15 07:40:14 -06:00
Gregory Nutt
d9b1b3f824 Update TODO list 2017-04-12 07:28:11 -06:00
Gregory Nutt
6935d44405 Update TODO list 2017-04-10 09:58:34 -06:00
Gregory Nutt
34c5e1c18f Minor cleanup from recent changes. 2017-03-26 14:04:07 -06:00
Gregory Nutt
363403fb1f pthreads: Add more robustness characteristics: pthread_mutex_lock() and trylock() will now return EOWNERDEAD if the mutex is locked by a thread that no longer exists. Add pthread_mutex_consistent() to recover from this situation. 2017-03-26 10:35:23 -06:00
Gregory Nutt
e1039128a4 Update TODO 2017-03-14 13:05:06 -06:00
Gregory Nutt
939ea7461b Trivial update to TODO 2017-03-12 12:37:13 -06:00
Gregory Nutt
e2a554d0f5 Update ChangeLog in prep for 7.20 release. 2017-03-08 10:09:48 -06:00
Gregory Nutt
c976a66f8d net/drivers/skeleton.c: Back out serialization changes of the last commit. They are not necessary in the skeleton.c example because the calls to net_lock() at the beginning of each worker function will enforce serialization. 2017-03-04 11:33:36 -06:00
Gregory Nutt
e2eb5f1ae0 drivers/net: Add framework for serialization in the case where multiple low-priority work queues are used. 2017-03-04 09:45:09 -06:00
Gregory Nutt
04c9ccdd2d Update TODO list and some Kconfig comments. 2017-03-03 09:20:25 -06:00
Gregory Nutt
d83422a00d Update README.txt 2017-02-23 10:57:21 -06:00
Gregory Nutt
bae367c7c4 fstat(): Rethink procfs fstat(). If write method is supported, then should report file s writeable. 2017-02-15 09:32:42 -06:00
Gregory Nutt
6bcace62a8 Update some C++ header files 2017-02-14 07:48:54 -06:00
Gregory Nutt
68053f88e5 Update READMEs and TODO list 2017-02-14 06:18:18 -06:00
Gregory Nutt
0b72903049 Update TODO List 2017-02-13 12:05:33 -06:00
Gregory Nutt
9a3af1a3e0 Update TODO list 2017-02-12 12:10:46 -06:00
Gregory Nutt
62a1f6f110 up_timer_initialize() is named incorrectly. The prefix should be the architecture name, not up_ since it is private to the architecture. up_timerisr() is similarly misnamed and should also be private since it is used only with the xyz_timerisr.c files. Also updat TODO list. 2017-02-07 10:35:04 -06:00
Gregory Nutt
2d9668fbd2 Fix a typo in a comment 2017-01-12 16:24:41 -06:00
Gregory Nutt
4ca27e06a7 Update TODO list 2017-01-12 08:04:27 -06:00
Gregory Nutt
bc595aeec8 Update TODO list and a README file. 2017-01-07 14:00:39 -06:00
Gregory Nutt
07d8474a49 Update TODO list 2017-01-06 15:38:59 -06:00
Gregory Nutt
ecb5096065 Update TODO list 2017-01-06 11:58:49 -06:00
Gregory Nutt
8f76bacc55 Add hyprlinks to a document 2016-12-12 08:18:38 -06:00
Gregory Nutt
baaa5f7cb8 Update TODO list 2016-12-11 07:50:05 -06:00
Gregory Nutt
d648f9c8b4 Add task_testcancel() 2016-12-10 16:34:14 -06:00
Gregory Nutt
1b2135a90a Add pthread_setcanceltype() and pthread_testcancel() as system calls. 2016-12-10 07:12:11 -06:00
Gregory Nutt
a0f567f4a3 Update TODO, cosmetic changes, spelling -- US English spells it canceled and canceling vs cancelled and cancelling. No idea why. 2016-12-09 18:39:40 -06:00
Gregory Nutt
559a027229 Update TODO list 2016-12-09 17:39:01 -06:00
Gregory Nutt
7fce8022c6 Finishes all cancellation point logic 2016-12-09 16:50:34 -06:00
Gregory Nutt
d20265164e Update TODO list 2016-12-09 12:13:52 -06:00
Gregory Nutt
a692a4cc46 Update TODO again 2016-12-08 13:34:18 -06:00
Gregory Nutt
2a2926473c Update TODO list 2016-12-08 12:30:10 -06:00