Commit Graph

322 Commits

Author SHA1 Message Date
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
Gregory Nutt
28ad8e7cfd Change commenting style to agree with coding standard 2014-09-08 08:02:37 -06:00
Gregory Nutt
9d03879c8b Correct atan2 implementations from Denis Arnst 2014-09-08 07:55:09 -06:00
Gregory Nutt
e953fb11cd A const storage class to to phthread parameters. From Freddie Chopin 2014-09-08 06:21:48 -06:00
Gregory Nutt
1822b86373 Fix some conditional compilation in kernel build mode. And, while we are touching this logic, make g_default_pthread_attr const. 2014-09-07 10:46:58 -06:00
Gregory Nutt
47d55c28dc Mostly cosmetic changes 2014-09-04 10:28:38 -06:00
Gregory Nutt
23147c40a5 Remove final traces of the 8015 from the NuttX source tree 2014-09-01 13:21:15 -06:00
Gregory Nutt
54fa3b0b59 Rename kfree to kmm_free for consistency with other naming conventions 2014-08-31 17:04:02 -06:00
Gregory Nutt
9aca0c1c84 Rename kumalloc to kumm_malloc and kuzalloc to kumm_zalloc for consistency with other naming 2014-08-31 16:24:24 -06:00
Gregory Nutt
9ad7dae4c1 Rename kufree to kumm_free for consistency with other naming 2014-08-31 16:15:11 -06:00
Gregory Nutt
9cd1ddada4 Rename kmemalign to kmm_memalign and krealloc to kmm_realooc for consistency with other naming 2014-08-31 15:27:37 -06:00
Gregory Nutt
e3ff0689bb Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL 2014-08-29 14:47:22 -06:00
Gregory Nutt
a325cb9f0d sscanf(): NuttX libc tried to guess how many characters to parse, extracted them into a buffer, then ran strtol() on that buffer. That guess is often wrong. A better approach would be to call strtol() directly on the input data, using the endptr return value to determine how many characters to skip after parsing. From Kosma Moczek 2014-08-18 07:33:17 -06:00
Gregory Nutt
8428a58bdc Add support for an ioctl that can be used to notify an application when there is a change in the network status signalled by a PHY interrupt 2014-08-16 12:56:02 -06:00
Gregory Nutt
f60ff46646 Remove libc/time/tzfile.h; content moved inside of libc/time/lib_localtime.c 2014-08-15 15:59:57 -06:00
Gregory Nutt
96bc77fb93 libc/time/lib_localtime.c is much closer to NuttX coding style. libc/time/private.h removed; incorporated into lib_localtime.c 2014-08-15 15:38:37 -06:00
Gregory Nutt
318270d849 Fix warning caused by change in mktime prototype 2014-08-12 13:50:08 -06:00
Gregory Nutt
7025465109 Adds support for localtime. From Max Neklyudov 2014-08-12 06:18:22 -06:00
Gregory Nutt
e4ab3198e1 Slightly improved nanosecond calculation 2014-08-10 13:11:52 -06:00