Commit Graph

261 Commits

Author SHA1 Message Date
christos 1ec743232e kernel portion of clock_nanosleep() 2012-10-02 01:44:27 +00:00
christos 7bee3146e4 Add {send,recv}mmsg from Linux 2012-06-22 18:26:35 +00:00
christos fae991ec2f Add a new type of syscall "EXTERN" which is meant for modules that live
outside the tree (in pkgsrc). Use it to define afssys (210) which has
been reserved for years, and make it autoload the "openafs" module.
2012-05-05 19:37:37 +00:00
joerg 3bd1fd2afe Add entry for _ksem_timedwait. 2012-03-08 21:55:45 +00:00
matt a9cc3edeb9 Use void * instead of sa_upcall_t for sa_register (since sa_upcall_t is
going away).
2012-02-19 17:50:28 +00:00
matt d1b4215da1 Make SA syscalls as COMPAT_60 2012-02-19 17:22:16 +00:00
rmind 510eed8079 Make SA calls obsolete (use stubs in kern case, as libc needs them for now). 2012-02-19 17:08:02 +00:00
martin f8c7c04bbe Add a posix_spawn syscall, as discussed on tech-kern.
Based on the summer of code project by Charles Zhang, heavily reworked
later by me - all bugs are likely mine.
Ok: core, releng.
2012-02-11 23:16:15 +00:00
dholland 59b296daa7 Change the syscall API for quotas over to the new non-proplib one.
- struct vfs_quotactl_args -> struct quotactl_args
   - add sys/stdint.h to sys/quotactl.h for clean userland build
   - install sys/quotactl.h in /usr/include
   - update set lists for same
   - add new marshalling code in libquota
   - add new unmarshalling code in vfs_syscalls.c
   - discard proplib interpreter code in vfs_quotactl.c
   - add dispatching code for the 14 quotactl ops in vfs_quotactl.c
   - mark the proplib quotactl syscall obsolete
   - add a new syscall number for the new quotactl syscall
   - change the name of the syscall to __quotactl()
   - remove the decl of the old quotactl from quota/quotaprop.h
   - add a decl of the new quotactl to sys/quotactl.h
   - update the libc build
   - update ktruss
   - remove proplib marshalling code from libquota
   - update copy of syscall table in gdb ppc sources
   - hack rumphijack to accomodate new quotactl name (as I recall,
     pooka wanted such a name change to simplify something, but I
     don't really see what/how)

This change appears to require a kernel version bump for rumpish
reasons.
2012-02-01 05:34:38 +00:00
manu 5b61306f9b Add futimens(2) and part of utimnsat(2) 2011-08-17 07:22:33 +00:00
manu 9db30be448 First stage of support for Extended API set 2. Most of the think is
unimplemented, except enough of linkat(2) to hardlink to a symlink.

Everything new in headers is guarded #ifdef _INCOMPLETE_XOPEN_C063 since
some software (e.g.: xcvs in our own tree) will assume they can use openat(2)
when AT_FDCWD is defined. _INCOMPLETE_XOPEN_C063 will go away once support
will be completed.
2011-08-08 12:08:52 +00:00
drochner 2ac9241da8 make the data arguments of *setxattr(2) const, as in Linux
(is this an official NetBSD API or should it be COMPAT_LINUX only?)
2011-07-18 11:28:24 +00:00
christos 7823fd0964 - syscalls that takes socklen_t arguments should do so.
- add pipe2, dup3, paccept, kqueue1
2011-06-26 17:05:24 +00:00
pooka 41f5ebb8ea actually, revert previous for now. quotactl doesn't play with the
same rules as all the other compat functions.
2011-03-09 22:12:45 +00:00
pooka bd56cf8b76 mark old quotactl rump too 2011-03-09 21:52:31 +00:00
bouyer 063f96f3c2 merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
2011-03-06 17:08:10 +00:00
pooka 0aac2843ad Add syscall type NOERR which signals that a system call is STD but
does not return an errno the usual way.  The main use case is to
fix the posix_fadvise() rump stub (yes, posix_fadvise is a bit
special... bologna).

The list of NOERR syscalls currently matches the libc NOERR list
(and the libc Makefile can in the future be autogenerated from this
info).

Problem spotted by, *shocker*, the automated test runs, specifically
the posix_fadvise test.
2011-02-21 23:20:19 +00:00
pooka ca1f523968 somehow i've missed preadv/pwritev from rump-relevant syscalls 2011-02-21 12:49:06 +00:00
christos cae1901fc3 make syscalls match documentation as far as pid_t goes. 2011-01-31 00:05:29 +00:00
pooka 111bbbce9e Missed pselect50 in previous (file was open in editor ... d0h).
Add mknod50 and fhstat50 too.
2011-01-17 18:24:17 +00:00
pooka 39a698a4f3 Mark a few 5.0 COMPAT syscalls as RUMP now that it's possible 2011-01-17 16:21:40 +00:00
christos 3d70c4b47c implement sigqueueinfo 2011-01-10 04:39:18 +00:00
pooka 0061495240 rump posix_fadvise() 2010-11-11 14:47:41 +00:00
pooka 0d2a7de3b6 getcwd for rump 2010-09-07 17:10:08 +00:00
pooka a50c905497 rump umask 2010-09-06 20:00:09 +00:00
pooka 16e1cb0b60 RUMP syscalls for kern_prot.c interfaces 2010-08-30 10:32:54 +00:00
pooka 13ce287a55 rump stubs for _ksem* 2010-06-10 19:09:03 +00:00
njoly fe0d8c08a5 Rumpify pathconf(2)/fpathconf(2)
ok from pooka@
2010-06-04 16:32:00 +00:00
pooka 593dfe42a8 make get/setrlimit as rump-capable 2010-04-21 16:17:04 +00:00
pooka 773120876e Make lfs syscalls loadable. This nukes fs_lfs.h & #ifdef LFS.
(I don't mind if someone wants to go further and OBSOL them).
2010-03-02 19:34:26 +00:00
pooka 91ac00ac3a pipe +RUMP 2009-11-26 17:20:20 +00:00
pooka 024c040316 modctl +RUMP 2009-11-26 09:00:45 +00:00
pooka 39de73aae0 +fhopen, +fhstatvfs1 RUMP 2009-07-21 23:59:00 +00:00
rmind 7512d1e720 Make POSIX message queues a kernel module. 2009-07-19 02:50:44 +00:00
pooka 6c68c84345 Use argname PAD to signal that an argument is used only for padding
and not part of the C interface.  Use this information for rump
syscalls to generate syscall interfaces without the extra parameter.
2009-05-15 15:51:27 +00:00
pooka 5e0d2571db mark a bunch of syscalls as RUMP 2009-03-28 16:33:40 +00:00
pooka 226a234960 make mount() a rump call 2009-03-19 09:08:35 +00:00
pooka ddf9eb29c5 kqueue and kevent for rump 2009-03-18 17:51:17 +00:00
apb 0cc72e51ac Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
2009-02-13 22:41:00 +00:00
pooka 89fa47c428 Tag a few more socket syscalls with RUMP:
recvmsg, sendmsg, recvfrom, getpeername, getsockname, sendto,
shutdown, socketpair
2009-01-26 12:20:05 +00:00
pooka a9a2ce837b Convert the syscalls.master to a format from which it is easier
to parse and generate the compat name and basename (e.g. __stat50
and stat).  Use this to autogenerate __RENAME()'s to the rump_syscalls
header so that they can be called e.g. rump_sys_socket() instead
of rump_sys___socket30().
2009-01-13 22:27:43 +00:00
christos 87e24cb708 fix lutimes. 2009-01-11 19:40:38 +00:00
christos 461a86f9bd merge christos-time_t 2009-01-11 02:45:45 +00:00
pooka 3c61b47d93 RUMP some syscalls required by nfsd. 2008-11-26 15:01:17 +00:00
pooka b5321c4efc document modular. no functional change. 2008-11-21 07:34:46 +00:00
ad 92ce8c6a3d Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
ad e6a3385171 Make POSIX AIO loadable as a module. 2008-11-14 23:33:45 +00:00
ad 18e73e1ebe Replace semid_t with intptr_t. No function change. This is a libc/kernel
private interface and so the name change should not affect any third
party code.
2008-11-14 15:49:20 +00:00
ad 0b7375c9af Allow the POSIX semaphore code to be loaded as a module. 2008-11-12 14:32:34 +00:00
ad 0efea177e3 Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
2008-11-12 12:35:50 +00:00