Home | History | Annotate | only in /src/sys/compat/linux/arch/arm
History log of /src/sys/compat/linux/arch/arm
RevisionDateAuthorComments
 1.3 29-May-2024  christos should not be using .include <> but .include "" here.
 1.2 08-Apr-2014  njoly Do not include bsd.kinc.mk in each arch Makefile, it's already pulled
by bsd.syscall.mk (from Makefile.inc).
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4; 1.1.158; 1.1.168; 1.1.174; 1.1.184;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.184.1 10-Aug-2014  tls Rebase.
 1.1.174.1 18-May-2014  rmind sync with head
 1.1.168.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.158.1 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.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file Makefile was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file Makefile was added on branch kqueue on 2002-02-11 20:09:28 +0000
 1.4 30-Aug-2006  matt Update to deal with options PTRACE
 1.3 31-Mar-2002  christos branches: 1.3.26; 1.3.40; 1.3.44;
bring the reverse signal mapping array into linux_signo.c
 1.2 23-Jan-2002  bjh21 branches: 1.2.2; 1.2.4;
Add support for the ARM-specific syscalls in ARMLinux. These are invoked
by SWI numbers above 0x9f0000, but we re-map them down to somewhere just
after the end of the usual syscall range, since NetBSD doesn't handle
sparse syscall arrays well.

The only syscall I've actually implemented in this range is cacheflush(),
which was previously being mapped to fork(), causing ... interesting results.
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.2.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.2.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.1 23-Jan-2002  nathanw file files.linux_arm was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.2.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.1 23-Jan-2002  jdolecek file files.linux_arm was added on branch kqueue on 2002-02-11 20:09:28 +0000
 1.3.44.1 03-Sep-2006  yamt sync with head.
 1.3.40.1 09-Sep-2006  rpaulo sync with head
 1.3.26.1 30-Dec-2006  yamt sync with head.
 1.14 12-Oct-2021  andvar fix various typos, mainly in comments.
 1.13 03-May-2020  thorpej Always clear FUTEX_PRIVATE_FLAG for Linux processes. NetBSD-native futexes
exist in different namespace depending on FUTEX_PRIVATE_FLAG. This appears
not to be the case in Linux, and some futex users will mix private and non-
private ops on the same futex object. Provide a convenience wrapper that
puts this logic in one place witn a comment explaining why.

While here, move the Linux futex wrapper out of its own file and plop
it in linux_misc.c, which is where it lives in the linux32 module.
 1.12 31-May-2011  njoly Fix path for fadvise64 files.
 1.11 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.10 07-Jul-2010  chs branches: 1.10.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.9 02-Mar-2010  pooka branches: 1.9.2;
Nuke fs_lfs.h included for unknown reasons (if there was a reason
other than "accident", i hereby declare that reason invalid)
 1.8 19-Nov-2008  ad branches: 1.8.6;
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.7 02-Feb-2008  dsl branches: 1.7.6; 1.7.10; 1.7.12; 1.7.16; 1.7.18;
Extract the fcntl64() suppoort from linux_file64.c into linux_fcntl64.c
Unravel some of the knots that caused linux_file64.c to be compiled twice
for an amd64 kernel (once for linux and once for linux32) with different
parts being skipped each time.
 1.6 15-Jan-2008  njoly 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.5 15-Aug-2007  ad branches: 1.5.2; 1.5.8; 1.5.14;
Changes to make ktrace LKM friendly and reduce ifdef KTRACE. Proposed
on tech-kern.
 1.4 09-Feb-2007  ad branches: 1.4.6; 1.4.14; 1.4.18;
Merge newlock2 to head.
 1.3 18-Jan-2003  thorpej branches: 1.3.18; 1.3.48;
Merge the nathanw_sa branch.
 1.2 17-Feb-2002  bjh21 branches: 1.2.2;
linux_sys_break() is marked OBSOL, so don't include it.
 1.1 14-Jan-2002  bjh21 branches: 1.1.2;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_commons.c was added on branch kqueue on 2002-02-11 20:09:28 +0000
 1.2.2.3 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.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 17-Feb-2002  nathanw file linux_commons.c was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.3.48.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.3.18.4 04-Feb-2008  yamt sync with head.
 1.3.18.3 21-Jan-2008  yamt sync with head
 1.3.18.2 03-Sep-2007  yamt sync with head.
 1.3.18.1 26-Feb-2007  yamt sync with head.
 1.4.18.1 16-Aug-2007  jmcneill Sync with HEAD.
 1.4.14.1 03-Sep-2007  skrll Sync with HEAD.
 1.4.6.1 20-Aug-2007  ad Sync with HEAD.
 1.5.14.1 19-Jan-2008  bouyer Sync with HEAD
 1.5.8.1 18-Feb-2008  mjf Sync with HEAD.
 1.5.2.1 23-Mar-2008  matt sync with HEAD
 1.7.18.1 19-Jan-2009  skrll Sync with HEAD.
 1.7.16.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.7.12.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.7.12.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.7.10.3 11-Aug-2010  yamt sync with head.
 1.7.10.2 11-Mar-2010  yamt sync with head
 1.7.10.1 04-May-2009  yamt sync with head.
 1.7.6.1 17-Jan-2009  mjf Sync with HEAD.
 1.8.6.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.8.6.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.9.2.3 12-Jun-2011  rmind sync with head
 1.9.2.2 31-May-2011  rmind sync with head
 1.9.2.1 05-Mar-2011  rmind sync with head
 1.10.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7 17-Dec-2013  njoly Cleanup compat linux errnos by adding generic errnos in a single file.
Use it for all arches except alpha and mips.
Add a few missing native to linux errno conversions.
 1.6 28-Apr-2008  martin branches: 1.6.34; 1.6.44; 1.6.50;
Remove clause 3 and 4 from TNF licenses
 1.5 11-Dec-2005  christos branches: 1.5.70; 1.5.72; 1.5.74;
merge ktrace-lwp.
 1.4 26-Feb-2005  perry nuke trailing whitespace
 1.3 17-Jan-2002  bjh21 branches: 1.3.2; 1.3.4; 1.3.20; 1.3.28; 1.3.30;
Fix unterminated #ifdef.
 1.2 17-Jan-2002  rjs Add extra error codes from Linux.
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.3.30.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.28.1 29-Apr-2005  kent sync with -current
 1.3.20.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.4.1 17-Jan-2002  nathanw file linux_errno.h was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.3.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.1 17-Jan-2002  jdolecek file linux_errno.h was added on branch kqueue on 2002-02-11 20:09:30 +0000
 1.5.74.1 16-May-2008  yamt sync with head.
 1.5.72.1 18-May-2008  yamt sync with head.
 1.5.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.50.1 18-May-2014  rmind sync with head
 1.6.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.34.1 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.12 26-Nov-2021  ryo The internal architecture name of golang is "arm" or "arm64", which has
different naming conventions from netbsd's machine[] or machine_arch[]
("earmv7", "aarch64", etc.) and cannot be used as is.
Instead, use define LINUX_GO_RT0_SIGNATURE_ARCH{32,64}.
 1.11 26-Nov-2021  ryo - LINUX_GO_RT0_SIGNATURE for compat_linux is no longer enabled by default.
it is now defined in each arch same as the other *_SIGNATURE definitions.
- add new LINUX32_GO_RT0_SIGNATURE for compat_linux32, and is defined in amd64 and aarch64.
 1.10 12-Feb-2017  chs es_arglen is now in units of bytes, update the emulations accordingly.
 1.9 09-Feb-2014  chs branches: 1.9.6; 1.9.10; 1.9.14;
account for the 16 bytes of AT_RANDOM data in the stack setup. fixes PR 48518.
use cprng_strong32() instead of random(). add AT_RANDOM support for linux32.
 1.8 28-Apr-2008  martin branches: 1.8.34; 1.8.44; 1.8.50;
Remove clause 3 and 4 from TNF licenses
 1.7 11-Dec-2005  christos branches: 1.7.70; 1.7.72; 1.7.74;
merge ktrace-lwp.
 1.6 14-Aug-2003  christos remove the args from the macro.
 1.5 08-Aug-2003  christos - GC all the setup_stack functions
- add one for linux/i386
 1.4 01-Mar-2003  thorpej branches: 1.4.2;
Do the syscall_plain/syscall_fancy dance on ARM. Shaves a fair number
of cycles off the syscall overhead.

Since all COMPAT_LINUX platforms now support __HAVE_SYSCALL_INTERN,
garbage-collect the LINUX_SYSCALL_FUNCTION stuff.
 1.3 13-Nov-2002  jdolecek add generic linux compat ELF copyargs function

this gives:
* linux sysconf(_SC_CLK_TCK) gives correct value for linux binaries (hz)
even if hz != 100
* glibc gets proper information on real/effective uid and enables
secure mode for suid binaries

g/c LINUX_COPYARGS_FUNCTION, replaced by linux ELF copyargs function
g/c alpha-specific linux ELF copyargs function and linux ELF defines
 1.2 17-Jan-2002  bjh21 branches: 1.2.2; 1.2.4;
On platforms that don't __HAVE_SYSCALL_INTERN, define LINUX_SYSCALL_FUNCTION
to be the value of emul_linux.e_syscall that we want. This allows it to differ
between machines, so I can have a separate linux_syscall() on arm.
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.2.4.3 11-Dec-2002  thorpej Sync with HEAD.
 1.2.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.1 17-Jan-2002  nathanw file linux_exec.h was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.2.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.1 17-Jan-2002  jdolecek file linux_exec.h was added on branch kqueue on 2002-02-11 20:09:30 +0000
 1.4.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.74.1 16-May-2008  yamt sync with head.
 1.7.72.1 18-May-2008  yamt sync with head.
 1.7.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.50.1 18-May-2014  rmind sync with head
 1.8.44.2 03-Dec-2017  jdolecek update from HEAD
 1.8.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.34.1 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.9.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.9.10.1 20-Mar-2017  pgoyette Sync with HEAD
 1.9.6.1 28-Aug-2017  skrll Sync with HEAD
 1.5 25-Jun-2014  njoly Add a few missing open(2) flags (LINUX_O_*). Fix alpha wrong values.
 1.4 02-Nov-2010  chs branches: 1.4.18; 1.4.32;
define LINUX_O_CLOEXEC.
sort definitions by value.
consistently use hex instead of octal for the values.
 1.3 21-Sep-2010  chs implement O_DIRECTORY as standardized in POSIX-2008,
for both native and linux emulations.
this fixes the rest of PR 43695.
 1.2 28-Apr-2008  martin branches: 1.2.20; 1.2.22;
Remove clause 3 and 4 from TNF licenses
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4; 1.1.118; 1.1.120; 1.1.122;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.122.2 09-Oct-2010  yamt sync with head
 1.1.122.1 16-May-2008  yamt sync with head.
 1.1.120.1 18-May-2008  yamt sync with head.
 1.1.118.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file linux_fcntl.h was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_fcntl.h was added on branch kqueue on 2002-02-11 20:09:30 +0000
 1.2.22.1 05-Mar-2011  rmind sync with head
 1.2.20.2 06-Nov-2010  uebayasi Sync with HEAD.
 1.2.20.1 22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.4.32.1 10-Aug-2014  tls Rebase.
 1.4.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4; 1.1.118; 1.1.120; 1.1.122;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.122.1 16-May-2008  yamt sync with head.
 1.1.120.1 18-May-2008  yamt sync with head.
 1.1.118.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file linux_ioctl.h was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_ioctl.h was added on branch kqueue on 2002-02-11 20:09:30 +0000
 1.34 07-Sep-2021  riastradh sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.33 01-Feb-2021  skrll G/C some old code that was for acorn26
 1.32 09-Nov-2014  maxv branches: 1.32.12; 1.32.24; 1.32.32;
Do not uselessly include <sys/malloc.h>.
 1.31 18-Aug-2013  matt branches: 1.31.4;
Use <arm/locore.h>
 1.30 16-Aug-2012  matt branches: 1.30.2; 1.30.4;
Rename process_frame to lwp_trapframe
 1.29 07-Jul-2010  chs branches: 1.29.8; 1.29.16;
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.28 23-Nov-2009  rmind branches: 1.28.2; 1.28.4;
Use lwp_getpcb() in compat code, clean from struct user.
 1.27 28-Apr-2008  martin branches: 1.27.2;
Remove clause 3 and 4 from TNF licenses
 1.26 24-Apr-2008  ad branches: 1.26.2;
Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since
we no longer need to guard against access from hardware interrupt handlers.

Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the
child process share the parent's lock so that signal state may be kept in
sync. Partially addresses PR kern/37437.
 1.25 21-Dec-2007  matt branches: 1.25.6; 1.25.8;
Make this compile again.
 1.24 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.23 08-Dec-2007  dsl branches: 1.23.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.22 26-Mar-2007  hubertf branches: 1.22.8; 1.22.10; 1.22.18;
Remove duplicate #include <sys/param.h>,
and pull in the <sys/cdefs.h> needed for __KERNEL_RCSID

From: Slava Semushin <php-coder@altlinux.ru>
 1.21 04-Mar-2007  christos branches: 1.21.2; 1.21.4; 1.21.6;
fix caddr_t fallout.
 1.20 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.19 09-Feb-2007  ad branches: 1.19.2;
Merge newlock2 to head.
 1.18 23-Aug-2006  bjh21 branches: 1.18.2;
Use VALID_R15_PSR() to check the context we're restoring in
linux_sys_sigreturn(). Somehow this got missed when I introduced that macro.
 1.17 11-Dec-2005  christos branches: 1.17.4; 1.17.8;
merge ktrace-lwp.
 1.16 13-Sep-2005  christos need linux_syscallargs.h to compile, and remove inline function.
 1.15 20-May-2005  fvdl branches: 1.15.2;
Define linux_usertrap function, and set it in struct emul. For all
but amd64, it just returns 0, doing nothing.

For amd64, it implements vsyscalls through cheating: if the faulting
address is in the vsyscall area (which is statically known on Linux/amd64),
and the intruction pointer is too, it must have been a vsyscall. In that
case, retrieve the return address from the user stack, fix up %rip and
%rsp, and just execute the normal system call. It will return as if
the vsyscall has been executed.
 1.14 26-Feb-2005  perry nuke trailing whitespace
 1.13 10-Oct-2003  matt branches: 1.13.8; 1.13.10;
Adapt ARM Linux compat code to deal with SIGINFO.
 1.12 26-Sep-2003  simonb Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Test
compiled on most architectures.
 1.11 18-Jan-2003  thorpej branches: 1.11.2;
Merge the nathanw_sa branch.
 1.10 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.9 04-Jul-2002  thorpej Add kernel support for having userland provide the signal trampoline:

