summaryrefslogtreecommitdiff
path: root/sys/kern/syscalls.master
AgeCommit message (Collapse)Author
2021-11-01Use "stack_t" instead of "struct sigaltstack", as the former is thethorpej
newer standardized name. NFC.
2021-09-19Add native implementations of eventfd(2) and timerfd(2), compatible withthorpej
the Linux interfaces of the same name.
2020-11-02PR/55777: Ruslan Nikolaev: Make clock_getcpuclockid2 accessible from rumpchristos
2020-08-14New system call getrandom() compatible with Linux and others.riastradh
Three ways to call: getrandom(p, n, 0) Blocks at boot until full entropy. Returns up to n bytes at p; guarantees up to 256 bytes even if interrupted after blocking. getrandom(0,0,0) serves as an entropy barrier: return only after system has full entropy. getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256 bytes even if interrupted. Equivalent to /dev/urandom. Safe only after successful getrandom(...,0), getrandom(...,GRND_RANDOM), or read from /dev/random. getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n bytes at p, but no guarantees about how many -- may return as short as 1 byte. Equivalent to /dev/random. Legacy. Provided only for source compatibility with Linux. Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN without producing any output instead of blocking. - The combination GRND_INSECURE|GRND_NONBLOCK is the same as GRND_INSECURE, since GRND_INSECURE never blocks anyway. - The combinations GRND_INSECURE|GRND_RANDOM and GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail with EINVAL. As proposed on tech-userlevel, tech-crypto, tech-security, and tech-kern, and subsequently adopted by core (minus the getentropy part of the proposal, because other operating systems and participants in the discussion couldn't come to an agreement about getentropy and blocking semantics): https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html
2020-05-16Add ACL support for FFS. From FreeBSD.christos
2020-04-26Due to a collision with another upcoming change, relocate the futex callsthorpej
to the 3 free slots at 166-168.
2020-04-26Add a NetBSD native futex implementation, mostly written by riastradh@.thorpej
Map the COMPAT_LINUX futex calls to the native ones.
2020-04-22Remove _lwp_gettid(2) system call. This problem is going to be solvedthorpej
another way. (Note: this call was never exposed in libc, so we can just recycle the syscall number.)
2020-04-12put back the MODULAR attributes accidentally removed.christos
2020-04-12change ' \t' to '\t'christos
2020-04-12Change STD[:random-whitespace:]RUMP to STD\tRUMPchristos
2020-04-04Add support for lazily generating a "global thread ID" for a LWP. Thisthorpej
identifier uniquely identifies an LWP across the entire system, and will be used in future improvements in user-space synchronization primitives. (Test disabled and libc stub not included intentionally so as to avoid multiple libc version bumps.)
2020-01-21Split the compat_50 module into two, separating the QUOTA-relatedpgoyette
stuff from the rest of the module. This allows loading of the (main) compat_50 module on kernels that don't include ``options QUOTA''. Welcome to 9.99.40 ! Addresses PR kern/54875
2019-09-22Add a new member to struct vfsstat and grow the unused memberschristos
The new member is caled f_mntfromlabel and it is the dkw_wname of the corresponding wedge. This is now used by df -W to display the mountpoint name as NAME=
2019-06-18remove XXX from the quota call.christos
2019-01-27Merge the [pgoyette-compat] branchpgoyette
2018-07-31Add getsockopt2() syscall.rjs
2018-07-12Remove the kernel PMC code. Sent yesterday on tech-kern@.maxv
This change: * Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good. * Removes the PMC code of ARM XSCALE. * Removes all the pmc.h files. They were all empty, except for ARM XSCALE. * Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h. * Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump. * Removes the pmc_evid_t and pmc_ctr_t types. * Removes all the associated man pages. The sets are marked as obsolete.
2018-01-06Revert vadvise(2) removalkamil
This system call was used in legacy Lisp code, that was inherited to modern age and still compiled against supported compat layers (e.g. in clisp, oaklisp, Franz Lisp). It used to instruct the kernel about paging policy (G/C aware, flush etc). Newly compiled code (assuming that it will detect vadvise()) will use the libc stub for vadvise(). The headers for this interface are gone. vadvise(2) could be marked as COMPAT_80, but as long as we support ultrix, sunos or aout68k ABI, don't bother with this. Requested by <mrg>
2017-12-19Drop SYS_vadvisekamil
The (o)vadvise syscall is dummy since the beginning of NetBSD. It is an obsolete remnant from the old UNIX. Sponsored by <The NetBSD Foundation>
2017-12-19Drop SYS_sbrkkamil
sbrk - change data segment size This syscall is dummy since the inception of the project. Sponsored by <The NetBSD Foundation>
2017-12-19Drop the sstk(2) syscall stubkamil
sstk - change stack section size This functionality has never been implemented and is a remnant from 16-bit UNIX. This stub appeared with the first NetBSD commit. Sponsored by <The NetBSD Foundation>
2017-12-08make _lwp_park return the remaining time to sleep in the "ts" argumentchristos
if it is a relative timestamp, as discussed in tech-kern. XXX: pullup-8
2016-11-02* Split sys/kern/sys_process.c into three parts:pgoyette
1 - ptrace(2) syscall for native emulation 2 - common ptrace(2) syscall code (shared with compat_netbsd32) 3 - support routines that are shared with PROCFS and/or KTRACE * Add module glue for #1 and #2. Both modules will be built-in to the kernel if "options PTRACE" is included in the config file (this is the default, defined in sys/conf/std). * Mark the ptrace(2) syscall as modular in syscalls.master (generated files will be committed shortly). * Conditionalize all remaining portions of PTRACE code on a new kernel option PTRACE_HOOKS. XXX Instead of PROCFS depending on 'options PTRACE', we should probably just add a procfs attribute to the sys/kern/sys_process.c file's entry in files.kern, and add PROCFS to the "#if defineds" for process_domem(). It's really confusing to have two different ways of requiring this file.
2016-07-03GSoC 2016 Charles Cui: Implement thread priority protection based on workchristos
by Andy Doran. Also document the get/set pshared thread calls as not implemented, and add a skeleton implementation that is disabled. XXX: document _sched_protect(2).
2016-04-23Add clock_getcpuclockid2(2) as well as CLOCK_{PROCESS,THREAD}_CPUTIME_ID.christos
2016-04-03include <sys/idtype.h>christos
2016-04-02add wait6christos
2015-12-03Merge the compat_sysv module into the sysv_ipc module - it shouldpgoyette
never have been a separate module in the first place (my bad). Adjust dependencies as appropriate.
2015-10-10Correctly mark syscalls 301, 302, 303 so that they will autoload thepgoyette
compat_sysv module if not already built-in.
2015-10-02PR/50295: clock_nanotime() should not set errno, but return the error.christos
2015-06-18+RUMP to __posix_{,f,l}chown. at least python wants them.pooka
2015-05-13Update syscalls to point to the new module. (Regen of dependantpgoyette
files to follow.)
2015-05-10Split the SYSV* compat code out into a separate compat_sysv module.pgoyette
For monolithic kernels, both modules will be compiled as "built-ins", while modular environments will be able to load the SYSVSEM, SYSVSHM, and SYSVMSG code independant from the rest of compat. This is a necessary precursor step to making the "STD" SYSV* code into a separate module. Tested in both monolithic and modular environments with no errors seen.
2015-05-09Remove extraneous word 'compat' on header linepgoyette
2015-05-09Teach makesyscalls.sh how to auto-generate the list of syscalls thatpgoyette
can be resolved by module auto-load. Update syscalls.master to identify the specific module that contains the auto-loadable code for each syscall.
2015-04-08Add __posix_rename as a rump syscalljustin
2015-02-22PR/49684: Pierre Pronchery: readlinkat(2) return type is wrong.christos
2015-02-10Mark posix_fallocate as NOERRmartin
2014-07-25Add fdiscard and posix_fallocate syscalls.dholland
2014-06-12Avoid using C++ keywords as argument name.joerg
2014-04-09rump kernel wrappers for aio syscallspooka
2014-03-14Add rump kernel syscall wrapper flag for a bunch of time-relatedpooka
syscalls (nanosleep, clock_gettime, etc.). These are mostly intended for situations where a rump kernel runs on an OS-less host.
2013-12-11create rump kernel wrapper for utrace() toopooka
2013-12-09Create rump kernel wrappers for {f,}ktracepooka
2013-10-17Change mknodat(2) device argument type from uint32_t to dev_t.njoly
Adds needed extra PAD argument for 64bit alignment, and libc wrapper.
2013-08-30There is absolutely no way that fexecve() could even theoretically workpooka
in a rump kernel, so don't create a wrapper for that. recv/sendmmsg(), however, can, so create wrappers for those.
2013-03-29Centralize the computation of struct timespec to the int timo.christos
Make lwp_park take the regular arguments for specifying what kind of timeout we supply like clock_nanosleep(), namely clockid_t and flags.
2012-10-02kernel portion of clock_nanosleep()christos
2012-06-22Add {send,recv}mmsg from Linuxchristos