Home | History | Annotate | Download | only in i386
History log of /src/sys/compat/linux/arch/i386/syscalls.master
RevisionDateAuthorComments
 1.137  28-Sep-2024  christos Linux GSoC-2024: renameat2, clone3, sync_file_range, syncfs (Shivraj Jamgade)
 1.136  01-Jul-2024  christos Add linux POSIX message queue support (Ricardo Branco)
 1.135  29-Jun-2024  christos From gsoc 2024: Implement faccessat2 and getcpu (Shivraz)
 1.134  19-Aug-2023  christos Add inotify* syscalls GSoC 2023 (Theodore Preduta)
 1.133  18-Aug-2023  christos Add linux waitid(2) from GSoC 2023 (Theodore Preduta)
 1.132  29-Jul-2023  christos Add/fix statx, readahead, close_range. From GSoC 2023 by Theodore Preduta
 1.131  28-Jul-2023  christos add epoll syscalls
 1.130  10-Jul-2023  christos Add new syscalls
 1.129  02-Dec-2021  ryo add prlimit64(2) syscall to COMPAT_LINUX and COMPAT_LINUX32
 1.128  20-Sep-2021  thorpej Add preadv(2) and pwritev(2) system calls to COMPAT_LINUX and COMPAT_LINUX32.
 1.127  20-Sep-2021  thorpej Add the eventfd system calls to COMPAT_LINUX and COMPAT_LINUX32.
 1.126  19-Sep-2021  thorpej Add the timerfd syscalls to COMPAT_LINUX and COMPAT_LINUX32.
 1.125  19-Sep-2021  thorpej Add the POSIX timer syscalls (timer_create(), timer_settime(), timer_gettime(),
timer_getoverrun(), and timer_delete()) to COMPAT_LINUX and COMPAT_LINUX32.
 1.124  26-Apr-2020  thorpej branches: 1.124.2;
Add a NetBSD native futex implementation, mostly written by riastradh@.
Map the COMPAT_LINUX futex calls to the native ones.
 1.123  09-Nov-2019  jdolecek add dummy implementation of linux fallocate() which just returns EOPNOTSUPP;
this is needed so that glibc falls back to emulation and apps behaving
properly, since EOPNOTSUPP is a documented and expected return code, but
ENOSYS is not

right now there are no filesystems in NetBSD tree supporting the fallocate
VOP, so no point trying to map this to a native call

supposed to help with problem reported in
https://mail-index.netbsd.org/tech-kern/2019/11/03/msg025641.html
 1.122  02-Jan-2017  manu branches: 1.122.16;
Add pselect6 Linux system call.
This lets Matlab R2016A run on NetBSD/amd64
 1.121  24-Jul-2016  njoly Small cleanup. Adjust readlink/readlinkat signatures to reduce diffs with
native.
 1.120  23-Mar-2015  ozaki-r branches: 1.120.2;
Fix inconsistent argument names
 1.119  22-Nov-2014  njoly branches: 1.119.2;
Fix ppoll signature (int ->u_int)
 1.118  31-May-2014  njoly branches: 1.118.2;
Fix munmap(2) signature.
 1.117  29-May-2014  njoly For utimes(2), use compat_50_sys_utimes() instead of local version.
 1.116  20-May-2014  njoly Fix getgroups/setgroups signature.
 1.115  17-May-2014  njoly Fix fadvise64 syscalls to use 64bit offset types.
 1.114  04-May-2014  njoly Fix pread/pwrite syscalls which need a 64bit offset argument.
 1.113  08-Apr-2014  njoly Adjust read/write/readv/writev signature to match native versions.
 1.112  18-Nov-2013  chs branches: 1.112.2;
implement the *at() syscalls.
bring the unimplemented syscall list up to date.
 1.111  07-Nov-2013  njoly Fix dup/dup2/dup3 argument types (u_int -> int).
 1.110  24-Sep-2013  njoly Add utimensat(2) for compat linux.
 1.109  08-Apr-2013  pooka branches: 1.109.4;