* struct sigacts gets a new sigact_sigdesc structure, which has the
sigaction and the trampoline/version. Version 0 means "legacy kernel
provided trampoline". Other versions are coordinated with machine-
dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions. Instead,
sendsig() looks up the handler by peeking in the sigacts for the
process getting the signal (since it has to look in there for the
trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later. Kernel
version not bumped; we will ride the 1.6C bump made recently.
 1.8 20-May-2002  jdolecek whitespace fixes
 1.7 31-Mar-2002  christos branches: 1.7.2;
make signal array handling uniform, and put signal arrays in a separate
file. This is simular to errno array handling.
 1.6 17-Feb-2002  bjh21 branches: 1.6.2;
Adapt for changes to limux_old_extra_to_native_sigset() and
native_to_linux_old_extra_sigset().
 1.5 17-Feb-2002  bjh21 linux_sys_rt_sigreturn is currently marked UNIMPL, so leave the stub out.
 1.4 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.3 02-Feb-2002  bjh21 branches: 1.3.2;
We shouldn't need an icache sync when catching a signal, so don't bother.
 1.2 17-Jan-2002  bjh21 More-or-less working signal handling for Linux processes on ARM.
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.3.2.6 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.2.5 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.3.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.3.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.3.2.1 02-Feb-2002  jdolecek file linux_machdep.c was added on branch kqueue on 2002-02-11 20:09:30 +0000
 1.6.2.9 18-Oct-2002  nathanw Catch up to -current.
 1.6.2.8 01-Aug-2002  nathanw Catch up to -current.
 1.6.2.7 24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.6.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.6.2.5 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.6.2.4 04-May-2002  thorpej LWP'ify.
 1.6.2.3 17-Apr-2002  nathanw Catch up to -current.
 1.6.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.6.2.1 17-Feb-2002  nathanw file linux_machdep.c was added on branch nathanw_sa on 2002-02-28 04:12:46 +0000
 1.7.2.2 15-Jul-2002  gehenna catch up with -current.
 1.7.2.1 30-May-2002  gehenna Catch up with -current.
 1.11.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.11.2.4 27-Jan-2005  skrll Adapt to branch.
 1.11.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1 03-Aug-2004  skrll Sync with HEAD
 1.13.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.8.1 29-Apr-2005  kent sync with -current
 1.15.2.5 21-Jan-2008  yamt sync with head
 1.15.2.4 03-Sep-2007  yamt sync with head.
 1.15.2.3 26-Feb-2007  yamt sync with head.
 1.15.2.2 30-Dec-2006  yamt sync with head.
 1.15.2.1 21-Jun-2006  yamt sync with head.
 1.17.8.1 03-Sep-2006  yamt sync with head.
 1.17.4.1 09-Sep-2006  rpaulo sync with head
 1.18.2.2 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.18.2.1 27-Jan-2007  ad More compat changes.
 1.19.2.2 15-Apr-2007  yamt sync with head.
 1.19.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.21.6.1 29-Mar-2007  reinoud Pullup to -current
 1.21.4.1 11-Jul-2007  mjf Sync with head.
 1.21.2.1 10-Apr-2007  ad Sync with head.
 1.22.18.1 26-Dec-2007  ad Sync with head.
 1.22.10.1 09-Jan-2008  matt sync with HEAD
 1.22.8.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.23.4.1 02-Jan-2008  bouyer Sync with HEAD
 1.25.8.1 18-May-2008  yamt sync with head.
 1.25.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.26.2.3 11-Aug-2010  yamt sync with head.
 1.26.2.2 11-Mar-2010  yamt sync with head
 1.26.2.1 16-May-2008  yamt sync with head.
 1.27.2.3 14-May-2008  wrstuden Per discussion with ad at n dot o, revert signal mask handling
changes.

The l_sigstk changes are most likely totally un-needed as SA will
never use a signal stack - we send an upcall (or will as other
diffs are brought in).

The l_sigmask changes were too controvertial. In all honesty, I
think it's probably best to revert them. The main reason they were
there is the fact that in an SA process, we don't mask signals per
kernel thread, we mask them per user thread. In the kernel, we want
them all to get turned into upcalls. Thus the normal state of
l_sigmask in an SA process is for it to always be empty.

While we are in the process of delivering a signal, we want to
temporarily mask a signal (so we don't recursively exhaust our
upcall stacks). However signal delivery is rare (important, but
rare), and delivering back-to-back signals is even rarer. So rather
than cause every user of a signal mask to be prepared for this very
rare case, we will just add a second check later in the signal
delivery code. Said change is not in this diff.

This also un-compensates all of our compatability code for dealing
with SA. SA is a NetBSD-specific thing, so there's no need for
Irix, Linux, Solaris, SVR4 and so on to cope with it.

As previously, everything other than kern_sa.c compiles in i386
GENERIC as of this checkin. I will switch to ALL soon for compile
testing.
 1.27.2.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.27.2.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.28.4.1 05-Mar-2011  rmind sync with head
 1.28.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.29.16.1 29-Nov-2012  matt Sync with HEAD
 1.29.8.2 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.29.8.1 30-Oct-2012  yamt sync with head
 1.30.4.1 28-Aug-2013  rmind sync with head
 1.30.2.2 03-Dec-2017  jdolecek update from HEAD
 1.30.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.31.4.1 17-Jan-2015  martin Pull up following revision(s) (requested by maxv in ticket #427):
sys/compat/svr4/svr4_schedctl.c: revision 1.8
sys/netinet/tcp_timer.c: revision 1.88
sys/miscfs/genfs/layer_vfsops.c: revision 1.45
sys/compat/svr4/svr4_ioctl.c: revision 1.37
sys/ufs/chfs/chfs_vfsops.c: revision 1.14
sys/miscfs/fdesc/fdesc_vfsops.c: revision 1.91
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.30
sys/compat/common/kern_time_50.c: revision 1.28
sys/netinet6/ip6_forward.c: revision 1.74
sys/miscfs/umapfs/umap_vnops.c: revision 1.57
sys/compat/svr4/svr4_fcntl.c: revision 1.74
distrib/sets/lists/comp/mi: revision 1.1931
sys/netinet6/udp6_output.c: revision 1.46
sys/fs/puffs/puffs_compat.c: revision 1.3
sys/fs/udf/udf_rename.c: revision 1.11
sys/compat/svr4/svr4_filio.c: revision 1.24
sys/fs/udf/udf_rename.c: revision 1.12
sys/netinet/tcp_usrreq.c: revision 1.202
sys/miscfs/umapfs/umap_subr.c: revision 1.29
sys/compat/linux/common/linux_fadvise64.c: revision 1.3
sys/netinet/if_atm.c: revision 1.34
sys/miscfs/procfs/procfs_subr.c: revision 1.106
sys/miscfs/genfs/layer_subr.c: revision 1.37
sys/netinet/tcp_sack.c: revision 1.30
sys/compat/freebsd/freebsd_misc.c: revision 1.33
sys/compat/freebsd/freebsd_file.c: revision 1.33
sys/ufs/chfs/chfs_vnode.c: revision 1.12
sys/compat/svr4/svr4_ttold.c: revision 1.34
sys/compat/linux/common/linux_file.c: revision 1.114
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.43
sys/compat/linux/common/linux_signal.c: revision 1.76
sys/compat/common/compat_util.c: revision 1.46
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.18
sys/compat/svr4/svr4_sockio.c: revision 1.36
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.32
sys/compat/svr4/svr4_signal.c: revision 1.66
sys/kern/kern_exec.c: revision 1.410
sys/fs/puffs/puffs_vfsops.c: revision 1.115
sys/compat/svr4/svr4_exec_elf64.c: revision 1.15
sys/compat/linux/arch/i386/linux_machdep.c: revision 1.159
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.50
sys/compat/linux32/common/linux32_misc.c: revision 1.24
sys/netinet/in_pcb.c: revision 1.153
sys/sys/malloc.h: revision 1.116
sys/compat/common/if_43.c: revision 1.9
share/man/man9/Makefile: revision 1.380
sys/netinet/tcp_vtw.c: revision 1.12
sys/miscfs/umapfs/umap_vfsops.c: revision 1.95
sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.186
sys/compat/common/uipc_syscalls_43.c: revision 1.46
sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.115
sys/fs/puffs/puffs_msgif.c: revision 1.97
sys/compat/svr4/svr4_ipc.c: revision 1.27
sys/compat/linux/common/linux_exec.c: revision 1.117
sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.66
sys/netinet/tcp_output.c: revision 1.179
sys/compat/svr4/svr4_termios.c: revision 1.28
sys/fs/udf/udf_strat_bootstrap.c: revision 1.4
sys/fs/puffs/puffs_subr.c: revision 1.67
sys/fs/puffs/puffs_node.c: revision 1.36
sys/miscfs/overlay/overlay_vnops.c: revision 1.21
sys/fs/cd9660/cd9660_node.c: revision 1.34
sys/netinet/raw_ip.c: revision 1.146
sys/sys/mallocvar.h: revision 1.13
sys/miscfs/overlay/overlay_vfsops.c: revision 1.63
share/man/man9/malloc.9: revision 1.50
sys/netinet6/dest6.c: revision 1.18
sys/compat/linux/common/linux_uselib.c: revision 1.33
sys/compat/linux/common/linux_socket.c: revision 1.120
share/man/man9/malloc.9: revision 1.51
sys/netinet/tcp_subr.c: revision 1.257
sys/compat/linux/common/linux_socketcall.c: revision 1.45
sys/compat/linux/common/linux_fadvise64_64.c: revision 1.3
sys/compat/freebsd/freebsd_ipc.c: revision 1.17
sys/compat/linux/common/linux_misc_notalpha.c: revision 1.109
sys/compat/linux/arch/alpha/linux_pipe.c: revision 1.17
sys/netinet6/in6_pcb.c: revision 1.132
sys/netinet6/in6_ifattach.c: revision 1.94
sys/compat/svr4/svr4_exec_elf32.c: revision 1.15
sys/miscfs/nullfs/null_vfsops.c: revision 1.90
sys/fs/cd9660/cd9660_util.c: revision 1.12
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.48
sys/compat/freebsd/freebsd_exec_elf32.c: revision 1.20
sys/miscfs/procfs/procfs_vfsops.c: revision 1.94
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.28
sys/compat/linux/common/linux_sched.c: revision 1.67
sys/compat/linux/common/linux_exec_aout.c: revision 1.67
sys/compat/linux/common/linux_pipe.c: revision 1.67
sys/compat/linux/common/linux_llseek.c: revision 1.34
sys/compat/linux/arch/mips/linux_ptrace.c: revision 1.10
Do not uselessly include <sys/malloc.h>.
Cleanup:
- remove struct kmembuckets (dead)
- correctly deadify MALLOC_XX
- remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead)
- remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT()
and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc
New sentence, new line. Bump date for previous.
Obsolete malloc_roundup(9), malloc_type_setlimit(9) and MALLOC_DEFINE_LIMIT(9)
man pages.
 1.32.32.1 03-Apr-2021  thorpej Sync with HEAD.
 1.32.24.1 03-Aug-2022  martin Pull up following revision(s), all via patch
(requested by riastradh in ticket #1487):

sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
sys/compat/sunos/sunos_misc.c: revision 1.177
sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
sys/compat/common/kern_resource_43.c: revision 1.23
sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
sys/compat/common/vfs_syscalls_12.c: revision 1.38
sys/compat/ultrix/ultrix_misc.c: revision 1.126
sys/compat/common/kern_sig_43.c: revision 1.37
sys/compat/linux/common/linux_mtio.c: revision 1.8
sys/compat/freebsd/freebsd_misc.c: revision 1.34
sys/compat/freebsd/freebsd_machdep.c: revision 1.5
sys/compat/linux/common/linux_olduname.c: revision 1.67
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
sys/compat/freebsd/freebsd_sched.c: revision 1.23
sys/compat/ossaudio/ossaudio.c: revision 1.84
sys/compat/sys/time_types.h: revision 1.6
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
sys/compat/common/ieee80211_20.c: revision 1.7
sys/compat/linux/common/linux_file.c: revision 1.119
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
sys/compat/linux32/common/linux32_time.c: revision 1.38
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
sys/compat/linux/common/linux_misc.c: revision 1.252
sys/compat/linux/common/linux_hdio.c: revision 1.19
sys/compat/sunos/sunos_ioctl.c: revision 1.71
sys/compat/linux/common/linux_sched.c: revision 1.79
sys/compat/common/kern_info_43.c: revision 1.40
sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
sys/compat/linux/common/linux_socket.c: revision 1.153
sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
sys/compat/common/vfs_syscalls_43.c: revision 1.68
sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
sys/compat/common/kern_time_50.c: revision 1.37
sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
sys/compat/linux/common/linux_cdrom.c: revision 1.28
sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
sys/compat/common/kern_info_09.c: revision 1.22
sys/compat/linux32/common/linux32_resource.c: revision 1.12
sys/compat/linux/common/linux_oldolduname.c: revision 1.67
sys/compat/common/if_media_80.c: revision 1.4
sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5
sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
sys/compat/linux32/common/linux32_signal.c: revision 1.21
sys/compat/common/kern_sig_13.c: revision 1.22
sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
sys/compat/netbsd32/netbsd32_time.c: revision 1.56
sys/compat/linux/common/linux_signal.c: revision 1.84
sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
sys/compat/sunos32/sunos32_misc.c: revision 1.85
sys/compat/linux/common/linux_time.c: revision 1.40
sys/compat/linux/common/linux_fdio.c: revision 1.14
sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.32.12.1 21-Jun-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1836):

sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
sys/compat/sunos/sunos_misc.c: revision 1.177
sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
sys/compat/common/kern_resource_43.c: revision 1.23
sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
sys/compat/common/vfs_syscalls_12.c: revision 1.38
sys/compat/ultrix/ultrix_misc.c: revision 1.126
sys/compat/common/kern_sig_43.c: revision 1.37
sys/compat/linux/common/linux_mtio.c: revision 1.8
sys/compat/freebsd/freebsd_misc.c: revision 1.34
sys/compat/linux/common/linux_olduname.c: revision 1.67
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
sys/compat/freebsd/freebsd_sched.c: revision 1.23
sys/compat/ossaudio/ossaudio.c: revision 1.84
sys/compat/sys/time_types.h: revision 1.6
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
sys/compat/linux/common/linux_file.c: revision 1.119
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
sys/compat/linux32/common/linux32_time.c: revision 1.38
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
sys/compat/linux/common/linux_misc.c: revision 1.252
sys/compat/linux/common/linux_hdio.c: revision 1.19
sys/compat/sunos/sunos_ioctl.c: revision 1.71
sys/compat/linux/common/linux_sched.c: revision 1.79
sys/compat/common/kern_info_43.c: revision 1.40
sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
sys/compat/linux/common/linux_socket.c: revision 1.153
sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
sys/compat/common/vfs_syscalls_43.c: revision 1.68
sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
sys/compat/common/kern_time_50.c: revision 1.37
sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
sys/compat/linux/common/linux_cdrom.c: revision 1.28
sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
sys/compat/common/kern_info_09.c: revision 1.22
sys/compat/linux32/common/linux32_resource.c: revision 1.12
sys/compat/linux/common/linux_oldolduname.c: revision 1.67
sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
sys/compat/linux32/common/linux32_signal.c: revision 1.21
sys/compat/common/kern_sig_13.c: revision 1.22
sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
sys/compat/netbsd32/netbsd32_time.c: revision 1.56
sys/compat/linux/common/linux_signal.c: revision 1.84
sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
sys/compat/sunos32/sunos32_misc.c: revision 1.85
sys/compat/linux/common/linux_time.c: revision 1.40
sys/compat/linux/common/linux_fdio.c: revision 1.14
sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 04-Dec-2007  dsl branches: 1.5.12; 1.5.14; 1.5.16;
Remove all the __P
 1.4 01-Mar-2003  thorpej branches: 1.4.18; 1.4.74; 1.4.76; 1.4.82; 1.4.86;
Do the syscall_plain/syscall_fancy dance on ARM. Shaves a fair number
of cycles off the syscall overhead.

Since all COMPAT_LINUX platforms now support __HAVE_SYSCALL_INTERN,
garbage-collect the LINUX_SYSCALL_FUNCTION stuff.
 1.3 15-Feb-2002  christos branches: 1.3.2;
- 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.2 17-Jan-2002  bjh21 branches: 1.2.2;
More-or-less working signal handling for Linux processes on ARM.
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.2.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.2.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.1 17-Jan-2002  jdolecek file linux_machdep.h was added on branch kqueue on 2002-02-11 20:09:30 +0000
 1.3.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.3.2.1 15-Feb-2002  nathanw file linux_machdep.h was added on branch nathanw_sa on 2002-02-28 04:12:47 +0000
 1.4.86.1 08-Dec-2007  ad Sync with head.
 1.4.82.1 08-Dec-2007  mjf Sync with HEAD.
 1.4.76.1 09-Jan-2008  matt sync with HEAD
 1.4.74.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.4.18.1 07-Dec-2007  yamt sync with head
 1.5.16.1 16-May-2008  yamt sync with head.
 1.5.14.1 18-May-2008  yamt sync with head.
 1.5.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.5 14-Mar-2015  njoly Support Linux MAP_LOCKED mmap flag.
 1.4 28-Apr-2008  martin branches: 1.4.44; 1.4.64;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.70; 1.3.72; 1.3.74;
merge ktrace-lwp.
 1.2 28-Aug-2004  jdolecek g/c LINUX_MAP_IGNMASK define - it's not used anywhere
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4; 1.1.20;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Sep-2004  skrll Sync with HEAD
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file linux_mmap.h was added on branch nathanw_sa on 2002-02-28 04:12:47 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_mmap.h was added on branch kqueue on 2002-02-11 20:09:30 +0000
 1.3.74.1 16-May-2008  yamt sync with head.
 1.3.72.1 18-May-2008  yamt sync with head.
 1.3.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.64.1 06-Apr-2015  skrll Sync with HEAD
 1.4.44.1 03-Dec-2017  jdolecek update from HEAD
 1.23 07-Sep-2021  riastradh sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.22 23-May-2020  ad Move proc_lock into the data segment. It was dynamically allocated because
at the time we had mutex_obj_alloc() but not __cacheline_aligned.
 1.21 26-Jan-2018  christos branches: 1.21.8;
union was removed
 1.20 28-Aug-2017  kamil Remove the filesystem tracing feature

This is a legacy interface from 4.4BSD, and it was
introduced to overcome shortcomings of ptrace(2) at that time, which are
no longer relevant (performance). Today /proc/#/ctl offers a narrow
subset of ptrace(2) commands and is not applicable for modern
applications use beyond simplistic tracing scenarios.

This removal will simplify kernel internals. Users will still be able to
use all the other /proc files.

This change won't affect other procfs files neither Linux compat
features within mount_procfs(8). /proc/#/ctl isn't available on Linux.

Remove:
- /proc/#/ctl from mount_procfs(8)
- P_FSTRACE note from the documentation of ps(1)
- /proc/#/ctl and filesystem tracing documentation from mount_procfs(8)
- KAUTH_REQ_PROCESS_PROCFS_CTL documentation from kauth(9)
- source code file miscfs/procfs/procfs_ctl.c
- PFSctl and procfs_doctl() from sys/miscfs/procfs/procfs.h
- KAUTH_REQ_PROCESS_PROCFS_CTL from sys/sys/kauth.h
- PSL_FSTRACE (0x00010000) from sys/sys/proc.h
- P_FSTRACE (0x00010000) from sys/sys/sysctl.h

Reduce code complexity after removal of this functionality.

Update TODO.ptrace accordingly: remove two entries about /proc tracing.

Do not keep legacy notes as comments in the headers about removed
PSL_FSTRACE / P_FSTRACE, as this interface had little number of users
(close or equal to zero).

Proposed on tech-kern@.

All filesystem tracing utility users are encouraged to switch to ptrace(2).

Sponsored by <The NetBSD Foundation>
 1.19 13-Oct-2015  pgoyette branches: 1.19.10;
Don't release proc_lock until we're done looking at things that are
protected by the lock, particularly p_stat and p_waited. Found by
Robert Elz.

XXX Pullup to NetBSD-7, -6, -6-0, and -6-1
 1.18 09-Nov-2014  maxv branches: 1.18.2;
Do not uselessly include <sys/malloc.h>.
 1.17 04-Sep-2012  matt branches: 1.17.2; 1.17.14;
Add missing <machine/pcb.h> include
 1.16 07-Jul-2010  chs branches: 1.16.8; 1.16.14; 1.16.18; 1.16.20;
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.15 01-Jul-2010  rmind Remove pfind() and pgfind(), fix locking in various broken uses of these.
Rename real routines to proc_find() and pgrp_find(), remove PFIND_* flags
and have consistent behaviour. Provide proc_find_raw() for special cases.
Fix memory leak in sysctl_proc_corename().

COMPAT_LINUX: rework ptrace() locking, minimise differences between
different versions per-arch.

Note: while this change adds some formal cosmetics for COMPAT_DARWIN and
COMPAT_IRIX - locking there is utterly broken (for ages).

Fixes PR/43176.
 1.14 17-Dec-2008  cegger branches: 1.14.4; 1.14.6;
kill MALLOC and FREE macros.
 1.13 28-Apr-2008  martin branches: 1.13.2; 1.13.8;
Remove clause 3 and 4 from TNF licenses
 1.12 23-Apr-2008  ad branches: 1.12.2;
Disable bitrotted linux ptrace interfaces, which are likely now a
security hole. Can be re-enabled at runtime. If you want to repair
them please look at the native implementation.
 1.11 20-Dec-2007  dsl branches: 1.11.6; 1.11.8;
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.10 08-Dec-2007  dsl branches: 1.10.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.9 04-Mar-2007  christos branches: 1.9.14; 1.9.16; 1.9.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 19-Feb-2007  ad Make this build.
 1.7 09-Feb-2007  ad branches: 1.7.2;
Merge newlock2 to head.
 1.6 01-Sep-2006  matt branches: 1.6.2;
When calling PTRACE from an LKM, use sysent[SYS_ptrace].sy_call in case
the sys_ptrace symbol isn't present.
 1.5 30-Aug-2006  matt Update to deal with options PTRACE
 1.4 06-Mar-2006  thorpej Remove SET/CLR/ISSET definitions.
 1.3 18-Jan-2003  thorpej branches: 1.3.18; 1.3.24; 1.3.32; 1.3.34; 1.3.36;
Merge the nathanw_sa branch.
 1.2 27-Jan-2002  bjh21 branches: 1.2.2; 1.2.4;
Add support for PTRACE_GETREGS and PTRACE_SETREGS in ARMLinux emulation.
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.2.4.4 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.2.4.3 04-May-2002  thorpej LWP'ify.
 1.2.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.1 27-Jan-2002  nathanw file linux_ptrace.c was added on branch nathanw_sa on 2002-02-28 04:12:47 +0000
 1.2.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.1 27-Jan-2002  jdolecek file linux_ptrace.c was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.3.36.1 13-Mar-2006  yamt sync with head.
 1.3.34.1 22-Apr-2006  simonb Sync with head.
 1.3.32.1 09-Sep-2006  rpaulo sync with head
 1.3.24.2 07-Mar-2006  he Sorry, committed on branch in error, so back out previous removal
of SET/CLR/ISSET.
 1.3.24.1 07-Mar-2006  he Remove another instance of the macro triplet SET/CLR/ISSET, now found
in <sys/types.h>.
 1.3.18.4 21-Jan-2008  yamt sync with head
 1.3.18.3 03-Sep-2007  yamt sync with head.
 1.3.18.2 26-Feb-2007  yamt sync with head.
 1.3.18.1 21-Jun-2006  yamt sync with head.
 1.6.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.7.2.2 12-Mar-2007  rmind Sync with HEAD.
 1.7.2.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.9.24.1 26-Dec-2007  ad Sync with head.
 1.9.16.1 09-Jan-2008  matt sync with HEAD
 1.9.14.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.10.4.1 02-Jan-2008  bouyer Sync with HEAD
 1.11.8.1 18-May-2008  yamt sync with head.
 1.11.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.11.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.2.3 11-Aug-2010  yamt sync with head.
 1.12.2.2 04-May-2009  yamt sync with head.
 1.12.2.1 16-May-2008  yamt sync with head.
 1.13.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.13.2.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.13.2.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.14.6.2 05-Mar-2011  rmind sync with head
 1.14.6.1 03-Jul-2010  rmind sync with head
 1.14.4.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.16.20.1 15-Nov-2015  bouyer Pull up following revision(s) (requested by pgoyette in ticket #1335):
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.31
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.19
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.29
Don't release proc_lock until we're done looking at things that are
protected by the lock, particularly p_stat and p_waited. Found by
Robert Elz.
XXX Pullup to NetBSD-7, -6, -6-0, and -6-1
 1.16.18.1 15-Nov-2015  bouyer Pull up following revision(s) (requested by pgoyette in ticket #1335):
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.31
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.19
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.29
Don't release proc_lock until we're done looking at things that are
protected by the lock, particularly p_stat and p_waited. Found by
Robert Elz.
XXX Pullup to NetBSD-7, -6, -6-0, and -6-1
 1.16.14.1 15-Nov-2015  bouyer Pull up following revision(s) (requested by pgoyette in ticket #1335):
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.31
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.19
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.29
Don't release proc_lock until we're done looking at things that are
protected by the lock, particularly p_stat and p_waited. Found by
Robert Elz.
XXX Pullup to NetBSD-7, -6, -6-0, and -6-1
 1.16.8.1 30-Oct-2012  yamt sync with head
 1.17.14.2 05-Nov-2015  snj Pull up following revision(s) (requested by pgoyette in ticket #998):
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.19
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.31
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.29
Don't release proc_lock until we're done looking at things that are
protected by the lock, particularly p_stat and p_waited. Found by
Robert Elz.
 1.17.14.1 17-Jan-2015  martin branches: 1.17.14.1.2;
Pull up following revision(s) (requested by maxv in ticket #427):
sys/compat/svr4/svr4_schedctl.c: revision 1.8
sys/netinet/tcp_timer.c: revision 1.88
sys/miscfs/genfs/layer_vfsops.c: revision 1.45
sys/compat/svr4/svr4_ioctl.c: revision 1.37
sys/ufs/chfs/chfs_vfsops.c: revision 1.14
sys/miscfs/fdesc/fdesc_vfsops.c: revision 1.91
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.30
sys/compat/common/kern_time_50.c: revision 1.28
sys/netinet6/ip6_forward.c: revision 1.74
sys/miscfs/umapfs/umap_vnops.c: revision 1.57
sys/compat/svr4/svr4_fcntl.c: revision 1.74
distrib/sets/lists/comp/mi: revision 1.1931
sys/netinet6/udp6_output.c: revision 1.46
sys/fs/puffs/puffs_compat.c: revision 1.3
sys/fs/udf/udf_rename.c: revision 1.11
sys/compat/svr4/svr4_filio.c: revision 1.24
sys/fs/udf/udf_rename.c: revision 1.12
sys/netinet/tcp_usrreq.c: revision 1.202
sys/miscfs/umapfs/umap_subr.c: revision 1.29
sys/compat/linux/common/linux_fadvise64.c: revision 1.3
sys/netinet/if_atm.c: revision 1.34
sys/miscfs/procfs/procfs_subr.c: revision 1.106
sys/miscfs/genfs/layer_subr.c: revision 1.37
sys/netinet/tcp_sack.c: revision 1.30
sys/compat/freebsd/freebsd_misc.c: revision 1.33
sys/compat/freebsd/freebsd_file.c: revision 1.33
sys/ufs/chfs/chfs_vnode.c: revision 1.12
sys/compat/svr4/svr4_ttold.c: revision 1.34
sys/compat/linux/common/linux_file.c: revision 1.114
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.43
sys/compat/linux/common/linux_signal.c: revision 1.76
sys/compat/common/compat_util.c: revision 1.46
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.18
sys/compat/svr4/svr4_sockio.c: revision 1.36
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.32
sys/compat/svr4/svr4_signal.c: revision 1.66
sys/kern/kern_exec.c: revision 1.410
sys/fs/puffs/puffs_vfsops.c: revision 1.115
sys/compat/svr4/svr4_exec_elf64.c: revision 1.15
sys/compat/linux/arch/i386/linux_machdep.c: revision 1.159
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.50
sys/compat/linux32/common/linux32_misc.c: revision 1.24
sys/netinet/in_pcb.c: revision 1.153
sys/sys/malloc.h: revision 1.116
sys/compat/common/if_43.c: revision 1.9
share/man/man9/Makefile: revision 1.380
sys/netinet/tcp_vtw.c: revision 1.12
sys/miscfs/umapfs/umap_vfsops.c: revision 1.95
sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.186
sys/compat/common/uipc_syscalls_43.c: revision 1.46
sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.115
sys/fs/puffs/puffs_msgif.c: revision 1.97
sys/compat/svr4/svr4_ipc.c: revision 1.27
sys/compat/linux/common/linux_exec.c: revision 1.117
sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.66
sys/netinet/tcp_output.c: revision 1.179
sys/compat/svr4/svr4_termios.c: revision 1.28
sys/fs/udf/udf_strat_bootstrap.c: revision 1.4
sys/fs/puffs/puffs_subr.c: revision 1.67
sys/fs/puffs/puffs_node.c: revision 1.36
sys/miscfs/overlay/overlay_vnops.c: revision 1.21
sys/fs/cd9660/cd9660_node.c: revision 1.34
sys/netinet/raw_ip.c: revision 1.146
sys/sys/mallocvar.h: revision 1.13
sys/miscfs/overlay/overlay_vfsops.c: revision 1.63
share/man/man9/malloc.9: revision 1.50
sys/netinet6/dest6.c: revision 1.18
sys/compat/linux/common/linux_uselib.c: revision 1.33
sys/compat/linux/common/linux_socket.c: revision 1.120
share/man/man9/malloc.9: revision 1.51
sys/netinet/tcp_subr.c: revision 1.257
sys/compat/linux/common/linux_socketcall.c: revision 1.45
sys/compat/linux/common/linux_fadvise64_64.c: revision 1.3
sys/compat/freebsd/freebsd_ipc.c: revision 1.17
sys/compat/linux/common/linux_misc_notalpha.c: revision 1.109
sys/compat/linux/arch/alpha/linux_pipe.c: revision 1.17
sys/netinet6/in6_pcb.c: revision 1.132
sys/netinet6/in6_ifattach.c: revision 1.94
sys/compat/svr4/svr4_exec_elf32.c: revision 1.15
sys/miscfs/nullfs/null_vfsops.c: revision 1.90
sys/fs/cd9660/cd9660_util.c: revision 1.12
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.48
sys/compat/freebsd/freebsd_exec_elf32.c: revision 1.20
sys/miscfs/procfs/procfs_vfsops.c: revision 1.94
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.28
sys/compat/linux/common/linux_sched.c: revision 1.67
sys/compat/linux/common/linux_exec_aout.c: revision 1.67
sys/compat/linux/common/linux_pipe.c: revision 1.67
sys/compat/linux/common/linux_llseek.c: revision 1.34
sys/compat/linux/arch/mips/linux_ptrace.c: revision 1.10
Do not uselessly include <sys/malloc.h>.
Cleanup:
- remove struct kmembuckets (dead)
- correctly deadify MALLOC_XX
- remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead)
- remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT()
and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc
New sentence, new line. Bump date for previous.
Obsolete malloc_roundup(9), malloc_type_setlimit(9) and MALLOC_DEFINE_LIMIT(9)
man pages.
 1.17.14.1.2.1 05-Nov-2015  snj Pull up following revision(s) (requested by pgoyette in ticket #998):
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.19
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.31
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.29
Don't release proc_lock until we're done looking at things that are
protected by the lock, particularly p_stat and p_waited. Found by
Robert Elz.
 1.17.2.1 03-Dec-2017  jdolecek update from HEAD
 1.18.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.19.10.2 21-Jun-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1836):

sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
sys/compat/sunos/sunos_misc.c: revision 1.177
sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
sys/compat/common/kern_resource_43.c: revision 1.23
sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
sys/compat/common/vfs_syscalls_12.c: revision 1.38
sys/compat/ultrix/ultrix_misc.c: revision 1.126
sys/compat/common/kern_sig_43.c: revision 1.37
sys/compat/linux/common/linux_mtio.c: revision 1.8
sys/compat/freebsd/freebsd_misc.c: revision 1.34
sys/compat/linux/common/linux_olduname.c: revision 1.67
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
sys/compat/freebsd/freebsd_sched.c: revision 1.23
sys/compat/ossaudio/ossaudio.c: revision 1.84
sys/compat/sys/time_types.h: revision 1.6
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
sys/compat/linux/common/linux_file.c: revision 1.119
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
sys/compat/linux32/common/linux32_time.c: revision 1.38
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
sys/compat/linux/common/linux_misc.c: revision 1.252
sys/compat/linux/common/linux_hdio.c: revision 1.19
sys/compat/sunos/sunos_ioctl.c: revision 1.71
sys/compat/linux/common/linux_sched.c: revision 1.79
sys/compat/common/kern_info_43.c: revision 1.40
sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
sys/compat/linux/common/linux_socket.c: revision 1.153
sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
sys/compat/common/vfs_syscalls_43.c: revision 1.68
sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
sys/compat/common/kern_time_50.c: revision 1.37
sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
sys/compat/linux/common/linux_cdrom.c: revision 1.28
sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
sys/compat/common/kern_info_09.c: revision 1.22
sys/compat/linux32/common/linux32_resource.c: revision 1.12
sys/compat/linux/common/linux_oldolduname.c: revision 1.67
sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
sys/compat/linux32/common/linux32_signal.c: revision 1.21
sys/compat/common/kern_sig_13.c: revision 1.22
sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
sys/compat/netbsd32/netbsd32_time.c: revision 1.56
sys/compat/linux/common/linux_signal.c: revision 1.84
sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
sys/compat/sunos32/sunos32_misc.c: revision 1.85
sys/compat/linux/common/linux_time.c: revision 1.40
sys/compat/linux/common/linux_fdio.c: revision 1.14
sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.19.10.1 12-Apr-2018  martin Pull up following revision(s) (requested by kamil in ticket #713):

sys/modules/procfs/Makefile: revision 1.4
sys/miscfs/procfs/procfs_vfsops.c: revision 1.98
bin/ps/ps.1: revision 1.108
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.32
sys/miscfs/procfs/procfs_vnops.c: revision 1.198
sys/kern/sys_ptrace_common.c: revision 1.23
sys/kern/sys_ptrace_common.c: revision 1.24
sbin/mount_procfs/mount_procfs.8: revision 1.36
sys/kern/sys_ptrace_common.c: revision 1.25
sys/kern/sys_ptrace.c: revision 1.5
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.30
sys/sys/proc.h: revision 1.342
sys/kern/sys_ptrace_common.c: revision 1.26
sys/miscfs/procfs/procfs_ctl.c: file removal
sys/kern/sys_ptrace_common.c: revision 1.27
sys/miscfs/procfs/procfs_subr.c: revision 1.109
sys/kern/sys_ptrace_common.c: revision 1.28
sys/secmodel/extensions/secmodel_extensions.c: revision 1.8
sys/kern/sys_ptrace_common.c: revision 1.29
sys/sys/ptrace.h: revision 1.62
sys/compat/netbsd32/netbsd32_signal.c: revision 1.45
share/man/man9/kauth.9: revision 1.109
sys/miscfs/procfs/files.procfs: revision 1.12
sys/compat/netbsd32/netbsd32.h: revision 1.115
sys/miscfs/procfs/procfs.h: revision 1.72
sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.5
sys/kern/kern_sig.c: revision 1.337
sys/sys/kauth.h: revision 1.75
sys/sys/sysctl.h: revision 1.224
sys/kern/sys_ptrace_common.c: revision 1.30
sys/kern/sys_ptrace_common.c: revision 1.31
sys/kern/sys_ptrace_common.c: revision 1.32
sys/kern/sys_ptrace_common.c: revision 1.33
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.20
sys/kern/sys_ptrace_common.c: revision 1.34
sys/kern/sys_ptrace_common.c: revision 1.36
sys/kern/kern_proc.c: revision 1.207
sys/kern/kern_exit.c: revision 1.269
doc/TODO.ptrace: revision 1.29

Make {s,g}et{db,fp,}regs work again for PK_32 processes
XXX: pullup-8

add disgusting magic to handle compat_netbsd32 as a module.

use process_*reg32 instead of struct *reg32.

Remove the filesystem tracing feature

This is a legacy interface from 4.4BSD, and it was
introduced to overcome shortcomings of ptrace(2) at that time, which are
no longer relevant (performance). Today /proc/#/ctl offers a narrow
subset of ptrace(2) commands and is not applicable for modern
applications use beyond simplistic tracing scenarios.

This removal will simplify kernel internals. Users will still be able to
use all the other /proc files.

This change won't affect other procfs files neither Linux compat
features within mount_procfs(8). /proc/#/ctl isn't available on Linux.

Remove:
- /proc/#/ctl from mount_procfs(8)
- P_FSTRACE note from the documentation of ps(1)
- /proc/#/ctl and filesystem tracing documentation from mount_procfs(8)
- KAUTH_REQ_PROCESS_PROCFS_CTL documentation from kauth(9)
- source code file miscfs/procfs/procfs_ctl.c
- PFSctl and procfs_doctl() from sys/miscfs/procfs/procfs.h
- KAUTH_REQ_PROCESS_PROCFS_CTL from sys/sys/kauth.h
- PSL_FSTRACE (0x00010000) from sys/sys/proc.h
- P_FSTRACE (0x00010000) from sys/sys/sysctl.h

Reduce code complexity after removal of this functionality.

Update TODO.ptrace accordingly: remove two entries about /proc tracing.

Do not keep legacy notes as comments in the headers about removed

PSL_FSTRACE / P_FSTRACE, as this interface had little number of users
(close or equal to zero).
Proposed on tech-kern@.

All filesystem tracing utility users are encouraged to switch to ptrace(2).

Sponsored by <The NetBSD Foundation>

untangle the mess:
- factor out common code
- break each ptrace subcall to its own sub-function
.. more to come ...
- reduce ifdef ugliness by moving it up top.
- factor out PT_IO and make PT_{READ,WRITE}_{I,D} use it
- factor out PT_DUMPCORE
- factor out sendsig code
.. more to come ...

handle siginfo requests for ptrace32

ptrace: Partially undo PT_{READ,WRITE}_{I,D} and unbreak these commands

The refactored code did not work and was generating EFAULT.

Sponsored by <The NetBSD Foundation>

Merge the code back; the problem was that since we are reading/writing
to a kernel address for PT_{READ,WRITE}_{I,D} we need the kernel vmspace.
provide separate read and write functions to accomodate register functions
that need a size argument.

don't ignore error from copyout_piod

Use the proper process (the tracee) to get information about lwps and
registers and the tracer for vmspace.

Add new sysctl(3) entry: security.models.extensions.user_set_dbregs

Model this new sysctl(3) entry after "user_set_cpu_affinity" in the same
level of sysctl(3) switches.

Allow to read unconditionally Debug Registers (no change here). This is
convenient as even if a user of a debugger does not use hardware assisted
watchpoints/breakpoints, a debugger can still prompt these values to store
in an internal cache with context of registers. Reading them should have
no security concerns.

Add a paranoid MI switch that prohibits by default setting these registers
by a regular user (non-superuser). Make this switch disabled by default.
There are enough reserved bits out there to allow using them
unconditionally on hardened hosts.

Features shipped with Debug Registers are optional features in debuggers.
There is no reduction in elementary functionality.

Reviewed by <christos>

Sponsored by <The NetBSD Foundation>
 1.21.8.1 03-Aug-2022  martin Pull up following revision(s), all via patch
(requested by riastradh in ticket #1487):

sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
sys/compat/sunos/sunos_misc.c: revision 1.177
sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
sys/compat/common/kern_resource_43.c: revision 1.23
sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
sys/compat/common/vfs_syscalls_12.c: revision 1.38
sys/compat/ultrix/ultrix_misc.c: revision 1.126
sys/compat/common/kern_sig_43.c: revision 1.37
sys/compat/linux/common/linux_mtio.c: revision 1.8
sys/compat/freebsd/freebsd_misc.c: revision 1.34
sys/compat/freebsd/freebsd_machdep.c: revision 1.5
sys/compat/linux/common/linux_olduname.c: revision 1.67
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
sys/compat/freebsd/freebsd_sched.c: revision 1.23
sys/compat/ossaudio/ossaudio.c: revision 1.84
sys/compat/sys/time_types.h: revision 1.6
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
sys/compat/common/ieee80211_20.c: revision 1.7
sys/compat/linux/common/linux_file.c: revision 1.119
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
sys/compat/linux32/common/linux32_time.c: revision 1.38
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
sys/compat/linux/common/linux_misc.c: revision 1.252
sys/compat/linux/common/linux_hdio.c: revision 1.19
sys/compat/sunos/sunos_ioctl.c: revision 1.71
sys/compat/linux/common/linux_sched.c: revision 1.79
sys/compat/common/kern_info_43.c: revision 1.40
sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
sys/compat/linux/common/linux_socket.c: revision 1.153
sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
sys/compat/common/vfs_syscalls_43.c: revision 1.68
sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
sys/compat/common/kern_time_50.c: revision 1.37
sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
sys/compat/linux/common/linux_cdrom.c: revision 1.28
sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
sys/compat/common/kern_info_09.c: revision 1.22
sys/compat/linux32/common/linux32_resource.c: revision 1.12
sys/compat/linux/common/linux_oldolduname.c: revision 1.67
sys/compat/common/if_media_80.c: revision 1.4
sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5
sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
sys/compat/linux32/common/linux32_signal.c: revision 1.21
sys/compat/common/kern_sig_13.c: revision 1.22
sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
sys/compat/netbsd32/netbsd32_time.c: revision 1.56
sys/compat/linux/common/linux_signal.c: revision 1.84
sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
sys/compat/sunos32/sunos32_misc.c: revision 1.85
sys/compat/linux/common/linux_time.c: revision 1.40
sys/compat/linux/common/linux_fdio.c: revision 1.14
sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 31-Mar-2002  christos branches: 1.3.108; 1.3.110; 1.3.112;
bring the reverse signal mapping array into linux_signo.c
 1.2 31-Mar-2002  christos make signal array handling uniform, and put signal arrays in a separate
file. This is simular to errno array handling.
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.4.3 17-Apr-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file linux_sigarray.c was added on branch nathanw_sa on 2002-02-28 04:12:47 +0000
 1.1.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_sigarray.c was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.3.112.1 16-May-2008  yamt sync with head.
 1.3.110.1 18-May-2008  yamt sync with head.
 1.3.108.1 02-Jun-2008  mjf Sync with HEAD.
 1.2 08-Jun-2009  njoly Various compat linux siginfo fixes.
- alpha: add missing _uid member to SIGCHLD structure.
- amd64: add missing typedef, and fix padding size.
- arm: add missing linux_siginfo definition.
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4; 1.1.122; 1.1.138;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.138.1 23-Jul-2009  jym Sync with HEAD.
 1.1.122.1 20-Jun-2009  yamt sync with head
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file linux_siginfo.h was added on branch nathanw_sa on 2002-02-28 04:12:47 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_siginfo.h was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.9 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.8 04-Dec-2007  dsl branches: 1.8.12; 1.8.14; 1.8.16;
Remove all the __P
 1.7 11-Dec-2005  christos branches: 1.7.44; 1.7.46; 1.7.52; 1.7.56;
merge ktrace-lwp.
 1.6 19-Sep-2005  christos MINSIGSTKSZ on linux is different depending on the platform and usually
smaller than ours.
 1.5 19-May-2005  manu branches: 1.5.2;
Add support for Linux SA_RESTORER on amd64.
 1.4 26-Nov-2002  christos branches: 1.4.6;
rename: s/sa_/<compat>sa/g
 1.3 19-Mar-2002  christos - Now that RT-signals fit, fix the array to deliver them. [i386 only].
- jdk-1.4 works perfectly now. :-)
 1.2 17-Feb-2002  bjh21 branches: 1.2.2;
Add LINUX_SA_NOCLDWAIT.
 1.1 14-Jan-2002  bjh21 branches: 1.1.2;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_signal.h was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.2.2.4 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 17-Feb-2002  nathanw file linux_signal.h was added on branch nathanw_sa on 2002-02-28 04:12:47 +0000
 1.4.6.1 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.2 07-Dec-2007  yamt sync with head
 1.5.2.1 21-Jun-2006  yamt sync with head.
 1.7.56.1 08-Dec-2007  ad Sync with head.
 1.7.52.1 08-Dec-2007  mjf Sync with HEAD.
 1.7.46.1 09-Jan-2008  matt sync with HEAD
 1.7.44.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.8.16.1 16-May-2008  yamt sync with head.
 1.8.14.1 18-May-2008  yamt sync with head.
 1.8.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.5 25-Jan-2014  njoly Update linux socket socket options (SO_*). Add common version to its
own file (linux_socket_generic.h); use it for all but alpha and mips.
 1.4 28-Apr-2008  martin branches: 1.4.34; 1.4.44; 1.4.50;
Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.70; 1.3.72; 1.3.74;
merge ktrace-lwp.
 1.2 26-Jul-2003  jdolecek add LINUX_SO_PEERNAME, LINUX_SO_TIMESTAMP where it has been missing
fix value for LINUX_SO_DETACH_FILTER on couple places (unused anyway)

g/c LINUX_SCM_TIMESTAMP definition for some archs, it will be defined
in generic linux_socket.h
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4; 1.1.20;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.20.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.20.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.20.1 03-Aug-2004  skrll Sync with HEAD
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file linux_socket.h was added on branch nathanw_sa on 2002-02-28 04:12:48 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_socket.h was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.3.74.1 16-May-2008  yamt sync with head.
 1.3.72.1 18-May-2008  yamt sync with head.
 1.3.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.50.1 18-May-2014  rmind sync with head
 1.4.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.34.1 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.15 24-Jan-2018  skrll Remove port-acorn26

OK core@
 1.14 07-Jul-2010  chs 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.13 20-Dec-2007  dsl branches: 1.13.10; 1.13.30; 1.13.32;
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.12 11-May-2006  yamt branches: 1.12.34; 1.12.44; 1.12.48;
cleanup user.h.
- remove several #include which are not directly related to
this header anymore. tweak *.c accordingly.
- update comments.
- move some !_KERNEL #include to proc.h because it's more appropriate
place these days.
- whitespace.
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
merge ktrace-lwp.
 1.10 26-Feb-2005  perry branches: 1.10.4;
nuke trailing whitespace
 1.9 10-Oct-2003  matt branches: 1.9.8; 1.9.10;
Adapt ARM Linux compat code to deal with SIGINFO.
 1.8 18-Jan-2003  thorpej branches: 1.8.2;
Merge the nathanw_sa branch.
 1.7 24-Mar-2002  bjh21 arm26->acorn26 transition.
 1.6 10-Mar-2002  bjh21 __RCSID -> __KERNEL_RCSID
 1.5 10-Mar-2002  bjh21 Id -> NetBSD in RCSID (oops).
 1.4 02-Feb-2002  bjh21 branches: 1.4.2; 1.4.4;
cpu_cache_syncI_rng -> cpu_icache_sync_range
 1.3 02-Feb-2002  bjh21 Get rid of "unused variable" warnings on arm26.
 1.2 27-Jan-2002  bjh21 Add support for breakpoints to ARMLinux emulation.
 1.1 23-Jan-2002  bjh21 Add support for the ARM-specific syscalls in ARMLinux. These are invoked
by SWI numbers above 0x9f0000, but we re-map them down to somewhere just
after the end of the usual syscall range, since NetBSD doesn't handle
sparse syscall arrays well.

The only syscall I've actually implemented in this range is cacheflush(),
which was previously being mapped to fork(), causing ... interesting results.
 1.4.4.4 04-May-2002  thorpej LWP'ify.
 1.4.4.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.4.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.4.4.1 02-Feb-2002  nathanw file linux_sys_machdep.c was added on branch nathanw_sa on 2002-02-28 04:12:48 +0000
 1.4.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.4.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.4.2.1 02-Feb-2002  jdolecek file linux_sys_machdep.c was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.8.2.4 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.10.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.8.1 29-Apr-2005  kent sync with -current
 1.10.4.2 21-Jan-2008  yamt sync with head
 1.10.4.1 21-Jun-2006  yamt sync with head.
 1.11.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.11.10.1 11-May-2006  elad sync with head
 1.11.8.1 24-May-2006  yamt sync with head.
 1.11.6.1 01-Jun-2006  kardel Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.12.48.1 02-Jan-2008  bouyer Sync with HEAD
 1.12.44.1 26-Dec-2007  ad Sync with head.
 1.12.34.1 09-Jan-2008  matt sync with HEAD
 1.13.32.1 05-Mar-2011  rmind sync with head
 1.13.30.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.13.10.1 11-Aug-2010  yamt sync with head.
 1.95 28-Sep-2024  christos regen
 1.94 01-Jul-2024  christos regen
 1.93 29-Jun-2024  christos branches: 1.93.2;
regen
 1.92 19-Aug-2023  christos regen
 1.91 18-Aug-2023  christos regen
 1.90 29-Jul-2023  christos regen
 1.89 28-Jul-2023  christos regen
 1.88 02-Dec-2021  ryo regen
 1.87 24-Nov-2021  ryo regen
 1.86 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.85 20-Sep-2021  thorpej Regen for eventfd.
 1.84 19-Sep-2021  thorpej Regen for timerfd.
 1.83 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.82 26-Apr-2020  thorpej branches: 1.82.2;
Regen for native futex calls.
 1.81 09-Nov-2019  jdolecek regen
 1.80 10-Aug-2018  pgoyette Regen
 1.79 10-May-2017  riastradh branches: 1.79.8; 1.79.10;
regen
 1.78 03-Feb-2017  christos branches: 1.78.4;
regen
 1.77 03-Feb-2017  martin Regen for accept4
 1.76 16-Jan-2017  christos regen all
 1.75 15-Jan-2017  christos branches: 1.75.2;
regen
 1.74 15-Jan-2017  christos regen
 1.73 15-Jan-2017  christos regen
 1.72 13-Jan-2017  christos regen
 1.71 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.70 02-Jan-2017  manu Regen
 1.69 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.68 23-Mar-2015  ozaki-r branches: 1.68.2;
Regen
 1.67 23-Mar-2015  ozaki-r Regen
 1.66 07-Mar-2015  christos regen
 1.65 22-Nov-2014  njoly branches: 1.65.2;
Regen for ppoll signature fix
 1.64 31-May-2014  njoly branches: 1.64.2;
Regen for munmap(2) signature.
 1.63 29-May-2014  njoly Regen for utimes(2) change.
 1.62 20-May-2014  njoly Regen for getgroups/setgroups update.
 1.61 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.60 06-May-2014  njoly Regen for mknod device argument type change.
 1.59 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.58 08-Apr-2014  njoly Regen.
 1.57 08-Dec-2013  njoly branches: 1.57.2;
Regen.
 1.56 19-Nov-2013  chs regen
 1.55 07-Nov-2013  njoly Regen for dup/dup2/dup3 argument types fix.
 1.54 24-Sep-2013  njoly Regen for utimensat(2).
 1.53 08-Apr-2013  pooka branches: 1.53.4;
regen for utimes
 1.52 19-Sep-2012  pooka regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.51 18-Nov-2011  christos branches: 1.51.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.50 30-May-2011  alnsn branches: 1.50.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.49 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.48 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.47 07-Jul-2010  chs branches: 1.47.2;
regen
 1.46 14-Dec-2009  matt branches: 1.46.2; 1.46.4;
Regen (new makesyscalls.sh)
 1.45 24-Nov-2009  njoly Regen for personality(2) update.
 1.44 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.43 17-Jan-2009  njoly branches: 1.43.2;
Regen for wait4 update.
 1.42 15-Jan-2009  njoly Rengen for compat50 update.
 1.41 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.40 13-Jan-2009  rtr actually commit syscalls.master this time
add back blank line between #include <sys/.. and #include <sys/compat/..
regen
 1.39 12-Jan-2009  rtr regen for christos_time_t merge
 1.38 19-Nov-2008  ad Regen.
 1.37 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.36 23-Apr-2008  ad branches: 1.36.2; 1.36.4; 1.36.8; 1.36.10; 1.36.12;
Regen.
 1.35 04-Apr-2008  njoly branches: 1.35.2;
Regen for linux_sys_msync removal.
 1.34 15-Jan-2008  njoly branches: 1.34.6;
Regen.
 1.33 24-Dec-2007  njoly Regen for linux_sys_getpgid removal.
 1.32 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.31 20-Dec-2007  dsl regen
 1.30 16-Nov-2007  njoly branches: 1.30.2; 1.30.6;
Regen, for syscalls cleanup.
 1.29 04-Mar-2007  christos branches: 1.29.14; 1.29.16; 1.29.20; 1.29.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.28 01-Sep-2006  matt branches: 1.28.8;
Regen.
 1.27 30-Aug-2006  matt Regen
 1.26 10-Jun-2006  christos regen
 1.25 11-Dec-2005  christos branches: 1.25.4; 1.25.8; 1.25.14;
merge ktrace-lwp.
 1.24 16-May-2005  fvdl branches: 1.24.2;
Regen.
 1.23 16-May-2005  fvdl Regen.
 1.22 26-Feb-2005  perry regen
 1.21 26-Feb-2005  perry regen
 1.20 20-Sep-2004  jdolecek branches: 1.20.4; 1.20.6;
regen:
implement support for Linux statfs64() syscall - 64bit variant of statfs()
 1.19 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.18 01-Aug-2004  jdolecek regen:

add stub entries for syscalls added until Linux kernel 2.6.7

move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
 1.17 01-Aug-2004  jdolecek regen:

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.16 10-Aug-2003  jdolecek regen - added wrapper for Linux ftruncate64()
 1.15 28-Jun-2003  he branches: 1.15.2;
Regenerate after adding include of linux_mmap.h.
 1.14 23-Jun-2003  christos Regen.
 1.13 18-Jan-2003  thorpej Regen to get correct RCS IDs.
 1.12 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.11 12-May-2002  jdolecek branches: 1.11.4;
regen - hook linux_sys_fcntl64()
 1.10 10-Apr-2002  christos regen
 1.9 22-Mar-2002  christos regen
 1.8 17-Feb-2002  bjh21 branches: 1.8.2;
Regen.
 1.7 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.6 27-Jan-2002  bjh21 branches: 1.6.2;
Regen (breakpoint() implemented).
 1.5 27-Jan-2002  bjh21 Regen (prototype for linux_sys_nosys()).
 1.4 23-Jan-2002  bjh21 Regen (sys_nosys -> linux_sys_nosys).
 1.3 23-Jan-2002  bjh21 Regen (cacheflush() and remove syscall 0).
 1.2 15-Jan-2002  bjh21 Regen.
 1.1 14-Jan-2002  bjh21 Generated files for ARMLinux binary compatibility.
 1.6.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.1 27-Jan-2002  jdolecek file linux_syscall.h was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.8.2.7 20-Jun-2002  nathanw Catch up to -current.
 1.8.2.6 29-May-2002  nathanw Regen.
 1.8.2.5 04-May-2002  thorpej Regen.
 1.8.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.8.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.2.1 17-Feb-2002  nathanw file linux_syscall.h was added on branch nathanw_sa on 2002-02-28 04:12:48 +0000
 1.11.4.4 14-Jun-2004  jmc Regen for changes in ticket #1708
 1.11.4.3 11-May-2004  tron Regen for ticket 1686.
 1.11.4.2 20-Nov-2003  jmc Regen after fix in syscalls.master from ticket #1427.
 1.11.4.1 22-Oct-2003  jmc Regen files (requested by tv in ticket #1427)

Proper support for mmap2
 1.15.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.15.2.4 24-Sep-2004  skrll Sync with HEAD.
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.20.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.20.4.1 29-Apr-2005  kent sync with -current
 1.24.2.5 21-Jan-2008  yamt sync with head
 1.24.2.4 07-Dec-2007  yamt sync with head
 1.24.2.3 03-Sep-2007  yamt sync with head.
 1.24.2.2 30-Dec-2006  yamt sync with head.
 1.24.2.1 21-Jun-2006  yamt sync with head.
 1.25.14.1 19-Jun-2006  chap Sync with head.
 1.25.8.2 03-Sep-2006  yamt sync with head.
 1.25.8.1 26-Jun-2006  yamt sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.28.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.29.22.3 18-Feb-2008  mjf Sync with HEAD.
 1.29.22.2 27-Dec-2007  mjf Sync with HEAD.
 1.29.22.1 19-Nov-2007  mjf Sync with HEAD.
 1.29.20.1 18-Nov-2007  bouyer Sync with HEAD
 1.29.16.2 23-Mar-2008  matt sync with HEAD
 1.29.16.1 09-Jan-2008  matt sync with HEAD
 1.29.14.1 21-Nov-2007  joerg Sync with HEAD.
 1.30.6.2 19-Jan-2008  bouyer Sync with HEAD
 1.30.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.30.2.1 26-Dec-2007  ad Sync with head.
 1.34.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.34.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.35.2.1 18-May-2008  yamt sync with head.
 1.36.12.1 20-Nov-2008  snj Regen for ticket 81.
 1.36.10.1 19-Jan-2009  skrll Sync with HEAD.
 1.36.8.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.36.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.36.2.4 11-Aug-2010  yamt sync with head.
 1.36.2.3 11-Mar-2010  yamt sync with head
 1.36.2.2 20-Jun-2009  yamt sync with head
 1.36.2.1 04-May-2009  yamt sync with head.
 1.43.2.1 23-Jul-2009  jym Sync with HEAD.
 1.46.4.3 31-May-2011  rmind sync with head
 1.46.4.2 21-Apr-2011  rmind sync with head
 1.46.4.1 05-Mar-2011  rmind sync with head
 1.46.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.47.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.50.4.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.50.4.2 30-Oct-2012  yamt sync with head
 1.50.4.1 17-Apr-2012  yamt sync with head
 1.51.10.4 03-Dec-2017  jdolecek update from HEAD
 1.51.10.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.10.2 23-Jun-2013  tls resync from head
 1.51.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.53.4.1 18-May-2014  rmind sync with head
 1.57.2.1 10-Aug-2014  tls Rebase.
 1.64.2.1 17-Apr-2017  snj regen for ticket 1354
 1.65.2.3 05-Feb-2017  skrll Sync with HEAD
 1.65.2.2 05-Oct-2016  skrll Sync with HEAD
 1.65.2.1 06-Apr-2015  skrll Sync with HEAD
 1.68.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.68.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.68.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.75.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.78.4.1 11-May-2017  pgoyette Sync with HEAD
 1.79.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.79.10.1 10-Jun-2019  christos Sync with HEAD
 1.79.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.82.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.82.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.93.2.1 02-Aug-2025  perseant Sync with HEAD
 1.95 28-Sep-2024  christos regen
 1.94 01-Jul-2024  christos regen
 1.93 29-Jun-2024  christos branches: 1.93.2;
regen
 1.92 19-Aug-2023  christos regen
 1.91 18-Aug-2023  christos regen
 1.90 29-Jul-2023  christos regen
 1.89 28-Jul-2023  christos regen
 1.88 02-Dec-2021  ryo regen
 1.87 24-Nov-2021  ryo regen
 1.86 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.85 20-Sep-2021  thorpej Regen for eventfd.
 1.84 19-Sep-2021  thorpej Regen for timerfd.
 1.83 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.82 26-Apr-2020  thorpej branches: 1.82.2;
Regen for native futex calls.
 1.81 09-Nov-2019  jdolecek regen
 1.80 10-Aug-2018  pgoyette Regen
 1.79 10-May-2017  riastradh branches: 1.79.8; 1.79.10;
regen
 1.78 03-Feb-2017  christos branches: 1.78.4;
regen
 1.77 03-Feb-2017  martin Regen for accept4
 1.76 16-Jan-2017  christos regen all
 1.75 15-Jan-2017  christos branches: 1.75.2;
regen
 1.74 15-Jan-2017  christos regen
 1.73 15-Jan-2017  christos regen
 1.72 13-Jan-2017  christos regen
 1.71 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.70 02-Jan-2017  manu Regen
 1.69 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.68 23-Mar-2015  ozaki-r branches: 1.68.2;
Regen
 1.67 23-Mar-2015  ozaki-r Regen
 1.66 07-Mar-2015  christos regen
 1.65 22-Nov-2014  njoly branches: 1.65.2;
Regen for ppoll signature fix
 1.64 31-May-2014  njoly branches: 1.64.2;
Regen for munmap(2) signature.
 1.63 29-May-2014  njoly Regen for utimes(2) change.
 1.62 20-May-2014  njoly Regen for getgroups/setgroups update.
 1.61 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.60 06-May-2014  njoly Regen for mknod device argument type change.
 1.59 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.58 08-Apr-2014  njoly Regen.
 1.57 08-Dec-2013  njoly branches: 1.57.2;
Regen.
 1.56 19-Nov-2013  chs regen
 1.55 07-Nov-2013  njoly Regen for dup/dup2/dup3 argument types fix.
 1.54 24-Sep-2013  njoly Regen for utimensat(2).
 1.53 08-Apr-2013  pooka branches: 1.53.4;
regen for utimes
 1.52 19-Sep-2012  pooka regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.51 18-Nov-2011  christos branches: 1.51.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.50 30-May-2011  alnsn branches: 1.50.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.49 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.48 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.47 07-Jul-2010  chs branches: 1.47.2;
regen
 1.46 14-Dec-2009  matt branches: 1.46.2; 1.46.4;
Regen (new makesyscalls.sh)
 1.45 24-Nov-2009  njoly Regen for personality(2) update.
 1.44 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.43 17-Jan-2009  njoly branches: 1.43.2;
Regen for wait4 update.
 1.42 15-Jan-2009  njoly Rengen for compat50 update.
 1.41 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.40 13-Jan-2009  rtr actually commit syscalls.master this time
add back blank line between #include <sys/.. and #include <sys/compat/..
regen
 1.39 12-Jan-2009  rtr regen for christos_time_t merge
 1.38 19-Nov-2008  ad Regen.
 1.37 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.36 23-Apr-2008  ad branches: 1.36.2; 1.36.4; 1.36.8; 1.36.10; 1.36.12;
Regen.
 1.35 04-Apr-2008  njoly branches: 1.35.2;
Regen for linux_sys_msync removal.
 1.34 15-Jan-2008  njoly branches: 1.34.6;
Regen.
 1.33 24-Dec-2007  njoly Regen for linux_sys_getpgid removal.
 1.32 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.31 20-Dec-2007  dsl regen
 1.30 16-Nov-2007  njoly branches: 1.30.2; 1.30.6;
Regen, for syscalls cleanup.
 1.29 04-Mar-2007  christos branches: 1.29.14; 1.29.16; 1.29.20; 1.29.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.28 01-Sep-2006  matt branches: 1.28.8;
Regen.
 1.27 30-Aug-2006  matt Regen
 1.26 10-Jun-2006  christos regen
 1.25 11-Dec-2005  christos branches: 1.25.4; 1.25.8; 1.25.14;
merge ktrace-lwp.
 1.24 16-May-2005  fvdl branches: 1.24.2;
Regen.
 1.23 16-May-2005  fvdl Regen.
 1.22 26-Feb-2005  perry regen
 1.21 26-Feb-2005  perry regen
 1.20 20-Sep-2004  jdolecek branches: 1.20.4; 1.20.6;
regen:
implement support for Linux statfs64() syscall - 64bit variant of statfs()
 1.19 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.18 01-Aug-2004  jdolecek regen:

add stub entries for syscalls added until Linux kernel 2.6.7

move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
 1.17 01-Aug-2004  jdolecek regen:

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.16 10-Aug-2003  jdolecek regen - added wrapper for Linux ftruncate64()
 1.15 28-Jun-2003  he branches: 1.15.2;
Regenerate after adding include of linux_mmap.h.
 1.14 23-Jun-2003  christos Regen.
 1.13 18-Jan-2003  thorpej Regen to get correct RCS IDs.
 1.12 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.11 12-May-2002  jdolecek branches: 1.11.4;
regen - hook linux_sys_fcntl64()
 1.10 10-Apr-2002  christos regen
 1.9 22-Mar-2002  christos regen
 1.8 17-Feb-2002  bjh21 branches: 1.8.2;
Regen.
 1.7 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.6 27-Jan-2002  bjh21 branches: 1.6.2;
Regen (breakpoint() implemented).
 1.5 27-Jan-2002  bjh21 Regen (prototype for linux_sys_nosys()).
 1.4 23-Jan-2002  bjh21 Regen (sys_nosys -> linux_sys_nosys).
 1.3 23-Jan-2002  bjh21 Regen (cacheflush() and remove syscall 0).
 1.2 15-Jan-2002  bjh21 Regen.
 1.1 14-Jan-2002  bjh21 Generated files for ARMLinux binary compatibility.
 1.6.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.1 27-Jan-2002  jdolecek file linux_syscallargs.h was added on branch kqueue on 2002-02-11 20:09:31 +0000
 1.8.2.7 20-Jun-2002  nathanw Catch up to -current.
 1.8.2.6 29-May-2002  nathanw Regen.
 1.8.2.5 04-May-2002  thorpej Regen.
 1.8.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.8.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.2.1 17-Feb-2002  nathanw file linux_syscallargs.h was added on branch nathanw_sa on 2002-02-28 04:12:48 +0000
 1.11.4.4 14-Jun-2004  jmc Regen for changes in ticket #1708
 1.11.4.3 11-May-2004  tron Regen for ticket 1686.
 1.11.4.2 20-Nov-2003  jmc Regen after fix in syscalls.master from ticket #1427.
 1.11.4.1 22-Oct-2003  jmc Regen files (requested by tv in ticket #1427)

Proper support for mmap2
 1.15.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.15.2.4 24-Sep-2004  skrll Sync with HEAD.
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.20.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.20.4.1 29-Apr-2005  kent sync with -current
 1.24.2.5 21-Jan-2008  yamt sync with head
 1.24.2.4 07-Dec-2007  yamt sync with head
 1.24.2.3 03-Sep-2007  yamt sync with head.
 1.24.2.2 30-Dec-2006  yamt sync with head.
 1.24.2.1 21-Jun-2006  yamt sync with head.
 1.25.14.1 19-Jun-2006  chap Sync with head.
 1.25.8.2 03-Sep-2006  yamt sync with head.
 1.25.8.1 26-Jun-2006  yamt sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.28.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.29.22.3 18-Feb-2008  mjf Sync with HEAD.
 1.29.22.2 27-Dec-2007  mjf Sync with HEAD.
 1.29.22.1 19-Nov-2007  mjf Sync with HEAD.
 1.29.20.1 18-Nov-2007  bouyer Sync with HEAD
 1.29.16.2 23-Mar-2008  matt sync with HEAD
 1.29.16.1 09-Jan-2008  matt sync with HEAD
 1.29.14.1 21-Nov-2007  joerg Sync with HEAD.
 1.30.6.2 19-Jan-2008  bouyer Sync with HEAD
 1.30.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.30.2.1 26-Dec-2007  ad Sync with head.
 1.34.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.34.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.35.2.1 18-May-2008  yamt sync with head.
 1.36.12.1 20-Nov-2008  snj Regen for ticket 81.
 1.36.10.1 19-Jan-2009  skrll Sync with HEAD.
 1.36.8.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.36.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.36.2.4 11-Aug-2010  yamt sync with head.
 1.36.2.3 11-Mar-2010  yamt sync with head
 1.36.2.2 20-Jun-2009  yamt sync with head
 1.36.2.1 04-May-2009  yamt sync with head.
 1.43.2.1 23-Jul-2009  jym Sync with HEAD.
 1.46.4.3 31-May-2011  rmind sync with head
 1.46.4.2 21-Apr-2011  rmind sync with head
 1.46.4.1 05-Mar-2011  rmind sync with head
 1.46.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.47.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.50.4.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.50.4.2 30-Oct-2012  yamt sync with head
 1.50.4.1 17-Apr-2012  yamt sync with head
 1.51.10.4 03-Dec-2017  jdolecek update from HEAD
 1.51.10.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.10.2 23-Jun-2013  tls resync from head
 1.51.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.53.4.1 18-May-2014  rmind sync with head
 1.57.2.1 10-Aug-2014  tls Rebase.
 1.64.2.1 17-Apr-2017  snj regen for ticket 1354
 1.65.2.4 28-Aug-2017  skrll Sync with HEAD
 1.65.2.3 05-Feb-2017  skrll Sync with HEAD
 1.65.2.2 05-Oct-2016  skrll Sync with HEAD
 1.65.2.1 06-Apr-2015  skrll Sync with HEAD
 1.68.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.68.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.68.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.75.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.78.4.1 11-May-2017  pgoyette Sync with HEAD
 1.79.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.79.10.1 10-Jun-2019  christos Sync with HEAD
 1.79.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.82.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.82.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.93.2.1 02-Aug-2025  perseant Sync with HEAD
 1.95 28-Sep-2024  christos regen
 1.94 01-Jul-2024  christos regen
 1.93 29-Jun-2024  christos branches: 1.93.2;
regen
 1.92 19-Aug-2023  christos regen
 1.91 18-Aug-2023  christos regen
 1.90 29-Jul-2023  christos regen
 1.89 28-Jul-2023  christos regen
 1.88 02-Dec-2021  ryo regen
 1.87 24-Nov-2021  ryo regen
 1.86 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.85 20-Sep-2021  thorpej Regen for eventfd.
 1.84 19-Sep-2021  thorpej Regen for timerfd.
 1.83 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.82 26-Apr-2020  thorpej branches: 1.82.2;
Regen for native futex calls.
 1.81 09-Nov-2019  jdolecek regen
 1.80 10-Aug-2018  pgoyette Regen
 1.79 10-May-2017  riastradh branches: 1.79.8; 1.79.10;
regen
 1.78 03-Feb-2017  christos branches: 1.78.4;
regen
 1.77 03-Feb-2017  martin Regen for accept4
 1.76 16-Jan-2017  christos regen all
 1.75 15-Jan-2017  christos branches: 1.75.2;
regen
 1.74 15-Jan-2017  christos regen
 1.73 15-Jan-2017  christos regen
 1.72 13-Jan-2017  christos regen
 1.71 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.70 02-Jan-2017  manu Regen
 1.69 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.68 23-Mar-2015  ozaki-r branches: 1.68.2;
Regen
 1.67 23-Mar-2015  ozaki-r Regen
 1.66 07-Mar-2015  christos regen
 1.65 22-Nov-2014  njoly branches: 1.65.2;
Regen for ppoll signature fix
 1.64 31-May-2014  njoly branches: 1.64.2;
Regen for munmap(2) signature.
 1.63 29-May-2014  njoly Regen for utimes(2) change.
 1.62 20-May-2014  njoly Regen for getgroups/setgroups update.
 1.61 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.60 06-May-2014  njoly Regen for mknod device argument type change.
 1.59 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.58 08-Apr-2014  njoly Regen.
 1.57 08-Dec-2013  njoly branches: 1.57.2;
Regen.
 1.56 19-Nov-2013  chs regen
 1.55 07-Nov-2013  njoly Regen for dup/dup2/dup3 argument types fix.
 1.54 24-Sep-2013  njoly Regen for utimensat(2).
 1.53 08-Apr-2013  pooka branches: 1.53.4;
regen for utimes
 1.52 19-Sep-2012  pooka regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.51 18-Nov-2011  christos branches: 1.51.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.50 30-May-2011  alnsn branches: 1.50.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.49 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.48 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.47 07-Jul-2010  chs branches: 1.47.2;
regen
 1.46 14-Dec-2009  matt branches: 1.46.2; 1.46.4;
Regen (new makesyscalls.sh)
 1.45 24-Nov-2009  njoly Regen for personality(2) update.
 1.44 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.43 17-Jan-2009  njoly branches: 1.43.2;
Regen for wait4 update.
 1.42 15-Jan-2009  njoly Rengen for compat50 update.
 1.41 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.40 13-Jan-2009  rtr actually commit syscalls.master this time
add back blank line between #include <sys/.. and #include <sys/compat/..
regen
 1.39 12-Jan-2009  rtr regen for christos_time_t merge
 1.38 19-Nov-2008  ad Regen.
 1.37 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.36 23-Apr-2008  ad branches: 1.36.2; 1.36.4; 1.36.8; 1.36.10; 1.36.12;
Regen.
 1.35 04-Apr-2008  njoly branches: 1.35.2;
Regen for linux_sys_msync removal.
 1.34 15-Jan-2008  njoly branches: 1.34.6;
Regen.
 1.33 24-Dec-2007  njoly Regen for linux_sys_getpgid removal.
 1.32 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.31 20-Dec-2007  dsl regen
 1.30 16-Nov-2007  njoly branches: 1.30.2; 1.30.6;
Regen, for syscalls cleanup.
 1.29 09-Feb-2007  ad branches: 1.29.18; 1.29.20; 1.29.24; 1.29.26;
Merge newlock2 to head.
 1.28 01-Sep-2006  matt branches: 1.28.2;
Regen.
 1.27 30-Aug-2006  matt Regen
 1.26 10-Jun-2006  christos regen
 1.25 11-Dec-2005  christos branches: 1.25.4; 1.25.8; 1.25.14;
merge ktrace-lwp.
 1.24 16-May-2005  fvdl branches: 1.24.2;
Regen.
 1.23 16-May-2005  fvdl Regen.
 1.22 26-Feb-2005  perry regen
 1.21 26-Feb-2005  perry regen
 1.20 20-Sep-2004  jdolecek branches: 1.20.4; 1.20.6;
regen:
implement support for Linux statfs64() syscall - 64bit variant of statfs()
 1.19 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.18 01-Aug-2004  jdolecek regen:

add stub entries for syscalls added until Linux kernel 2.6.7

move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
 1.17 01-Aug-2004  jdolecek regen:

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.16 10-Aug-2003  jdolecek regen - added wrapper for Linux ftruncate64()
 1.15 28-Jun-2003  he branches: 1.15.2;
Regenerate after adding include of linux_mmap.h.
 1.14 23-Jun-2003  christos Regen.
 1.13 18-Jan-2003  thorpej Regen to get correct RCS IDs.
 1.12 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.11 12-May-2002  jdolecek branches: 1.11.4;
regen - hook linux_sys_fcntl64()
 1.10 10-Apr-2002  christos regen
 1.9 22-Mar-2002  christos regen
 1.8 17-Feb-2002  bjh21 branches: 1.8.2;
Regen.
 1.7 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.6 27-Jan-2002  bjh21 branches: 1.6.2;
Regen (breakpoint() implemented).
 1.5 27-Jan-2002  bjh21 Regen (prototype for linux_sys_nosys()).
 1.4 23-Jan-2002  bjh21 Regen (sys_nosys -> linux_sys_nosys).
 1.3 23-Jan-2002  bjh21 Regen (cacheflush() and remove syscall 0).
 1.2 15-Jan-2002  bjh21 Regen.
 1.1 14-Jan-2002  bjh21 Generated files for ARMLinux binary compatibility.
 1.6.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.1 27-Jan-2002  jdolecek file linux_syscalls.c was added on branch kqueue on 2002-02-11 20:09:32 +0000
 1.8.2.7 20-Jun-2002  nathanw Catch up to -current.
 1.8.2.6 29-May-2002  nathanw Regen.
 1.8.2.5 04-May-2002  thorpej Regen.
 1.8.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.8.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.2.1 17-Feb-2002  nathanw file linux_syscalls.c was added on branch nathanw_sa on 2002-02-28 04:12:48 +0000
 1.11.4.4 14-Jun-2004  jmc Regen for changes in ticket #1708
 1.11.4.3 11-May-2004  tron Regen for ticket 1686.
 1.11.4.2 20-Nov-2003  jmc Regen after fix in syscalls.master from ticket #1427.
 1.11.4.1 22-Oct-2003  jmc Regen files (requested by tv in ticket #1427)

Proper support for mmap2
 1.15.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.15.2.4 24-Sep-2004  skrll Sync with HEAD.
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.20.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.20.4.1 29-Apr-2005  kent sync with -current
 1.24.2.5 21-Jan-2008  yamt sync with head
 1.24.2.4 07-Dec-2007  yamt sync with head
 1.24.2.3 26-Feb-2007  yamt sync with head.
 1.24.2.2 30-Dec-2006  yamt sync with head.
 1.24.2.1 21-Jun-2006  yamt sync with head.
 1.25.14.1 19-Jun-2006  chap Sync with head.
 1.25.8.2 03-Sep-2006  yamt sync with head.
 1.25.8.1 26-Jun-2006  yamt sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.28.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.29.26.3 18-Feb-2008  mjf Sync with HEAD.
 1.29.26.2 27-Dec-2007  mjf Sync with HEAD.
 1.29.26.1 19-Nov-2007  mjf Sync with HEAD.
 1.29.24.1 18-Nov-2007  bouyer Sync with HEAD
 1.29.20.2 23-Mar-2008  matt sync with HEAD
 1.29.20.1 09-Jan-2008  matt sync with HEAD
 1.29.18.1 21-Nov-2007  joerg Sync with HEAD.
 1.30.6.2 19-Jan-2008  bouyer Sync with HEAD
 1.30.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.30.2.1 26-Dec-2007  ad Sync with head.
 1.34.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.34.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.35.2.1 18-May-2008  yamt sync with head.
 1.36.12.1 20-Nov-2008  snj Regen for ticket 81.
 1.36.10.1 19-Jan-2009  skrll Sync with HEAD.
 1.36.8.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.36.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.36.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.36.2.4 11-Aug-2010  yamt sync with head.
 1.36.2.3 11-Mar-2010  yamt sync with head
 1.36.2.2 20-Jun-2009  yamt sync with head
 1.36.2.1 04-May-2009  yamt sync with head.
 1.43.2.1 23-Jul-2009  jym Sync with HEAD.
 1.46.4.3 31-May-2011  rmind sync with head
 1.46.4.2 21-Apr-2011  rmind sync with head
 1.46.4.1 05-Mar-2011  rmind sync with head
 1.46.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.47.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.50.4.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.50.4.2 30-Oct-2012  yamt sync with head
 1.50.4.1 17-Apr-2012  yamt sync with head
 1.51.10.4 03-Dec-2017  jdolecek update from HEAD
 1.51.10.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.10.2 23-Jun-2013  tls resync from head
 1.51.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.53.4.1 18-May-2014  rmind sync with head
 1.57.2.1 10-Aug-2014  tls Rebase.
 1.64.2.1 17-Apr-2017  snj regen for ticket 1354
 1.65.2.3 05-Feb-2017  skrll Sync with HEAD
 1.65.2.2 05-Oct-2016  skrll Sync with HEAD
 1.65.2.1 06-Apr-2015  skrll Sync with HEAD
 1.68.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.68.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.68.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.75.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.78.4.1 11-May-2017  pgoyette Sync with HEAD
 1.79.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.79.10.1 10-Jun-2019  christos Sync with HEAD
 1.79.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.82.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.82.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.93.2.1 02-Aug-2025  perseant Sync with HEAD
 1.95 28-Sep-2024  christos regen
 1.94 01-Jul-2024  christos regen
 1.93 29-Jun-2024  christos branches: 1.93.2;
regen
 1.92 19-Aug-2023  christos regen
 1.91 18-Aug-2023  christos regen
 1.90 29-Jul-2023  christos regen
 1.89 28-Jul-2023  christos regen
 1.88 02-Dec-2021  ryo regen
 1.87 24-Nov-2021  ryo regen
 1.86 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.85 20-Sep-2021  thorpej Regen for eventfd.
 1.84 19-Sep-2021  thorpej Regen for timerfd.
 1.83 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.82 26-Apr-2020  thorpej branches: 1.82.2;
Regen for native futex calls.
 1.81 09-Nov-2019  jdolecek regen
 1.80 10-Aug-2018  pgoyette Regen
 1.79 10-May-2017  riastradh branches: 1.79.8; 1.79.10;
regen
 1.78 03-Feb-2017  christos branches: 1.78.4;
regen
 1.77 03-Feb-2017  martin Regen for accept4
 1.76 16-Jan-2017  christos regen all
 1.75 15-Jan-2017  christos branches: 1.75.2;
regen
 1.74 15-Jan-2017  christos regen
 1.73 15-Jan-2017  christos regen
 1.72 13-Jan-2017  christos regen
 1.71 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.70 02-Jan-2017  manu Regen
 1.69 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.68 23-Mar-2015  ozaki-r branches: 1.68.2;
Regen
 1.67 23-Mar-2015  ozaki-r Regen
 1.66 07-Mar-2015  christos regen
 1.65 22-Nov-2014  njoly branches: 1.65.2;
Regen for ppoll signature fix
 1.64 31-May-2014  njoly branches: 1.64.2;
Regen for munmap(2) signature.
 1.63 29-May-2014  njoly Regen for utimes(2) change.
 1.62 20-May-2014  njoly Regen for getgroups/setgroups update.
 1.61 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.60 06-May-2014  njoly Regen for mknod device argument type change.
 1.59 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.58 08-Apr-2014  njoly Regen.
 1.57 08-Dec-2013  njoly branches: 1.57.2;
Regen.
 1.56 19-Nov-2013  chs regen
 1.55 07-Nov-2013  njoly Regen for dup/dup2/dup3 argument types fix.
 1.54 24-Sep-2013  njoly Regen for utimensat(2).
 1.53 08-Apr-2013  pooka branches: 1.53.4;
regen for utimes
 1.52 19-Sep-2012  pooka regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.51 18-Nov-2011  christos branches: 1.51.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.50 30-May-2011  alnsn branches: 1.50.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.49 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.48 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.47 07-Jul-2010  chs branches: 1.47.2;
regen
 1.46 14-Dec-2009  matt branches: 1.46.2; 1.46.4;
Regen (new makesyscalls.sh)
 1.45 24-Nov-2009  njoly Regen for personality(2) update.
 1.44 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.43 17-Jan-2009  njoly branches: 1.43.2;
Regen for wait4 update.
 1.42 15-Jan-2009  njoly Rengen for compat50 update.
 1.41 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.40 13-Jan-2009  rtr actually commit syscalls.master this time
add back blank line between #include <sys/.. and #include <sys/compat/..
regen
 1.39 12-Jan-2009  rtr regen for christos_time_t merge
 1.38 19-Nov-2008  ad Regen.
 1.37 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.36 23-Apr-2008  ad branches: 1.36.2; 1.36.4; 1.36.8; 1.36.10; 1.36.12;
Regen.
 1.35 04-Apr-2008  njoly branches: 1.35.2;
Regen for linux_sys_msync removal.
 1.34 15-Jan-2008  njoly branches: 1.34.6;
Regen.
 1.33 24-Dec-2007  njoly Regen for linux_sys_getpgid removal.
 1.32 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.31 20-Dec-2007  dsl regen
 1.30 16-Nov-2007  njoly branches: 1.30.2; 1.30.6;
Regen, for syscalls cleanup.
 1.29 09-Feb-2007  ad branches: 1.29.18; 1.29.20; 1.29.24; 1.29.26;
Merge newlock2 to head.
 1.28 01-Sep-2006  matt branches: 1.28.2;
Regen.
 1.27 30-Aug-2006  matt Regen
 1.26 10-Jun-2006  christos regen
 1.25 11-Dec-2005  christos branches: 1.25.4; 1.25.8; 1.25.14;
merge ktrace-lwp.
 1.24 16-May-2005  fvdl branches: 1.24.2;
Regen.
 1.23 16-May-2005  fvdl Regen.
 1.22 26-Feb-2005  perry regen
 1.21 26-Feb-2005  perry regen
 1.20 20-Sep-2004  jdolecek branches: 1.20.4; 1.20.6;
regen:
implement support for Linux statfs64() syscall - 64bit variant of statfs()
 1.19 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.18 01-Aug-2004  jdolecek regen:

add stub entries for syscalls added until Linux kernel 2.6.7

move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
 1.17 01-Aug-2004  jdolecek regen:

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.16 10-Aug-2003  jdolecek regen - added wrapper for Linux ftruncate64()
 1.15 28-Jun-2003  he branches: 1.15.2;
Regenerate after adding include of linux_mmap.h.
 1.14 23-Jun-2003  christos Regen.
 1.13 18-Jan-2003  thorpej Regen to get correct RCS IDs.
 1.12 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.11 12-May-2002  jdolecek branches: 1.11.4;
regen - hook linux_sys_fcntl64()
 1.10 10-Apr-2002  christos regen
 1.9 22-Mar-2002  christos regen
 1.8 17-Feb-2002  bjh21 branches: 1.8.2;
Regen.
 1.7 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.6 27-Jan-2002  bjh21 branches: 1.6.2;
Regen (breakpoint() implemented).
 1.5 27-Jan-2002  bjh21 Regen (prototype for linux_sys_nosys()).
 1.4 23-Jan-2002  bjh21 Regen (sys_nosys -> linux_sys_nosys).
 1.3 23-Jan-2002  bjh21 Regen (cacheflush() and remove syscall 0).
 1.2 15-Jan-2002  bjh21 Regen.
 1.1 14-Jan-2002  bjh21 Generated files for ARMLinux binary compatibility.
 1.6.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.1 27-Jan-2002  jdolecek file linux_sysent.c was added on branch kqueue on 2002-02-11 20:09:32 +0000
 1.8.2.7 20-Jun-2002  nathanw Catch up to -current.
 1.8.2.6 29-May-2002  nathanw Regen.
 1.8.2.5 04-May-2002  thorpej Regen.
 1.8.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.8.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.2.1 17-Feb-2002  nathanw file linux_sysent.c was added on branch nathanw_sa on 2002-02-28 04:12:48 +0000
 1.11.4.4 14-Jun-2004  jmc Regen for changes in ticket #1708
 1.11.4.3 11-May-2004  tron Regen for ticket 1686.
 1.11.4.2 20-Nov-2003  jmc Regen after fix in syscalls.master from ticket #1427.
 1.11.4.1 22-Oct-2003  jmc Regen files (requested by tv in ticket #1427)

Proper support for mmap2
 1.15.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.15.2.4 24-Sep-2004  skrll Sync with HEAD.
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.20.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.20.4.1 29-Apr-2005  kent sync with -current
 1.24.2.5 21-Jan-2008  yamt sync with head
 1.24.2.4 07-Dec-2007  yamt sync with head
 1.24.2.3 26-Feb-2007  yamt sync with head.
 1.24.2.2 30-Dec-2006  yamt sync with head.
 1.24.2.1 21-Jun-2006  yamt sync with head.
 1.25.14.1 19-Jun-2006  chap Sync with head.
 1.25.8.2 03-Sep-2006  yamt sync with head.
 1.25.8.1 26-Jun-2006  yamt sync with head.
 1.25.4.1 09-Sep-2006  rpaulo sync with head
 1.28.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.29.26.3 18-Feb-2008  mjf Sync with HEAD.
 1.29.26.2 27-Dec-2007  mjf Sync with HEAD.
 1.29.26.1 19-Nov-2007  mjf Sync with HEAD.
 1.29.24.1 18-Nov-2007  bouyer Sync with HEAD
 1.29.20.2 23-Mar-2008  matt sync with HEAD
 1.29.20.1 09-Jan-2008  matt sync with HEAD
 1.29.18.1 21-Nov-2007  joerg Sync with HEAD.
 1.30.6.2 19-Jan-2008  bouyer Sync with HEAD
 1.30.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.30.2.1 26-Dec-2007  ad Sync with head.
 1.34.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.34.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.35.2.1 18-May-2008  yamt sync with head.
 1.36.12.1 20-Nov-2008  snj Regen for ticket 81.
 1.36.10.1 19-Jan-2009  skrll Sync with HEAD.
 1.36.8.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.36.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.36.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.36.2.4 11-Aug-2010  yamt sync with head.
 1.36.2.3 11-Mar-2010  yamt sync with head
 1.36.2.2 20-Jun-2009  yamt sync with head
 1.36.2.1 04-May-2009  yamt sync with head.
 1.43.2.1 23-Jul-2009  jym Sync with HEAD.
 1.46.4.3 31-May-2011  rmind sync with head
 1.46.4.2 21-Apr-2011  rmind sync with head
 1.46.4.1 05-Mar-2011  rmind sync with head
 1.46.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.47.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.50.4.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.50.4.2 30-Oct-2012  yamt sync with head
 1.50.4.1 17-Apr-2012  yamt sync with head
 1.51.10.4 03-Dec-2017  jdolecek update from HEAD
 1.51.10.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.10.2 23-Jun-2013  tls resync from head
 1.51.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.53.4.1 18-May-2014  rmind sync with head
 1.57.2.1 10-Aug-2014  tls Rebase.
 1.64.2.1 17-Apr-2017  snj regen for ticket 1354
 1.65.2.3 05-Feb-2017  skrll Sync with HEAD
 1.65.2.2 05-Oct-2016  skrll Sync with HEAD
 1.65.2.1 06-Apr-2015  skrll Sync with HEAD
 1.68.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.68.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.68.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.75.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.78.4.1 11-May-2017  pgoyette Sync with HEAD
 1.79.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.79.10.1 10-Jun-2019  christos Sync with HEAD
 1.79.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.82.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.82.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.93.2.1 02-Aug-2025  perseant Sync with HEAD
 1.28 28-Sep-2024  christos regen
 1.27 01-Jul-2024  christos regen
 1.26 29-Jun-2024  christos branches: 1.26.2;
regen
 1.25 19-Aug-2023  christos regen
 1.24 18-Aug-2023  christos regen
 1.23 29-Jul-2023  christos regen
 1.22 28-Jul-2023  christos regen
 1.21 02-Dec-2021  ryo regen
 1.20 24-Nov-2021  ryo regen
 1.19 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.18 20-Sep-2021  thorpej Regen for eventfd.
 1.17 19-Sep-2021  thorpej Regen for timerfd.
 1.16 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.15 26-Apr-2020  thorpej branches: 1.15.2;
Regen for native futex calls.
 1.14 09-Nov-2019  jdolecek regen
 1.13 10-Aug-2018  pgoyette Regen
 1.12 10-May-2017  riastradh branches: 1.12.8; 1.12.10; 1.12.12;
regen
 1.11 03-Feb-2017  christos branches: 1.11.4;
regen
 1.10 03-Feb-2017  martin Regen for accept4
 1.9 16-Jan-2017  christos regen all
 1.8 15-Jan-2017  christos branches: 1.8.2;
regen
 1.7 15-Jan-2017  christos regen
 1.6 15-Jan-2017  christos regen
 1.5 15-Jan-2017  martin Cast pointer to int via intptr_t
 1.4 13-Jan-2017  christos regen
 1.3 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.2 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.1 23-Mar-2015  ozaki-r branches: 1.1.2; 1.1.4;
Regen
 1.1.4.3 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.4.1 26-Jul-2016  pgoyette Sync with HEAD
 1.1.2.4 05-Feb-2017  skrll Sync with HEAD
 1.1.2.3 05-Oct-2016  skrll Sync with HEAD
 1.1.2.2 06-Apr-2015  skrll Sync with HEAD
 1.1.2.1 23-Mar-2015  skrll file linux_systrace_args.c was added on branch nick-nhusb on 2015-04-06 15:18:06 +0000
 1.8.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.11.4.1 11-May-2017  pgoyette Sync with HEAD
 1.12.12.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12.12.1 10-Jun-2019  christos Sync with HEAD
 1.12.10.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.12.8.2 03-Dec-2017  jdolecek update from HEAD
 1.12.8.1 10-May-2017  jdolecek file linux_systrace_args.c was added on branch tls-maxphys on 2017-12-03 11:36:54 +0000
 1.15.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.15.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.26.2.1 02-Aug-2025  perseant Sync with HEAD
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 14-Jan-2002  bjh21 branches: 1.1.2; 1.1.4; 1.1.118; 1.1.120; 1.1.122;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.122.1 16-May-2008  yamt sync with head.
 1.1.120.1 18-May-2008  yamt sync with head.
 1.1.118.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 14-Jan-2002  nathanw file linux_termios.h was added on branch nathanw_sa on 2002-02-28 04:12:49 +0000
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_termios.h was added on branch kqueue on 2002-02-11 20:09:32 +0000
 1.9 21-Mar-2013  pooka Fix stat64 by making it match i386. Other archs might still be broken,
but this is the one I could test.
 1.8 11-Jan-2009  christos branches: 1.8.14; 1.8.24;
merge christos-time_t
 1.7 28-Apr-2008  martin branches: 1.7.8; 1.7.14;
Remove clause 3 and 4 from TNF licenses
 1.6 11-Dec-2005  christos branches: 1.6.70; 1.6.72; 1.6.74;
merge ktrace-lwp.
 1.5 20-Sep-2004  jdolecek move definition of linux_fsid_t to common/linux_types.h - it's identical
across all Linux archs
 1.4 19-Sep-2004  jdolecek move definition of struct linux_stafs to common/linux_types.h, and use
explicit size types - the structure definition is actually identical
on currently support COMPAT_LINUX archs, so no point to have 6 copies of it
in the tree
 1.3 19-May-2002  jdolecek branches: 1.3.8;
On archs with broken linux struct stat64 st_ino, rename linux_stat64's
lst_ino to __lst_ino and lst_ino64 to lst_ino, and define
LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define
is present.

This fixes compile on powerpc archs, and hence port-powerpc/16893.
 1.2 17-Feb-2002  bjh21 branches: 1.2.2; 1.2.10;
Add an lst_ino64 member to struct linux_stat64.
 1.1 14-Jan-2002  bjh21 branches: 1.1.2;
Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.1.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1 14-Jan-2002  jdolecek file linux_types.h was added on branch kqueue on 2002-02-11 20:09:32 +0000
 1.2.10.1 30-May-2002  gehenna Catch up with -current.
 1.2.2.3 20-Jun-2002  nathanw Catch up to -current.
 1.2.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.2.1 17-Feb-2002  nathanw file linux_types.h was added on branch nathanw_sa on 2002-02-28 04:12:49 +0000
 1.3.8.1 24-Sep-2004  skrll Sync with HEAD.
 1.6.74.2 04-May-2009  yamt sync with head.
 1.6.74.1 16-May-2008  yamt sync with head.
 1.6.72.1 18-May-2008  yamt sync with head.
 1.6.70.2 17-Jan-2009  mjf Sync with HEAD.
 1.6.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.14.2 11-Jan-2009  christos add linux_suseconds_t
 1.7.14.1 28-Apr-2008  christos file linux_types.h was added on branch christos-time_t on 2009-01-11 00:17:51 +0000
 1.7.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.8.24.1 23-Jun-2013  tls resync from head
 1.8.14.1 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.3 23-Mar-2015  ozaki-r Add linux_systrace_args.c for arm
 1.2 23-Jan-2002  bjh21 branches: 1.2.2; 1.2.4; 1.2.168; 1.2.188;
sys_nosys="linux_sys_nosys", since that's how it should be.
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.2.188.1 06-Apr-2015  skrll Sync with HEAD
 1.2.168.1 03-Dec-2017  jdolecek update from HEAD
 1.2.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.2.4.1 23-Jan-2002  nathanw file syscalls.conf was added on branch nathanw_sa on 2002-02-28 04:12:49 +0000
 1.2.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.2.1 23-Jan-2002  jdolecek file syscalls.conf was added on branch kqueue on 2002-02-11 20:09:32 +0000
 1.82 28-Sep-2024  christos Linux GSoC-2024: renameat2, clone3, sync_file_range, syncfs (Shivraj Jamgade)
 1.81 01-Jul-2024  christos Add linux POSIX message queue support (Ricardo Branco)
 1.80 29-Jun-2024  christos branches: 1.80.2;
From gsoc 2024: Implement faccessat2 and getcpu (Shivraz)
 1.79 19-Aug-2023  christos Add inotify* syscalls GSoC 2023 (Theodore Preduta)
 1.78 18-Aug-2023  christos Add linux waitid(2) from GSoC 2023 (Theodore Preduta)
 1.77 29-Jul-2023  christos Add/fix statx, readahead, close_range. From GSoC 2023 by Theodore Preduta
 1.76 28-Jul-2023  christos add epoll syscalls
 1.75 02-Dec-2021  ryo add prlimit64(2) syscall to COMPAT_LINUX and COMPAT_LINUX32
 1.74 24-Nov-2021  ryo add getrandom(2) syscall entry
 1.73 20-Sep-2021  thorpej Add preadv(2) and pwritev(2) system calls to COMPAT_LINUX and COMPAT_LINUX32.
 1.72 20-Sep-2021  thorpej Add the eventfd system calls to COMPAT_LINUX and COMPAT_LINUX32.
 1.71 19-Sep-2021  thorpej Add the timerfd syscalls to COMPAT_LINUX and COMPAT_LINUX32.
 1.70 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.69 26-Apr-2020  thorpej branches: 1.69.2;
Add a NetBSD native futex implementation, mostly written by riastradh@.
Map the COMPAT_LINUX futex calls to the native ones.
 1.68 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.67 03-Feb-2017  christos branches: 1.67.14;
add send recv mmsg and unimpl
XXX: fix base?
 1.66 03-Feb-2017  martin Add accept4 definitions
 1.65 02-Jan-2017  manu branches: 1.65.2;
Add pselect6 Linux system call.
This lets Matlab R2016A run on NetBSD/amd64
 1.64 24-Jul-2016  njoly Small cleanup. Adjust readlink/readlinkat signatures to reduce diffs with
native.
 1.63 23-Mar-2015  ozaki-r branches: 1.63.2;
Fix inconsistent argument names
 1.62 22-Nov-2014  njoly branches: 1.62.2;
Fix ppoll signature (int ->u_int)
 1.61 31-May-2014  njoly branches: 1.61.2;
Fix munmap(2) signature.
 1.60 29-May-2014  njoly For utimes(2), use compat_50_sys_utimes() instead of local version.
 1.59 20-May-2014  njoly Fix getgroups/setgroups signature.
 1.58 17-May-2014  njoly Fix fadvise64 syscalls to use 64bit offset types.
 1.57 06-May-2014  njoly Reduce diffs between archs; make mknod device argument unsigned.
 1.56 04-May-2014  njoly Fix pread/pwrite syscalls which need a 64bit offset argument.
 1.55 08-Apr-2014  njoly Adjust read/write/readv/writev signature to match native versions.
 1.54 08-Dec-2013  njoly branches: 1.54.2;
Sprinkle a few more linux_umode_t where appropriate.
Reduce diffs between archs.
 1.53 19-Nov-2013  chs add the *at() syscalls.
 1.52 07-Nov-2013  njoly Fix dup/dup2/dup3 argument types (u_int -> int).
 1.51 24-Sep-2013  njoly Add utimensat(2) for compat linux.
 1.50 08-Apr-2013  pooka branches: 1.50.4;
support utimes on non-alpha linux platforms
 1.49 19-Sep-2012  pooka emulate ppoll which is essentially our pollts
 1.48 18-Nov-2011  christos branches: 1.48.10;
add sigtimedwait
 1.47 09-Jul-2011  christos branches: 1.47.2;
the first argument of {g,s}etitimer() is int not u_int.
 1.46 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.45 15-Apr-2011  he Add dup3() and pipe2() for these archs as well.
 1.44 07-Jul-2010  chs branches: 1.44.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.43 24-Nov-2009  njoly branches: 1.43.2; 1.43.4;
Update personality(2) to match Linux definition where the argument is an
unsigned long.
 1.42 08-Jun-2009  njoly Update rt_queueinfo(2) definition, and kill a corresponding comment.
 1.41 17-Jan-2009  njoly branches: 1.41.2;
Convert linux/linux32 wait(4) to use a compat50 rusage structure.
 1.40 15-Jan-2009  njoly Update some syscalls/arguments to use the new compat50 equivalents.
 1.39 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.38 13-Jan-2009  rtr actually commit syscalls.master this time
add back blank line between #include <sys/.. and #include <sys/compat/..
regen
 1.37 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.36 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.35 23-Apr-2008  ad branches: 1.35.2; 1.35.4; 1.35.8; 1.35.10; 1.35.12;
-SYCALL_MPSAFE
 1.34 04-Apr-2008  njoly branches: 1.34.2;
Cleanup. Kill linux_sys_msync and use sys___msync13 instead.
No functional changes expected.
 1.33 15-Jan-2008  njoly branches: 1.33.6;
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.32 24-Dec-2007  njoly Kill unneeded linux_sys_getpgid and use native sys_getpgid instead.
 1.31 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.30 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.29 16-Nov-2007  njoly branches: 1.29.2; 1.29.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.28 04-Mar-2007  christos branches: 1.28.14; 1.28.16; 1.28.20; 1.28.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.27 09-Feb-2007  ad branches: 1.27.2;
Merge newlock2 to head.
 1.26 01-Sep-2006  matt branches: 1.26.2;
Don't conditionalize *sys_ptrace. The lack of sys_ptrace will be dealt
with differently.
 1.25 30-Aug-2006  matt Update to deal with options PTRACE
 1.24 10-Jun-2006  christos linux getpriority is off-by-20 so use our own function.
From PR/33671: Nicolas Joly
 1.23 11-Dec-2005  christos branches: 1.23.4; 1.23.8; 1.23.14;
merge ktrace-lwp.
 1.22 16-May-2005  fvdl branches: 1.22.2;
Add clock_* POSIX functions.
 1.21 16-May-2005  fvdl Add *xattr functions (they all return EOPNOTSUPP).
 1.20 26-Feb-2005  perry nuke trailing whitespace
 1.19 20-Sep-2004  jdolecek branches: 1.19.4; 1.19.6;
implement support for Linux statfs64() syscall - 64bit variant of statfs()
 1.18 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.17 01-Aug-2004  jdolecek add stub entries for syscalls added until Linux kernel 2.6.7

move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
 1.16 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.15 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.14 28-Jun-2003  he branches: 1.14.2;
Need to include linux_mmap.h to get size of struct linux_sys_mmap2_args.
 1.13 23-Jun-2003  christos PR/21937: Todd Vierling: Proper support for mmap2
 1.12 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.11 12-May-2002  jdolecek branches: 1.11.4;
hook in remaining 64bit fs syscalls
make most of stuff in linux_file64.c available unconditionally,
with exception of fcntl64, which is not present on Linux m68k
 1.10 10-Apr-2002  christos add getdents64
 1.9 22-Mar-2002  christos nuke mmap2 add mprotect
 1.8 17-Feb-2002  bjh21 branches: 1.8.2;
getrlimit and setrlimit now have Linux-specific implementations. Use them.
 1.7 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.6 27-Jan-2002  bjh21 branches: 1.6.2;
Add support for breakpoints to ARMLinux emulation.
 1.5 27-Jan-2002  bjh21 Make syscall 0 an explicit call of linux_sys_nosys, as it is on i386. This
is necessary to get a prototype for linux_sys_nosys generated in syscallargs.h.
 1.4 23-Jan-2002  bjh21 Syscall 0 isn't syscall() on ARMLinux. Mark it UNIMPL instead.
 1.3 23-Jan-2002  bjh21 Add support for the ARM-specific syscalls in ARMLinux. These are invoked
by SWI numbers above 0x9f0000, but we re-map them down to somewhere just
after the end of the usual syscall range, since NetBSD doesn't handle
sparse syscall arrays well.

The only syscall I've actually implemented in this range is cacheflush(),
which was previously being mapped to fork(), causing ... interesting results.
 1.2 15-Jan-2002  bjh21 Shuffle uname calls around. It turns out we don't use the same names as
Linux does, so:
sys_olduname -> linux_sys_oldolduname
sys_uname -> linux_sys_olduname
sys_newuname -> linux_sys_uname
 1.1 14-Jan-2002  bjh21 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
 1.6.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.6.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.6.2.2 11-Feb-2002  jdolecek Sync w/ -current.
 1.6.2.1 27-Jan-2002  jdolecek file syscalls.master was added on branch kqueue on 2002-02-11 20:09:32 +0000
 1.8.2.6 20-Jun-2002  nathanw Catch up to -current.
 1.8.2.5 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.8.2.4 17-Apr-2002  nathanw Catch up to -current.
 1.8.2.3 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.8.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.8.2.1 17-Feb-2002  nathanw file syscalls.master was added on branch nathanw_sa on 2002-02-28 04:12:49 +0000
 1.11.4.4 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.11.4.3 11-May-2004  tron Pull up revision 1.15 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.11.4.2 20-Nov-2003  jmc Followup from ticket #1427. Need to include mmap2.h here or it won't compile
 1.11.4.1 22-Oct-2003  jmc Regen files (requested by tv in ticket #1427)

Proper support for mmap2
 1.14.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.14.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.14.2.4 24-Sep-2004  skrll Sync with HEAD.
 1.14.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1 03-Aug-2004  skrll Sync with HEAD
 1.19.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.19.4.1 29-Apr-2005  kent sync with -current
 1.22.2.5 21-Jan-2008  yamt sync with head
 1.22.2.4 07-Dec-2007  yamt sync with head
 1.22.2.3 03-Sep-2007  yamt sync with head.
 1.22.2.2 26-Feb-2007  yamt sync with head.
 1.22.2.1 21-Jun-2006  yamt sync with head.
 1.23.14.1 19-Jun-2006  chap Sync with head.
 1.23.8.1 26-Jun-2006  yamt sync with head.
 1.23.4.1 09-Sep-2006  rpaulo sync with head
 1.26.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.27.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.28.22.3 18-Feb-2008  mjf Sync with HEAD.
 1.28.22.2 27-Dec-2007  mjf Sync with HEAD.
 1.28.22.1 19-Nov-2007  mjf Sync with HEAD.
 1.28.20.1 18-Nov-2007  bouyer Sync with HEAD
 1.28.16.2 23-Mar-2008  matt sync with HEAD
 1.28.16.1 09-Jan-2008  matt sync with HEAD
 1.28.14.1 21-Nov-2007  joerg Sync with HEAD.
 1.29.6.2 19-Jan-2008  bouyer Sync with HEAD
 1.29.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.29.2.1 26-Dec-2007  ad Sync with head.
 1.33.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.33.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.34.2.1 18-May-2008  yamt sync with head.
 1.35.12.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.35.10.1 19-Jan-2009  skrll Sync with HEAD.
 1.35.8.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.35.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.35.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.35.2.4 11-Aug-2010  yamt sync with head.
 1.35.2.3 11-Mar-2010  yamt sync with head
 1.35.2.2 20-Jun-2009  yamt sync with head
 1.35.2.1 04-May-2009  yamt sync with head.
 1.41.2.1 23-Jul-2009  jym Sync with HEAD.
 1.43.4.3 31-May-2011  rmind sync with head
 1.43.4.2 21-Apr-2011  rmind sync with head
 1.43.4.1 05-Mar-2011  rmind sync with head
 1.43.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.44.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.47.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.47.2.2 30-Oct-2012  yamt sync with head
 1.47.2.1 17-Apr-2012  yamt sync with head
 1.48.10.4 03-Dec-2017  jdolecek update from HEAD
 1.48.10.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.48.10.2 23-Jun-2013  tls resync from head
 1.48.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.50.4.1 18-May-2014  rmind sync with head
 1.54.2.1 10-Aug-2014  tls Rebase.
 1.61.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.62.2.3 05-Feb-2017  skrll Sync with HEAD
 1.62.2.2 05-Oct-2016  skrll Sync with HEAD
 1.62.2.1 06-Apr-2015  skrll Sync with HEAD
 1.63.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.63.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.63.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.65.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.67.14.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.69.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.69.2.1 15-Dec-2020  thorpej Add Linux eventfd, timerfd, and POSIX timer calls.
 1.80.2.1 02-Aug-2025  perseant Sync with HEAD

RSS XML Feed