Commit Graph

236 Commits

Author SHA1 Message Date
Gregory Nutt
f132960789 Add task_setcanceltype() 2016-12-10 16:06:14 -06:00
Gregory Nutt
5fb207eb36 Add task_setcancelstate() 2016-12-10 15:16:46 -06:00
Gregory Nutt
e62b3bccd3 pthread_setcanceltype() and pthread_testcancel() do not have to be system calls if cancellation points are not enabled. 2016-12-10 07:40:48 -06:00
Gregory Nutt
1b2135a90a Add pthread_setcanceltype() and pthread_testcancel() as system calls. 2016-12-10 07:12:11 -06:00
Gregory Nutt
a1fbc2ad0d pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop() 2016-12-08 09:27:13 -06:00
Gregory Nutt
73fc186beb sem_setprotocol: Handle a case of missing proxy for sem_setprotocol. Reorder so that (1) this error is avoided, and (2) >No proxy is needed if priority inheritance is not enabled. 2016-11-03 18:51:38 -06:00
Gregory Nutt
4c8ec0d2ca include/nuttx/semaphore.h: Fix broken macros 2016-11-03 12:49:44 -06:00
Gregory Nutt
d5b4d848d3 Move protoypes for the non-standard include/semaphore.h file to the non-standard include/nuttx/semaphore.h with the other non-standard semaphore interfaces. 2016-11-02 14:43:03 -06:00
Gregory Nutt
b738a646ad sem_getprotocol() can be in C library 2016-11-02 09:29:16 -06:00
Gregory Nutt
92d3022411 Add pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol. These may use to enable or disable priority inheritance on a single semaphore. 2016-11-02 09:05:18 -06:00
Gregory Nutt
309480d0f9 Merge branch 'timekeeping' of bitbucket.org:nuttx/nuttx 2016-07-28 09:34:00 -06:00
Gregory Nutt
4b4dbc79a2 Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h 2016-07-20 13:15:37 -06:00
Gregory Nutt
e73e82a923 Move prototypes of mkfifo2() from sys/stat.h and pipe2() from unistd.h. They are non-standard and should not be in such a public place. They are not in include/nuttx/fs/fs.h (which isn't a great place either). 2016-07-20 11:57:18 -06:00
Gregory Nutt
b28fa8a609 Move pipe() and mkpipe() to nuttx/libc. Change syscalls to pipe2() and mkfifo2() 2016-07-19 14:15:26 -06:00
Gregory Nutt
246773faa7 Rename CONFIG_SCHED_TIMEKEEPING to CONFIG_CLOCK_TIMEKEEPING. That is a better compartmentalized name. 2016-07-11 06:54:02 -06:00
Gregory Nutt
f47b69e1f0 Add support for adjtime system call 2016-07-10 16:55:32 -06:00
Gregory Nutt
c373b45b21 _vsyslog PROXY: Wrong header file 2016-06-21 16:53:54 -06:00
Gregory Nutt
505ca542e8 Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly 2016-06-20 16:11:50 -06:00
Gregory Nutt
7dd66a4620 Need to pass va_list as a reference to vsyslog. This is because va_list is a structure in some compilers and passing of structures in the NuttX sycalls does not work. 2016-06-19 14:50:00 -06:00
Gregory Nutt
34f776dce9 Move the OS intensive part of vsyslog and vlowsyslog to drivers/syslog/vsyslog.c and vlowsyslog.c. Also move lib_syslogstrem to drivers/syslog/syslogstream.c 2016-06-19 07:56:24 -06:00
Gregory Nutt
f5e5908a70 vsyslog is now a system call 2016-06-19 07:03:44 -06:00
Gregory Nutt
5a590e99b9 Add SYSCALLS for pthread_setaffinity() and pthread_getaffinity() 2016-02-19 18:13:06 -06:00
Gregory Nutt
032ad1b70b Remove clock_systimer32 and clock_systimer64. There is now only clock_systimer 2016-01-21 16:49:24 -06:00
Gregory Nutt
f348e68069 Update to use 64-bit timer when available 2016-01-21 11:54:26 -06:00
Gregory Nutt
435d7597cf sycalls: Fix some missing quotes in the syscall CSV file 2015-12-15 17:49:07 -06:00
Gregory Nutt
3beff9568e Module: Fix up system calls for changes to insmod prototype 2015-12-13 08:12:28 -06:00
Gregory Nutt
795ddd7e80 OS modules: Add basic procfs support. A module registry that will eventually be used to support lsmod 2015-12-12 17:42:25 -06:00
Gregory Nutt
303123deb9 Add syscall support for insmod and rmmod 2015-12-12 11:11:09 -06:00
Pavel Pisa
9ab3f03153 Define some symbol export conditions, correct errno and add sleep and usleep. From Pavel Pisa 2015-08-23 09:05:40 -06:00
Gregory Nutt
ed004be6d0 Clean up some syscall logic that has changed due to revised netdb configuration 2015-07-10 15:41:20 -06:00
Gregory Nutt
c19fd13291 gethostname() should not be the system call, uname() should and gethostname should get the host name from uname 2015-07-05 10:41:58 -06:00
Gregory Nutt
f31a96cfbf Add system calls for gethostname and sethostname 2015-07-05 08:42:32 -06:00
Gregory Nutt
d8db596b3b POSIX message queues: Move mq_setattr() and mq_getattr() from nuttx/libc/mqueue to nuttx/sched/mqueue. Also add sysyscall support for mq_setattr() and mq_getattr(). This is necessary in protected and kernel builds because in those cases the message queue structure is protect and cannot be accessed directly from user mode code. Noted by Jouko Holopainen. 2015-06-03 09:24:17 -06:00
Gregory Nutt
ca29c652c3 Remove duplicate prototype of statfs from stdio.h. Belongs in sys/statfs.h only. Note by Michael Hope 2015-05-12 07:00:11 -06:00
Gregory Nutt
162f1d5ee2 Last changes to message queue prototypes did not make it into call gate logic. 2015-04-09 10:37:45 -06:00
Gregory Nutt
b4b40d338a boardctl(): Add a new non-standard OS interface. This is similar to a driver IOCTL call. But this is an IOCTL call directly on the board logic. This function will eventually replace all of the ad hoc OS interfaces that are current used to perform application specific intialiation and application driver test confifuration. It essentially formalizes and institutionalizes these rogue interface in to at least a single crazy call. 2015-03-31 11:25:52 -06:00
Gregory Nutt
f932b26db1 Add umount2(). umount() is now a macro that just calls umount2() with flags = 0. 2015-03-14 16:48:45 -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
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
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
5201acb71c Add system calls for AIO kernel functions 2014-10-05 15:59:02 -06:00
Gregory Nutt
032fbb7ace Add pread(0 and pwrite() system calls 2014-10-04 07:31:45 -06:00
Gregory Nutt
242b34cf46 Create a build structure that will (eventually) support using the VFS to manage named semaphores 2014-09-28 12:19:01 -06:00
Gregory Nutt
29075cf666 Add system calls for shared memory interfaces 2014-09-22 15:24:09 -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
31824f5b53 execl() is not a system interface. It belongs in libc and should not have a system call associated with it. 2014-09-15 10:17:04 -06:00
Gregory Nutt
282fe4aa10 exevc, execvl, posix_spawn, and posix_spawnp were not properly integrated as system calls. 2014-09-12 12:47:20 -06:00
Gregory Nutt
8f895baa9e pthread prototype changes must be reflected in system calls as well 2014-09-08 06:45:04 -06:00
Gregory Nutt
8b082a167b Add SYSCALL support for pgalloc() 2014-09-02 08:29:44 -06:00
Gregory Nutt
2029236ed0 Back out and replace recent kludges for errno and clock_systimer. There is a cleaner way 2014-08-30 14:26:56 -06:00
Gregory Nutt
a5cfd5deba clock_systimer needs the same fix as fore get/set_errno when used with system calls 2014-08-30 13:26:45 -06:00
Gregory Nutt
0c7e97658e Yet more issues with errno access via syscalls fixed 2014-08-30 08:43:10 -06:00
Gregory Nutt
a2463148fc Can't used task_create() if address environments enabled 2014-08-27 14:19:41 -06:00
Gregory Nutt
caba61999a Remove CONFIG_DISABLE_CLOCK 2014-08-07 12:35:24 -06:00
Gregory Nutt
808ebb18a9 Minor clean-up of typing from last commit 2013-12-29 08:19:02 -06:00
Gregory Nutt
715177d861 Add sem_timedwait to syscalls 2013-12-28 12:04:39 -06:00
Gregory Nutt
7aff059fd0 Move sleep() and usleep() from sched/ to libc/unistd/. These functions now are simple wrappers for nanosleep(). Remove sleep() and usleep() from system calls; add nanosleep() to system calls 2013-12-13 07:57:13 -06:00
Gregory Nutt
41f0c86cad Optimized sendfile() from Max Holtzberg 2013-09-28 14:47:49 -06:00
Gregory Nutt
113a696f31 Fix compile errors when the on_exit() interface is enabled in the kernel build. From Ken Pettit 2013-05-17 11:21:29 -06:00
Gregory Nutt
86b815373a Remove up_assert_code 2013-04-25 15:19:59 -06:00
patacongo
466efbd35c Fix some bad syscall dispatching log. This change is not testable until these is a tested NuttX kernel build.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5713 42af7a65-404d-4744-a932-0658087f49c3
2013-03-06 19:56:32 +00:00
patacongo
6feabf0fee Implement user-mode work queues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5712 42af7a65-404d-4744-a932-0658087f49c3
2013-03-06 00:02:07 +00:00
patacongo
b48009644f Rename _TCB to struct tcb_s
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5610 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 18:46:28 +00:00
patacongo
329328e5df New interface task_spawn(); exec_builtin() now uses task_spawn(); All argv types should be char * const * not const char **
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5598 42af7a65-404d-4744-a932-0658087f49c3
2013-02-02 19:31:30 +00:00
patacongo
3888a00d2d Add internal API task_reparent(), used in posix_spawn(). Move libc/spawn/lib_ps.c to sched/task_posixspawn.c; Move libc/spawn/spawn.h to include/nuttx/spawn.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5531 42af7a65-404d-4744-a932-0658087f49c3
2013-01-18 01:52:42 +00:00
patacongo
c18b47aafb More patches/bugfixes from Kate
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5056 42af7a65-404d-4744-a932-0658087f49c3
2012-08-26 23:29:37 +00:00
patacongo
56580875ab atexit() and on_exit() may now be configured to support multiple exit callbacks
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4995 42af7a65-404d-4744-a932-0658087f49c3
2012-08-01 17:47:54 +00:00
patacongo
97301a8aed Add interfaces to support getting/setting of thread/task names
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4658 42af7a65-404d-4744-a932-0658087f49c3
2012-04-26 15:00:35 +00:00
patacongo
2fe4ad52f8 Move file-system header files to include/nuttx/fs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4499 42af7a65-404d-4744-a932-0658087f49c3
2012-03-21 18:01:07 +00:00
patacongo
93be5f368b THTTPD works on LPCXpresso
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3514 42af7a65-404d-4744-a932-0658087f49c3
2011-04-16 15:43:39 +00:00
patacongo
32e6941ed7 Add time and uptime
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3506 42af7a65-404d-4744-a932-0658087f49c3
2011-04-15 14:57:53 +00:00
patacongo
10538a3f2e Macro clock_systimer replaces direct access to g_system_timer variable
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3500 42af7a65-404d-4744-a932-0658087f49c3
2011-04-13 21:44:24 +00:00
patacongo
c80fb6cbcf LPCXpression console on UART3
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3497 42af7a65-404d-4744-a932-0658087f49c3
2011-04-13 03:12:51 +00:00
patacongo
12afb230bf Fixes for kernel stub builds
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3473 42af7a65-404d-4744-a932-0658087f49c3
2011-04-06 16:40:47 +00:00
patacongo
a96fdc3a21 Progress toward kernel build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3465 42af7a65-404d-4744-a932-0658087f49c3
2011-04-05 01:46:55 +00:00
patacongo
797df706c1 Add stub lookup logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3462 42af7a65-404d-4744-a932-0658087f49c3
2011-04-04 12:43:35 +00:00
patacongo
80a32c2bb1 Don't define unused system call numbers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3461 42af7a65-404d-4744-a932-0658087f49c3
2011-04-04 02:28:29 +00:00
patacongo
1dd25651bb Kernel build mostly successful
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3454 42af7a65-404d-4744-a932-0658087f49c3
2011-04-02 15:25:22 +00:00
patacongo
46314eb2a9 Move more functions out of sched/ to lib/; proxies almost build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3453 42af7a65-404d-4744-a932-0658087f49c3
2011-04-02 01:23:08 +00:00
patacongo
2aab150a39 Add conditional compilation to syscall autogeneration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3452 42af7a65-404d-4744-a932-0658087f49c3
2011-04-01 23:07:51 +00:00
patacongo
61300c7ae2 Stubs are working/Proxies are close
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3451 42af7a65-404d-4744-a932-0658087f49c3
2011-04-01 21:36:17 +00:00
patacongo
db0f306719 Add mksyscall tool
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3446 42af7a65-404d-4744-a932-0658087f49c3
2011-03-31 04:23:17 +00:00
patacongo
a521443817 Move more files into subdirectories under lib/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3445 42af7a65-404d-4744-a932-0658087f49c3
2011-03-31 01:42:50 +00:00
patacongo
21ae727f6f Add syscall directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3438 42af7a65-404d-4744-a932-0658087f49c3
2011-03-30 02:59:01 +00:00