support utimes on non-alpha linux platforms
 1.108  19-Sep-2012  pooka emulate ppoll which is essentially our pollts
 1.107  18-Nov-2011  christos branches: 1.107.10;
add sigtimedwait
 1.106  09-Jul-2011  christos branches: 1.106.2;
the first argument of {g,s}etitimer() is int not u_int.
 1.105  30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.104  10-Apr-2011  christos add pipe2 and dup3
 1.103  07-Jul-2010  chs branches: 1.103.2;
many changes for COMPAT_LINUX:
- update the linux syscall table for each platform.
- support new-style (NPTL) linux pthreads on all platforms.
clone() with CLONE_THREAD uses 1 process with many LWPs
instead of separate processes.
- move the contents of sys__lwp_setprivate() into a new
lwp_setprivate() and use that everywhere.
- update linux_release[] and linux32_release[] to "2.6.18".
- adjust placement of emul fork/exec/exit hooks as needed
and adjust other emul code to match.
- convert all struct emul definitions to use named initializers.
- change the pid allocator to allow multiple pids to refer to the same proc.
- remove a few fields from struct proc that are no longer needed.
- disable the non-functional "vdso" code in linux32/amd64,
glibc works fine without it.
- fix a race in the futex code where we could miss a wakeup after
a requeue operation.
- redo futex locking to be a little more efficient.
 1.102  23-Apr-2010  chs add missing argument to clone(). the symptom of this was that pthread_join()
would sometimes get stuck, such as in our "mutex2" regression test.
 1.101  24-Nov-2009  njoly branches: 1.101.2; 1.101.4;
Update personality(2) to match Linux definition where the argument is an
unsigned long.
 1.100  08-Jun-2009  njoly Update rt_queueinfo(2) definition, and kill a corresponding comment.
 1.99  17-Jan-2009  njoly branches: 1.99.2;
Convert linux/linux32 wait(4) to use a compat50 rusage structure.
 1.98  13-Jan-2009  pooka 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().
 1.97  11-Jan-2009  christos merge christos-time_t
 1.96  19-Nov-2008  ad 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
 1.95  19-Nov-2008  njoly futex(2) timeout argument cleanup/fix.
- Use `struct linux_timespec', converted to native structure.
- Ensure that provided values are correct.
- Replace timeval+tvtohz by tstohz.
 1.94  12-Nov-2008  njoly Fix nanosleep(2) on 64-bit archs. Do not call native nanosleep
syscall, but rather a modified version the will take care of `struct
timespec' conversions.
 1.93  26-Oct-2008  christos branches: 1.93.2; 1.93.4;
futex support fixes from FreeBSD via cube+pengo.
 1.92  25-Oct-2008  christos Add preliminary tls support for i386. Does not work yet. From FreeBSD.
 1.91  23-Apr-2008  ad branches: 1.91.2; 1.91.4; 1.91.8;
-SYCALL_MPSAFE
 1.90  04-Apr-2008  njoly branches: 1.90.2;
Cleanup. Kill linux_sys_msync and use sys___msync13 instead.
No functional changes expected.
 1.89  15-Jan-2008  njoly branches: 1.89.6; 1.89.8;
compat linux (and linux32) uid16 functions cleanup and fixes.

- Move uid16 functions to their own file linux_uid16.c, included by
needed archs (arm, i386 and m68k).
- Add new MI types linux_{u,g}id16_t.
- Add macros to handle linux_uid16_t and uid_t conversions.
- Add linux_sys_getres{uid,gid}16 syscalls, to fix an overflow with
bad sizes given to copyout when linux_sys_getres{uid,gid} are used.
- Update arm syscall table to use more uid16 functions.
 1.88  24-Dec-2007  njoly Kill unneeded linux_sys_getpgid and use native sys_getpgid instead.
 1.87  21-Dec-2007  njoly - Fix setfsuid to return uid on success.
- Replace getfsuid, which never existed on Linux, by correct setfsgid
syscall.

ok by christos and dsl.
 1.86  20-Dec-2007  dsl Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
 1.85  16-Nov-2007  njoly branches: 1.85.2; 1.85.6;
