Commit Graph

340 Commits

Author SHA1 Message Date
Gregory Nutt
63ac1ec423 Cosmetic updates to comments 2015-02-12 13:44:22 -06:00
Gregory Nutt
b6e399cc65 Update ChangeLog 2015-02-12 11:17:23 -06:00
Gregory Nutt
147042218b gettimeofday() and settimeofday(): Move gittimeofdady() from sched/clock to libc/time. All remove gettimeofday() from NuttX system calls. It is only a wrapper around clock_settime() and does not need a trap. gettimeofday() is no longer tried as a core OS interface.
gettimeofday has been decremented in POSIX 2008.  settimeofday() was never part of POSIX, but I decided to add it to libc as well just for symmetry.
2015-02-12 11:10:46 -06:00
Gregory Nutt
62aee62c3a Some extensions to netinet/in.h adding some Linux compatible defintions. From Macs N. 2015-02-11 06:35:34 -06:00
Gregory Nutt
7c22824981 Oop.. forgot a semicolon in a preceding commit 2015-02-09 11:16:01 -06:00
Gregory Nutt
26e1327462 execl(): Fix bad logic in counting the number of arguments. This could never have worked. Noted by Pierre-noel Bouteville 2015-02-09 08:53:00 -06:00
Gregory Nutt
6bc9a0c9c6 Fix backward calculation in the work queue timing. From Liio Chen via the PX4 repository 2015-01-27 06:17:02 -06:00
Gregory Nutt
b12cf6d2f5 Add math library support for trunc functions. From Brennan Ashton. 2015-01-26 19:00:35 -06:00
Gregory Nutt
0a11f9b669 Cosmetic 2015-01-26 18:55:17 -06:00
Gregory Nutt
06337a4f7a Add math library support for copysign. From Brennan Ashton 2015-01-26 18:52:28 -06:00
Gregory Nutt
7e177e1c12 Add error function to math library. From Brennan Ashton. 2015-01-26 13:58:47 -06:00
Gregory Nutt
e153959eea Add support for inverse hyperbolic functions. From Brennan Ashton 2015-01-26 13:52:53 -06:00
Gregory Nutt
5a441ce03b Networking: Misck IPv6 detanglement 2015-01-15 12:19:44 -06:00
Gregory Nutt
40b0acaded sscanf should also support %F 2014-12-12 07:54:37 -06:00
Gregory Nutt
1b661c6d23 sscanf: Accept %X as well as %x as a format specifier. From Sébastien Lorquet 2014-12-12 07:46:46 -06:00
Gregory Nutt
1c569b85f8 Cosmetic change to force compliance with coding standard 2014-12-12 07:14:16 -06:00
Gregory Nutt
554f56b99d strncpy: Commit d0c76ccacf0dc8988f9617ad82bf4349f456bb08 will trash a lot of memory if n == 0. From Hiro 2014-12-11 06:21:23 -06:00
Gregory Nutt
69cb752813 Add CRC8 support. From Ken Pettit 2014-12-09 13:27:22 -06:00
Gregory Nutt
297a255fd8 avsprintf(): Fix a bug in usage of va_list on x86. On x86, va_list is a pointer to a single copy on the stack. avsprintf() calls lib_vsprintf() twice and so traverses the va_list twice using va_start. va_start modifies that single copy on the stack so that the second call to lib_vsprintf() fails. This appears to be an issue with x86 only so far 2014-12-08 10:40:06 -06:00
Gregory Nutt
91e22aeedd Traveler: Change the way that the world path is managed. 2014-12-08 09:28:53 -06:00
Gregory Nutt
7ad7163bd3 Updated comments 2014-11-29 17:39:40 -06:00
Gregory Nutt
4657f5c870 Update some Documentation and comments associated with the last ioctl change 2014-11-29 13:25:29 -06:00
Gregory Nutt
1a22ede31c Add some comments 2014-11-29 10:59:41 -06:00
Gregory Nutt
e31d5125ae Add support for a variadic ioctl() function. The ioctl() interface is a non-standard, Unix interface. NuttX has always used the older, three-parameter version. Most contemporary systems now, however, use a variadic form of the ioctl() function. Added an option to insert a shim layer to adapt the three-parameter ioctl() to use the variadic interface form. Internally, the ioctl handling is the same three-parameter logic. The only real complexity to the shim is in how the system calls must be handled. 2014-11-29 10:53:22 -06:00
Gregory Nutt
d1cdf9b497 Another fix misthink in big cppcheck changed 2014-11-25 17:22:52 -06:00
Gregory Nutt
1aa528a572 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 14:10:35 -06:00
Gregory Nutt
9ac09db800 More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs. 2014-11-25 13:46:14 -06:00
Gregory Nutt
838f2053e4 Fix some compile errors introduce in last commits 2014-11-13 07:44:45 -06:00
Gregory Nutt
2a0549865f execl(): Don't allocate or free and argv[] list if there are not arguments 2014-11-13 06:35:20 -06:00
Gregory Nutt
597999400e execl() no longer depends on CONFIG_MAX_TASK_ARGS 2014-11-12 18:44:11 -06:00
Gregory Nutt
639641dc04 The definition of strncpy() is that empty space should be zero-filled, the patch adds the zero filling (I didn’t know this, see e.g. the POSIX spec here: http://pubs.opengroup.org/onlinepubs/7908799/xsh/strncpy.html). From Lorenz Meier. 2014-11-12 07:36:15 -06:00
Gregory Nutt
c23b7ec93d From Lorenz Meier: The implementation of access() as vararg macro has the issue that any function call with the same name (even in a C++ class) will match with it and result in a compile error. I have replaced it with a small function, and tried to have decent documentation as well. This resolves the compile issue, and shouldn’t have negative side effects for users of the function. 2014-11-11 11:52:24 -06:00
Gregory Nutt
fe7bdb284e EFM32: Fix issues associated with SPI bi order. From Pierre 2014-11-09 08:21:38 -06:00
Gregory Nutt
ee22104762 Can't use formal parameter name 'template' in stdlib.h. Causes C++ compilation errors. Noted by Lorenz Meier 2014-11-06 07:00:23 -06:00
Gregory Nutt
48888ad65b Add tmpnam() and tempnam() 2014-11-05 10:44:16 -06:00
Gregory Nutt
787cd466d2 Add tmpnam() and tempnam() 2014-11-05 10:43:17 -06:00
Gregory Nutt
d13731711f Add mktemp() and mkstemp() 2014-11-05 09:39:18 -06:00
Gregory Nutt
e6c2a36bbe Add optional timestamp to syslog output. From pn_bouteville@yahoo.fr 2014-11-01 09:17:34 -06:00
Gregory Nutt
87ee3f2fc7 SAM3/4: Fix error serial TERMIOS ioctl handling 2014-10-30 12:23:15 -06:00
Gregory Nutt
6bbfb2b7ca Add isatty() function. From Alan Carvalho de Assis 2014-10-27 12:29:15 -06:00
Gregory Nutt
179fabb019 Add description of work queues to the porting guide. Update comments 2014-10-14 10:21:18 -06:00
Gregory Nutt
740c5c4b7a Fix error in protected build, user-mode work queue 2014-10-12 09:40:26 -06:00
Gregory Nutt
0c1c37bae2 Fix some compiler errors in user-work queue configuration that crept in the last bunch of commits 2014-10-11 16:27:24 -06:00
Gregory Nutt
b78fe7c270 Rename CONFIG_SCHED_USRWORK to CONFIG_LIB_USRWORK 2014-10-11 15:59:40 -06:00
Gregory Nutt
9292e3d9de Decouple the user-space work queue from the kernel space work queues 2014-10-11 15:50:22 -06:00
Gregory Nutt
bb1d91bd83 Make building of low-priority work queue independent of also building the high-priority work queue 2014-10-11 14:43:24 -06:00
Gregory Nutt
743abd7155 Add Kconfig support to select the number of low-priority worker thread 2014-10-10 16:38:19 -06:00
Gregory Nutt
4a4b3ac537 Add support for multiple low-priority worker threads 2014-10-10 16:24:50 -06:00
Gregory Nutt
cf59a195ba User-mode work queue logic should not disable interrupts 2014-10-10 14:52:04 -06:00
Gregory Nutt
16a3e83258 Add support for delays of different durations in work queue processing 2014-10-10 13:21:37 -06:00
Gregory Nutt
75e7a4dbfc Minor changes to work queue timing logic 2014-10-10 12:27:11 -06:00
Gregory Nutt
b2cebaa9d4 Modularize starting of worker threads to better isolate individual initialization characteristics 2014-10-10 09:38:28 -06:00
Gregory Nutt
1afc9773ac Decoupling work queue data structures. This is part of the preparation to support multiple low-priority worker threads 2014-10-10 08:35:58 -06:00
Gregory Nutt
6220256a09 Repartition work queue code. Move kernel-specific parts from libc/wqueue to sched/wqueue 2014-10-10 06:22:51 -06:00
Gregory Nutt
c2933b92e3 libc/aio/aio.h is empty, but add some protection anyway in case it is ever used in the future 2014-10-09 10:52:53 -06:00
Gregory Nutt
02444cfb2c Update comments and function headers 2014-10-09 07:38:38 -06:00
Gregory Nutt
5815201cc2 Move syslog back to libc/syslog from fs/syslog 2014-10-09 07:08:36 -06:00
Gregory Nutt
d2c8e13ed5 Backing out some logic: Remove syslog functions from syscalls 2014-10-09 06:58:23 -06:00
Gregory Nutt
bbc658930a Passing va_list in syscall does not work. Temporarily moved syslog and lowsyslog into kernel code and access via a system call. Need to revisit. Will probably need to move all of syslog back from fs/syslog to libc/syslog 2014-10-08 20:12:52 -06:00
Gregory Nutt
323084f32f Add syslog system calls 2014-10-08 19:37:10 -06:00
Gregory Nutt
ec57ab6391 Implement setlogmask(); move some syslog logic from libc/syslog to fs/syslog 2014-10-08 19:08:26 -06:00
Gregory Nutt
a8399d5c6b Move syslog logic from libc/misc and libc/stdio to libc/syslog 2014-10-08 17:16:41 -06:00
Gregory Nutt
176491ce75 Misc changes to get a clean build after all of the syslog changes. There are probably other things still broken 2014-10-08 16:23:48 -06:00
Gregory Nutt
f8ed7323c0 make standard syslog and vsyslog POSIX compliant (also modify non-standard syslog functions for compatibility). This will break a lot of things until ALL usage of syslog is updated to use the modified interfaces 2014-10-08 09:44:15 -06:00
Gregory Nutt
7f36c4e97b Update some Kconfig comments; Add a upper limit on the lower priority worker thread for priority inheritance 2014-10-07 17:11:26 -06:00
Gregory Nutt
d7843c8e24 Add support for priority inheritance on the low priority worker queue 2014-10-07 07:41:52 -06:00
Gregory Nutt
03b0dc12c7 Add AIO interfaces to libc.csv 2014-10-06 19:15:10 -06:00
Gregory Nutt
7cbe29e7db Fix compile problems with debug on 2014-10-06 12:28:37 -06:00
Gregory Nutt
39c26d4cd4 Fix a typo 2014-10-06 08:11:03 -06:00
Gregory Nutt
652d3ed29d Rename CONFIG_LIBC_AIO to CONFIG_FS_AIO since it is now an OS property 2014-10-05 15:44:43 -06:00
Gregory Nutt
f73a18ae39 Move all file operations from libc/aio to fs/aio. These will need to be kernel routines in order to handler issues with using file descriptors on worker thread 2014-10-05 15:33:31 -06:00
Gregory Nutt
f34127823a First round of changes fo AIO integration 2014-10-05 13:57:55 -06:00
Gregory Nutt
33b1f59ee8 Most paranoid changes to assure the state of things 2014-10-05 12:34:22 -06:00
Gregory Nutt
9a1b011178 Initiail implementation of lio_listio() and rethinking of signal logic 2014-10-05 11:43:42 -06:00
Gregory Nutt
eeaae40d0c Initial implementation of aio_fsync() 2014-10-05 08:53:13 -06:00
Gregory Nutt
a4861c7cb7 Iniial implementatin of aio_cancel() 2014-10-05 08:22:39 -06:00
Gregory Nutt
8d03c3f906 Initial implementation of aio_suspend() 2014-10-05 07:11:11 -06:00
Gregory Nutt
c7c62d5b2c Move AIO signal logic to a common location in aio_signal.c. Also fix several typos 2014-10-05 06:55:17 -06:00
Gregory Nutt
c274acc48f Move AIO signal logic to a common location in aio_signal.c. Also fix several typos 2014-10-05 06:53:56 -06:00
Gregory Nutt
0c241ace72 Add initial implementatin of aio_return() and aio_error() 2014-10-04 18:17:54 -06:00
Gregory Nutt
3bef2b7a43 Update TODO list and comments in aio files 2014-10-04 17:47:54 -06:00
Gregory Nutt
e8cef249cc Initial implementation of aio_write() 2014-10-04 17:30:24 -06:00
Gregory Nutt
fa28c51c75 Fleshes out aio_read implementation 2014-10-04 14:44:57 -06:00
Gregory Nutt
9e8a4dd229 Add skeleton file for eventual implementation of aio_read() 2014-10-04 14:22:00 -06:00
Gregory Nutt
1f897daa27 Add empty skeleton file where lio_listio() will eventually be implemented 2014-10-04 11:23:17 -06:00
Gregory Nutt
11c2619838 Add a build structue to support asynchronous I/O 2014-10-04 10:31:11 -06:00
Gregory Nutt
92cc7a96e6 Change to lib_dtoa() to fix prescision error from trailing zeroes 2014-09-26 05:49:50 -06:00
Gregory Nutt
5e285b8bc4 More NxWM build fixes 2014-09-20 16:47:00 -06:00
Gregory Nutt
925fc9ad81 First round of changes to get the ELF configuration building again 2014-09-16 15:37:05 -06:00
Gregory Nutt
abb60c9c2f Fix some backward conditional compilation 2014-09-15 16:23:31 -06:00
Gregory Nutt
398f7b594f execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic 2014-09-15 10:15:47 -06:00
Gregory Nutt
da7a440b35 execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic 2014-09-15 10:15:19 -06:00
Gregory Nutt
b255883b0a Rename everything associated with the dynamic process stack to ustack to make room in the name space for a kstack 2014-09-14 09:10:09 -06:00
Gregory Nutt
e12213592b Don't build task_create() or task_spawn() interfaces if there is an addres environment 2014-09-14 08:22:21 -06:00
Gregory Nutt
1f3db86106 Fix one more dependency upon having a symbol table 2014-09-12 13:03:10 -06:00
Gregory Nutt
8f30804e05 Having a symbol table is an option. There are no symbol tables with CONFIG_BUILD_KERNEL, for example. 2014-09-12 12:48:22 -06:00
Gregory Nutt
6295203a82 Cosmetic changes 2014-09-12 12:44:03 -06:00
Gregory Nutt
ba7d5acf94 Fix a couple more places where the wrong allocator is being used 2014-09-11 15:56:04 -06:00
Gregory Nutt
fc35e35165 When a privileged thread exits, we have to use the kernel alloctor to free memory; when an unprivileged thread exits, we don't have to do anything... heap memory will be cleaned up when the address environment is torn down 2014-09-11 09:00:10 -06:00
Gregory Nutt
44499ed46c Rename some functions and reshuffling some paramters 2014-09-11 08:37:06 -06:00