Cleanup. Remove a few linux syscalls definitions, now identical to
native ones (with stackgap and ALT_CHECK_xxx removal). No functional
changes expected.
 1.84  13-Jun-2007  christos branches: 1.84.6; 1.84.8; 1.84.12; 1.84.14;
Get ready for NPTL but don't turn it on as of yet.
 1.83  13-Jun-2007  christos Add futex.
 1.82  04-Mar-2007  christos branches: 1.82.2; 1.82.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.81  09-Feb-2007  ad branches: 1.81.2;
Merge newlock2 to head.
 1.80  01-Sep-2006  matt branches: 1.80.2;
Don't conditionalize *sys_ptrace. The lack of sys_ptrace will be dealt
with differently.
 1.79  30-Aug-2006  matt Update to deal with options PTRACE
 1.78  10-Jun-2006  christos linux getpriority is off-by-20 so use our own function.
From PR/33671: Nicolas Joly
 1.77  11-Dec-2005  christos branches: 1.77.4; 1.77.8; 1.77.14;
merge ktrace-lwp.
 1.76  06-Nov-2005  manu Back out sched_{set|get}affinity addition because it breaks the
build again on i386 now it is fixed for other archs (Tom's fix and
mine got in colision)
 1.75  05-Nov-2005  dogcow mirror manu's amd64 changes to implement linux sched_{seg,get}affinity;
the kernel and linux lkm now compile again.
 1.74  18-Oct-2005  joerg sys_uselib is needed by COMPAT_LINUX for EXEC_AOUT. Since it doesn't get
build when EXEC_AOUT is not defined, the syscalls.master entry has to be
conditionalized. Alpha did so already, so let the other archs catch up
with it.

Go-on: christos
 1.73  16-May-2005  fvdl branches: 1.73.2;
Add clock_* POSIX functions.
 1.72  16-May-2005  fvdl Add *xattr functions (they all return EOPNOTSUPP).
 1.71  20-Sep-2004  jdolecek implement support for Linux statfs64() syscall - 64bit variant of statfs()
 1.70  08-Sep-2004  jdolecek implement basic exit_group(2), which just terminates calling thread;
apparently not many apps use thread groups yet, at least not with default
SuSE 9.1 libraries, so this is enough for now
 1.69  01-Aug-2004  jdolecek sync the syscall lists with Linux kernel 2.6.7
 1.68  01-Aug-2004  jdolecek connect madvise(2) and mincore(2) - apparently the newer Linux libs
don't stub it anymore, so allow the application to take advantage
of them

the Linux calls appear to be compatible in the flag values and semantics,
so a wrapper is not necessary
 1.67  10-Aug-2003  jdolecek add Linux compat arg wrapper for ftruncate64(), and change linux compat
truncate64() wrapper to translate args structure
NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have
to do the argument translation

Problem found and patch supplied in PR kern/22360 by Ales Krenek

This is the last of syscalls with hidden 'pad' arg we didn't have
wrapper for; all the others (lseek, mmap, pwrite, pread) already had
wrapper before.
 1.66  03-Jul-2003  christos Implement linux_rt_sigreturn for real. Add a hack for more plausible siginfo.
The java segv handler still segv's again inside the signal handler, but our
sample test program now works [gets the proper ucontext].
 1.65  23-Jun-2003  christos branches: 1.65.2;
PR/21937: Todd Vierling: Proper support for mmap2
 1.64  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.63  10-Apr-2002  christos branches: 1.63.4;
add getdents64
 1.62  22-Mar-2002  christos 1. make sure lines don't wrap
2. fix mmap and call it mmap like other ports do, not mmap2
3. implement fcntl64
4. implement mprotect because linux treats args slightly differently.
 1.61  15-Feb-2002  christos - add a real linux_sys___sysctl because the mib numbers are different.
implement only the kernel version getting entries.
- make the signal conversion functions consistent; dest is arg 1.
- make linux_fakedev deal with block and char devices differently.
- add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so
that they work properly.
- add linux_mmap2 [untested].
- bump kernel to 2.4.18, and make the date be valentine's day :-)
- linux_sys_*stat64 family was totally busted. Fix it.

tested only on i386.

Status:
gdb, telnet, work
jdk-1.4.0 extractor works, jdk still coredumps.

christos
 1.60  30-Sep-2001  manu Fixes my last commit: only mips really need fcntl64 to work now. i386 and
powerpc could use it later if needed. m68k and alpha should never need it.
 1.59  30-Sep-2001  martin Make i386 kernels compile again.
fcntl64 was still marked UNIMPL, but the implementation existed, causing
a missing prototype warning.
XXX I have no clue if this is the correct fix - someone able to test this
please review it!
 1.58  30-May-2001  mrg branches: 1.58.2; 1.58.4;
use _KERNEL_OPT.
 1.57  13-May-2001  manu Improved the accuracy of gettimeofday/settimeofday: Linux stores a srtuct
timezone in the kernel. We now keep track of it for emulated processes.
Tested for powerpc and i386. Untested on m68k, but it should be ok
Alpha has a particular implementation (osf1_sys_gettimeofday), and it has
therefore not been touched.
 1.56  30-Mar-2001  jdolecek Add new syscalls from Linux 2.4.3 to the lists. Not implemented ATM.
 1.55  30-Mar-2001  jdolecek Implement linux_sys_nosys() and use it instead of sys_nosys() for
unimplemented syscalls. Difference is that linux_sys_nosys() doesn't
post SIGSYS to the process. Linux doesn't do that and thus glibc (and
probably other Linux code) doesn't deal with SIGSYS, even through it
generally contains fallback code for ENOSYS case.

This also addresses port-i386/12503, though the issue was already discussed
earlier.
 1.54  27-Jan-2001  thorpej branches: 1.54.2;
getpid(2) is MP-safe.
 1.53  29-Dec-2000  fvdl Don't pass through link(2) directly, as we need to do altpath checks.
 1.52  27-Dec-2000  fvdl Add all uid and gid calls, and do the right thing for the older 16 bit
ones.
 1.51  18-Dec-2000  fvdl Update for 32 bit Linux uid/gid calls.
 1.50  13-Dec-2000  augustss Add sysinfo.
 1.49  12-Dec-2000  jdolecek actually, we need to wrap sys_truncate() call so that the /emul/linux/...
path is tried first
fix ftruncate64 entry - first arg to ftruncate is int fd, not path
 1.48  12-Dec-2000  jdolecek add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2)
 1.47  09-Dec-2000  jdolecek add more unimplemented syscalls to list
 1.46  09-Dec-2000  mycroft Add the %% separators.
 1.45  02-Dec-2000  jdolecek add emulation of linux swapoff(2)
 1.44  01-Dec-2000  jdolecek replace compat_09_sys_setdomainname() with linux_sys_setdomainname(),
compat_12_sys_swapon() with linux_sys_swapon() - this is to drop dependency
on COMPAT_12/COMPAT_09
 1.43  01-Nov-2000  jdolecek support mlockall(), munlockall() - they are same as respective NetBSD syscalls
 1.42  23-Aug-2000  christos add support for syscall 186 [sigaltstack]
 1.41  18-Mar-2000  erh branches: 1.41.4;
Use linux_sys_reboot instead of sys_reboot.
 1.40  03-Feb-2000  abs Add Linux fsuid system calls - from Witold J. Wnuk in PR kern/9335
 1.39  12-Dec-1999  tron Incomplete but already working emulation of Linux's ptrace(2) for i386.
 1.38  05-Dec-1999  tron Add proper stub code to make emulation of Linux's pread(2) and pwrite(2)
work. Fixes PR kern/8945 by Dave Sainty.
 1.37  04-Dec-1999  tron Consistently call signal number arguments "signum".
 1.36  04-Oct-1999  tron branches: 1.36.2; 1.36.8;
Add emulation for scheduler related syscalls. Although they are dummies
even under Linux the posix thread library for "glibc2" requires them.
 1.35  16-Aug-1999  tron Add stime() to syscalls table.
 1.34  14-May-1999  thorpej Emulate the Linux vfork(2) (which is like NetBSD's __vfork14(2)),
{get,set}resuid(2), and {get,set}resgid(2). Note a few more system
calls that we don't yet emulate.
 1.33  13-May-1999  thorpej Emulate the Linux clone(2) system call.
 1.32  30-Mar-1999  abs branches: 1.32.2; 1.32.4;
Since NetBSD has poll(), use it.
Linux oracle install now gets far enough that I want our DBA around to
see if we can finish the job.
 1.31  27-Mar-1999  tron Add emulation for Linux "getcwd" syscall.
 1.30  23-Mar-1999  thorpej Add support for emulating the Linux pread(2) and pwrite(2) system calls;
just call the native NetBSD versions.

PR #7202, Jaromir Dolecek <dolecek@ics.muni.cz>.
 1.29  09-Feb-1999  christos const poisoning
 1.28  10-Dec-1998  christos defopt COMPAT_43
 1.27  03-Oct-1998  christos Attempt to fix the mess.
 1.26  01-Oct-1998  erh Move compat/linux/syscalls.master to i386. Add a few syscalls while I'm here.
 1.25  11-Sep-1998  mycroft Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
sys_sigpending() and sys_sigsuspend() into separate functions, and call them
from all the emulations rather than hard-coding everything. (Avoids uses
the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified. Other ports and
emulations need to be updated.
 1.24  05-Aug-1998  perry enable nanosleep in linux emul, per pr-5906 from Soren S. Jorvang
 1.23  20-Feb-1998  mycroft Linux's getsid(2) does in fact return a pid, not a pointer.
 1.22  19-Feb-1998  thorpej Change a comment to reflect new makesyscalls.sh behavior.
 1.21  16-Oct-1997  christos ostat -> stat43
 1.20  15-Oct-1997  mycroft Fix a typo inherited from kern/syscalls.master.
 1.19  10-Oct-1997  mycroft Emulate mremap(2) by returning ENOMEM for now. This should be sufficient for
realloc(3) and other uses. From Matthias Scheler in PR 3920.
 1.18  13-Jun-1997  thorpej branches: 1.18.4;
Use compat_12_sys_swapon().
 1.17  07-Apr-1997  augustss Add Linux nice() syscall.
 1.16  20-May-1996  fvdl branches: 1.16.6;
Update list of Linux syscalls and implement the ones that are likely to be
used and doable.
 1.15  18-Dec-1995  fvdl msync, readv and writev were recently added to the Linux kernel; add them
to the emulation as well.
 1.14  09-Dec-1995  mycroft We don't need a private version of fork() here any more.
 1.13  07-Oct-1995  mycroft Prefix names of system call implementation functions with `sys_'.
 1.12  07-Sep-1995  fvdl Fix some bugs & typing problems.
 1.11  27-Aug-1995  fvdl Add a hook for MD ioctl calls, plus a couple of more changes to make
svgalib binaries work on the i386
 1.10  23-Aug-1995  fvdl Emulate some syscalls that appear in Linux 1.3: a select() with normal args,
getdents() and flock().
 1.9  21-Aug-1995  mycroft Implement the old and older uname(2) calls.
 1.8  14-Aug-1995  mycroft Rearrange #includes.
 1.7  24-Jul-1995  fvdl mkdir() has 2 arguments.. fixes PR 1248 (from Brad Spencer)
 1.6  11-Jun-1995  fvdl * Make Linux ELF binaries work. Lots of code duplication, but it will have to do
for now.
* Add a sanity check in linux_uselib
 1.5  06-May-1995  mycroft Add linux_modify_ldt(), if __i386__.
 1.4  07-Apr-1995  fvdl Handle Linux signal tramp code differently. Some changes because of the
now seperate Linux signal trampoline code. Add linux_sigreturn to
syscalls.master.
 1.3  10-Mar-1995  fvdl Add the Linux pause() system call. Fix the arguments to sigsuspend().
 1.2  05-Mar-1995  fvdl Added a few more system calls.
More consistent alternate root file semantics throughout.
 1.1  28-Feb-1995  fvdl Added Linux compat code.
 1.16.6.1  12-Feb-1997  mrg initial work for dynamic swap additions.
 1.18.4.1  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.32.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.32.2.2  15-Aug-2000  he Pull up revision 1.40 (requested by abs):
Enable basic versions of Linux fsuid calls.
 1.32.2.1  31-Jan-2000  he Apply patch (requested by abs):
Enable emulation of vfork(2).
 1.36.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.36.2.7  21-Apr-2001  bouyer Sync with HEAD
 1.36.2.6  11-Feb-2001  bouyer Sync with HEAD.
 1.36.2.5  05-Jan-2001  bouyer Sync with HEAD
 1.36.2.4  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.36.2.3  08-Dec-2000  bouyer Sync with HEAD.
 1.36.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.36.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.41.4.2  01-May-2001  he Pull up revision 1.55 (requested by jdolecek):
Make it possible to use a different function for unimplemented
syscalls than sys_nosys(), so that the Linux emulation can avoid
posting SIGSYS and instead just return ENOSYS.
 1.41.4.1  30-Mar-2001  he Pull up revision 1.53 (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.54.2.7  29-May-2002  nathanw #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t
now that <sys/param.h> doesn't include <sys/sa.h>.

(Behold the Power of Ed)
 1.54.2.6  17-Apr-2002  nathanw Catch up to -current.
 1.54.2.5  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.54.2.4  28-Feb-2002  nathanw Catch up to -current.
 1.54.2.3  08-Oct-2001  nathanw Catch up to -current.
 1.54.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.54.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.58.4.1  01-Oct-2001  fvdl Catch up with -current.
 1.58.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.58.2.2  16-Mar-2002  jdolecek Catch up with -current.
 1.58.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.63.4.3  14-Jun-2004  jmc Pullup patch (requested by skrll in ticket #1708)

Bring netbsd-1-6 inline with -current sources after the mistakes in ticket #1686
 1.63.4.2  11-May-2004  tron Pull up revision 1.67 via patch (requested by wennmach in ticket #1686):
add Linux compat arg wrapper for ftruncate64(), and change linux compat
truncate64() wrapper to translate args structure
NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have
to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have
wrapper for; all the others (lseek, mmap, pwrite, pread) already had
wrapper before.
 1.63.4.1  22-Oct-2003  jmc Regen files (requested by tv in ticket #1427)

Proper support for mmap2
 1.65.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.65.2.4  24-Sep-2004  skrll Sync with HEAD.
 1.65.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.65.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.65.2.1  03-Aug-2004  skrll Sync with HEAD
 1.73.2.5  21-Jan-2008  yamt sync with head
 1.73.2.4  07-Dec-2007  yamt sync with head
 1.73.2.3  03-Sep-2007  yamt sync with head.
 1.73.2.2  26-Feb-2007  yamt sync with head.
 1.73.2.1  21-Jun-2006  yamt sync with head.
 1.77.14.1  19-Jun-2006  chap Sync with head.
 1.77.8.1  26-Jun-2006  yamt sync with head.
 1.77.4.1  09-Sep-2006  rpaulo sync with head
 1.80.2.1  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.81.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.82.4.1  11-Jul-2007  mjf Sync with head.
 1.82.2.1  15-Jul-2007  ad Sync with head.
 1.84.14.3  18-Feb-2008  mjf Sync with HEAD.
 1.84.14.2  27-Dec-2007  mjf Sync with HEAD.
 1.84.14.1  19-Nov-2007  mjf Sync with HEAD.
 1.84.12.1  18-Nov-2007  bouyer Sync with HEAD
 1.84.8.2  23-Mar-2008  matt sync with HEAD
 1.84.8.1  09-Jan-2008  matt sync with HEAD
 1.84.6.1  21-Nov-2007  joerg Sync with HEAD.
 1.85.6.2  19-Jan-2008  bouyer Sync with HEAD
 1.85.6.1  02-Jan-2008  bouyer Sync with HEAD
 1.85.2.1  26-Dec-2007  ad Sync with head.
 1.89.8.3  20-Nov-2008  christos merge with head.
 1.89.8.2  01-Nov-2008  christos Sync with head.
 1.89.8.1  29-Mar-2008  christos Welcome to the time_t=long long dev_t=uint64_t branch.
 1.89.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.89.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.90.2.1  18-May-2008  yamt sync with head.
 1.91.8.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.91.4.2  14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.91.4.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.91.2.4  11-Aug-2010  yamt sync with head.
 1.91.2.3  11-Mar-2010  yamt sync with head
 1.91.2.2  20-Jun-2009  yamt sync with head
 1.91.2.1  04-May-2009  yamt sync with head.
 1.93.4.1  20-Nov-2008  snj Pull up following revision(s) (requested by njoly in ticket #81):
sys/compat/linux/arch/mips/syscalls.master: revision 1.30
sys/compat/linux/arch/m68k/syscalls.master: revision 1.63
sys/compat/linux32/arch/amd64/syscalls.master: revision 1.39
sys/compat/linux/arch/alpha/syscalls.master: revision 1.63
sys/compat/linux/arch/powerpc/syscalls.master: revision 1.38
sys/compat/linux32/common/linux32_time.c: revision 1.22
sys/compat/linux/arch/amd64/syscalls.master: revision 1.25
sys/compat/linux/arch/i386/syscalls.master: revision 1.94
sys/compat/linux/arch/arm/syscalls.master: revision 1.36
sys/compat/linux/common/linux_time.c: revision 1.26
Fix nanosleep(2) on 64-bit archs. Do not call native nanosleep
syscall, but rather a modified version the will take care of `struct
timespec' conversions.
 1.93.2.1  19-Jan-2009  skrll Sync with HEAD.
 1.99.2.1  23-Jul-2009  jym Sync with HEAD.
 1.101.4.4  31-May-2011  rmind sync with head
 1.101.4.3  21-Apr-2011  rmind sync with head
 1.101.4.2  05-Mar-2011  rmind sync with head
 1.101.4.1  30-May-2010  rmind sync with head
 1.101.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.101.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.103.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.106.2.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.106.2.2  30-Oct-2012  yamt sync with head
 1.106.2.1  17-Apr-2012  yamt sync with head
 1.107.10.4  03-Dec-2017  jdolecek update from HEAD
 1.107.10.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.107.10.2  23-Jun-2013  tls resync from head
 1.107.10.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.109.4.1  18-May-2014  rmind sync with head
 1.112.2.1  10-Aug-2014  tls Rebase.
 1.118.2.1  17-Apr-2017  snj Pull up following revision(s) (requested by manu in ticket #1354):
sys/compat/linux/arch/alpha/syscalls.master: revision 1.92 via patch
sys/compat/linux/arch/amd64/syscalls.master: revision 1.58 via patch
sys/compat/linux/arch/arm/syscalls.master: revision 1.65 via patch
sys/compat/linux/arch/i386/syscalls.master: revision 1.122 via patch
sys/compat/linux/arch/m68k/syscalls.master: revision 1.91 via patch
sys/compat/linux/arch/mips/syscalls.master: revision 1.61 via patch
sys/compat/linux/arch/powerpc/syscalls.master: revision 1.70 via patch
sys/compat/linux/common/linux_misc.c: revision 1.234
sys/compat/linux/common/linux_signal.h: revision 1.31
Add pselect6 Linux system call.
This lets Matlab R2016A run on NetBSD/amd64
 1.119.2.3  05-Feb-2017  skrll Sync with HEAD
 1.119.2.2  05-Oct-2016  skrll Sync with HEAD
 1.119.2.1  06-Apr-2015  skrll Sync with HEAD
 1.120.2.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.120.2.1  26-Jul-2016  pgoyette Sync with HEAD
 1.122.16.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.124.2.2  17-Dec-2020  thorpej Add suppport for Linux preadv(2) and pwritev(2). Same as native, except
for the silly way that the offset argument is passed in.
 1.124.2.1  15-Dec-2020  thorpej Add Linux eventfd, timerfd, and POSIX timer calls.

RSS XML Feed