Home | History | Annotate | only in /src/sys/compat/linux/arch/alpha
History log of /src/sys/compat/linux/arch/alpha
RevisionDateAuthorComments
 1.4 29-May-2024  christos should not be using .include <> but .include "" here.
 1.3 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.2 03-Oct-1998  christos branches: 1.2.184; 1.2.194; 1.2.200; 1.2.210;
Attempt to fix the mess.
 1.1 30-Sep-1998  erh Initial support for linux compat on the alpha. Not quite working.
 1.2.210.1 10-Aug-2014  tls Rebase.
 1.2.200.1 18-May-2014  rmind sync with head
 1.2.194.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.184.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.11 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.10 24-Mar-2019  maxv Remove Alpha's compat_linux dependency on compat_osf1. Each function is
copied as-is from compat_osf1 with no functional change. Discussed on
tech-kern@, ok @thorpej.
 1.9 31-May-2011  njoly branches: 1.9.56;
Add needed linux_fadvise64.c
 1.8 07-Jul-2010  chs branches: 1.8.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.7 13-Nov-2002  jdolecek branches: 1.7.108; 1.7.130; 1.7.132;
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.6 13-May-2002  matt Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but
files.linux_alpha wasn't updated. common/linux_file64.c contains a lot
of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
 1.5 31-Mar-2002  christos bring the reverse signal mapping array into linux_signo.c
 1.4 17-Nov-2000  erh branches: 1.4.2; 1.4.4;
Make the linux compatibilty code work on the alpha. (horay!) (at last!)
Two main changes:
Create a linux_elf64_copyargs that uses the linux specific LinuxAuxInfo
structure. This is only used on the alpha. i386 and m68k use the
standard elf copyargs function.

Since linux's approach to binary compatibilty is to look as much
like osf1 as possible, add all the osf1 syscalls that we have
implemented to the linux syscall table. This includes get/setsysinfo,
ported from FreeBSD.

In order for linux compat to work you must have COMPAT_OSF1, COMPAT_43,
COMPAT_09, COMPAT_12 and COMPAT_13 on also.
 1.3 07-Oct-1998  erh branches: 1.3.12;
Add the sigaction call.
 1.2 07-Oct-1998  erh Files moved. Change the paths here.
 1.1 30-Sep-1998  erh Initial support for linux compat on the alpha. Not quite working.
 1.3.12.1 22-Nov-2000  bouyer Sync with HEAD.
 1.4.4.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.3 11-Dec-2002  thorpej Sync with HEAD.
 1.4.2.2 20-Jun-2002  nathanw Catch up to -current.
 1.4.2.1 17-Apr-2002  nathanw Catch up to -current.
 1.7.132.2 12-Jun-2011  rmind sync with head
 1.7.132.1 05-Mar-2011  rmind sync with head
 1.7.130.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.7.108.1 11-Aug-2010  yamt sync with head.
 1.8.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.9.56.1 10-Jun-2019  christos Sync with HEAD
 1.8 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.7 28-Apr-2008  martin branches: 1.7.34; 1.7.44; 1.7.50;
Remove clause 3 and 4 from TNF licenses
 1.6 31-Oct-2006  cbiere branches: 1.6.48; 1.6.50; 1.6.52;
Changed error message of ENOPROTOOPT to "Protocol option not available".
 1.5 11-Dec-2005  christos branches: 1.5.20; 1.5.22;
merge ktrace-lwp.
 1.4 26-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 12-Feb-2001  manu branches: 1.3.24; 1.3.32; 1.3.34;
Clarified comments about the LINUX_SCERR_SIGN macro
 1.2 11-Feb-2001  manu Moved the fix for negative errno returned to userland on the PowerPC to a
more machine independent fashion
 1.1 30-Sep-1998  erh branches: 1.1.12;
New header files for Linux compat on the Alpha.
 1.1.12.1 12-Mar-2001  bouyer Sync with HEAD.
 1.3.34.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.32.1 29-Apr-2005  kent sync with -current
 1.3.24.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.1 30-Dec-2006  yamt sync with head.
 1.5.22.1 10-Dec-2006  yamt sync with head.
 1.5.20.1 18-Nov-2006  ad Sync with head.
 1.6.52.1 16-May-2008  yamt sync with head.
 1.6.50.1 18-May-2008  yamt sync with head.
 1.6.48.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.50.1 18-May-2014  rmind sync with head
 1.7.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.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.13 12-Feb-2017  chs es_arglen is now in units of bytes, update the emulations accordingly.
 1.12 09-Feb-2014  chs branches: 1.12.6; 1.12.10; 1.12.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.11 28-Apr-2008  martin branches: 1.11.34; 1.11.44; 1.11.50;
Remove clause 3 and 4 from TNF licenses
 1.10 11-Dec-2005  christos branches: 1.10.70; 1.10.72; 1.10.74;
merge ktrace-lwp.
 1.9 14-Aug-2003  christos remove the args from the macro.
 1.8 08-Aug-2003  christos - GC all the setup_stack functions
- add one for linux/i386
 1.7 13-Nov-2002  jdolecek branches: 1.7.6;
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.6 26-Aug-2002  christos Implement passing AT_{E,R}{U,G}ID in the elf aux vector, like solaris.
- pass struct proc to copyargs.
- eliminate svr4_copyargs, since it is the same as ours now.
 1.5 30-Sep-2001  simonb branches: 1.5.10;
Define LINUX_ATEXIT_SIGNATURE to enable the atexit_signature test; needed
to run Linux/Alpha binaries.
 1.4 29-Jul-2001  christos branches: 1.4.2;
Adjust to the new copyargs() footprint.
 1.3 22-Jun-2001  simonb branches: 1.3.2;
Include <sys/exec_elf.h> as the other arch's linux_exec.h file do.
New linux_trap.c compiles now.
 1.2 17-Nov-2000  erh branches: 1.2.2;
Make the linux compatibilty code work on the alpha. (horay!) (at last!)
Two main changes:
Create a linux_elf64_copyargs that uses the linux specific LinuxAuxInfo
structure. This is only used on the alpha. i386 and m68k use the
standard elf copyargs function.

Since linux's approach to binary compatibilty is to look as much
like osf1 as possible, add all the osf1 syscalls that we have
implemented to the linux syscall table. This includes get/setsysinfo,
ported from FreeBSD.

In order for linux compat to work you must have COMPAT_OSF1, COMPAT_43,
COMPAT_09, COMPAT_12 and COMPAT_13 on also.
 1.1 30-Sep-1998  erh branches: 1.1.12;
New header files for Linux compat on the Alpha.
 1.1.12.1 22-Nov-2000  bouyer Sync with HEAD.
 1.2.2.4 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.3 27-Aug-2002  nathanw Catch up to -current.
 1.2.2.2 08-Oct-2001  nathanw Catch up to -current.
 1.2.2.1 24-Aug-2001  nathanw Catch up with -current.
 1.3.2.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1 03-Aug-2001  lukem update to -current
 1.4.2.1 01-Oct-2001  fvdl Catch up with -current.
 1.5.10.1 29-Aug-2002  gehenna catch up with -current.
 1.7.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1 03-Aug-2004  skrll Sync with HEAD
 1.10.74.1 16-May-2008  yamt sync with head.
 1.10.72.1 18-May-2008  yamt sync with head.
 1.10.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.50.1 18-May-2014  rmind sync with head
 1.11.44.2 03-Dec-2017  jdolecek update from HEAD
 1.11.44.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.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.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.12.10.1 20-Mar-2017  pgoyette Sync with HEAD
 1.12.6.1 28-Aug-2017  skrll Sync with HEAD
 1.6 13-Nov-2002  jdolecek branches: 1.6.2;
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.5 26-Aug-2002  christos Implement passing AT_{E,R}{U,G}ID in the elf aux vector, like solaris.
- pass struct proc to copyargs.
- eliminate svr4_copyargs, since it is the same as ours now.
 1.4 13-Nov-2001  lukem branches: 1.4.8;
add RCSIDs (including regeneration of files as appropriate)
 1.3 29-Jul-2001  christos Adjust to the new copyargs() footprint.
 1.2 18-Jan-2001  tv branches: 1.2.2; 1.2.4;
No-op commit to force update to a non-"-kk" revision.
 1.1 17-Nov-2000  erh branches: 1.1.2;
Make the linux compatibilty code work on the alpha. (horay!) (at last!)
Two main changes:
Create a linux_elf64_copyargs that uses the linux specific LinuxAuxInfo
structure. This is only used on the alpha. i386 and m68k use the
standard elf copyargs function.

Since linux's approach to binary compatibilty is to look as much
like osf1 as possible, add all the osf1 syscalls that we have
implemented to the linux syscall table. This includes get/setsysinfo,
ported from FreeBSD.

In order for linux compat to work you must have COMPAT_OSF1, COMPAT_43,
COMPAT_09, COMPAT_12 and COMPAT_13 on also.
 1.1.2.3 11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.1.2.1 17-Nov-2000  bouyer file linux_exec_alpha.c was added on branch thorpej_scsipi on 2000-11-22 16:02:35 +0000
 1.2.4.3 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.4.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.4.1 03-Aug-2001  lukem update to -current
 1.2.2.4 11-Dec-2002  thorpej Sync with HEAD.
 1.2.2.3 27-Aug-2002  nathanw Catch up to -current.
 1.2.2.2 14-Nov-2001  nathanw Catch up to -current.
 1.2.2.1 24-Aug-2001  nathanw Catch up with -current.
 1.4.8.1 29-Aug-2002  gehenna catch up with -current.
 1.6.2.1 18-Dec-2002  gmcgarry Merge pcred and ucred, and poolify. TBD: check backward compatibility
and factor-out some higher-level functionality.
 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 30-Sep-1998  erh branches: 1.1.144; 1.1.146; 1.1.148;
New header files for Linux compat on the Alpha.
 1.1.148.2 09-Oct-2010  yamt sync with head
 1.1.148.1 16-May-2008  yamt sync with head.
 1.1.146.1 18-May-2008  yamt sync with head.
 1.1.144.1 02-Jun-2008  mjf Sync with HEAD.
 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.3 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2 10-Dec-2000  fvdl branches: 1.2.122; 1.2.124; 1.2.126;
The gist of the Linux _IOX definitions was the same for all platforms;
move it to the MI linux_ioctl.h and only leave the MD bits in the MD
header files.
 1.1 30-Sep-1998  erh branches: 1.1.12; 1.1.22;
New header files for Linux compat on the Alpha.
 1.1.22.1 30-Mar-2001  he Pull up revision 1.2 (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.1.12.1 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.2.126.1 16-May-2008  yamt sync with head.
 1.2.124.1 18-May-2008  yamt sync with head.
 1.2.122.1 02-Jun-2008  mjf Sync with HEAD.
 1.52 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.51 03-Sep-2020  thorpej The conversion of FPU tracking to PCU rendered the fpcurlwp variable
unmaintained, which broke FP status info in the COMPAT_LINUX sigcontext.
Use the new API, which will at least be closer to correct.
 1.50 09-Nov-2014  maxv branches: 1.50.12; 1.50.24;
Do not uselessly include <sys/malloc.h>.
 1.49 18-Nov-2011  christos branches: 1.49.10; 1.49.26;
- add sigtimedwait support.
- merge the siginfo population code.
 1.48 09-Jun-2011  matt branches: 1.48.2;
Adapt to change to PCU.
 1.47 04-Mar-2011  joerg branches: 1.47.2;
Refactor ps_strings access. Based on PK_32, write either the normal
version or the 32bit compat layout in execve1. Introduce a new function
copyin_psstrings for reading it back from userland and converting it to
the native layout. Refactor procfs to share most of the code with the
kern.proc_args sysctl handler.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.
 1.46 07-Jul-2010  chs branches: 1.46.2; 1.46.4;
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.45 23-Nov-2009  rmind branches: 1.45.2; 1.45.4;
Use lwp_getpcb() in compat code, clean from struct user.
 1.44 18-Mar-2009  cegger bcopy -> memcpy
 1.43 28-Apr-2008  martin branches: 1.43.2; 1.43.8; 1.43.14;
Remove clause 3 and 4 from TNF licenses
 1.42 24-Apr-2008  ad branches: 1.42.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.41 20-Dec-2007  dsl branches: 1.41.6; 1.41.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.40 08-Dec-2007  dsl branches: 1.40.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.39 08-Jul-2007  pooka branches: 1.39.6; 1.39.8; 1.39.16;
fix pasto: sigframe.sf_sc is of type linux_sigcontext
 1.38 04-Mar-2007  yamt branches: 1.38.2; 1.38.4;
fix fallout from caddr_t changes.
 1.37 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.36 09-Feb-2007  ad branches: 1.36.2;
Merge newlock2 to head.
 1.35 23-Jul-2006  ad branches: 1.35.4;
Use the LWP cached credentials where sane.
 1.34 15-May-2006  yamt include kauth.h for kauth_cred_geteuid.
 1.33 14-May-2006  elad integrate kauth.
 1.32 11-Dec-2005  christos branches: 1.32.4; 1.32.6; 1.32.8; 1.32.10; 1.32.12;
merge ktrace-lwp.
 1.31 20-May-2005  fvdl branches: 1.31.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.30 10-Oct-2003  matt Adapt to SIGINFO changes.
 1.29 26-Sep-2003  simonb Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Test
compiled on most architectures.
 1.28 29-Jun-2003  fvdl branches: 1.28.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.27 29-Jun-2003  simonb Fix 'struct lwp *' lossage.
 1.26 18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.25 25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.24 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.23 31-Mar-2002  christos branches: 1.23.2;
make signal array handling uniform, and put signal arrays in a separate
file. This is simular to errno array handling.
 1.22 23-Mar-2002  chs make this compile again (PS_STRINGS is gone).
 1.21 18-Feb-2002  christos Resolve alpha compile issues:
- bug with order in args in mask conversion md code.
- flags can be both int and long on the alpha. kludge around that, by not
passing pointers to the conversion function.
- something is wrong with the toolchain look at the void * cast in copyout().
- sa_restorer is in a different place on the aplha. Deal with that, by not
initializing it as before. XXX: this should be changed in the MD signal
definition.
 1.20 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.19 13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.18 30-Sep-2001  simonb DEBUG kernels fill the registers with garbage on process startup and
Linux program don't like that. Explicitly zero out the registers for
DEBUG kernels.
 1.17 30-May-2001  mrg branches: 1.17.2; 1.17.4;
use _KERNEL_OPT.
 1.16 26-Apr-2001  ross o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
 1.15 26-Jan-2001  manu branches: 1.15.2;
Moved include <sys/ioctl.h> so that we can build without WSCONS enabled.
 1.14 27-Dec-2000  sommerfeld Let COMPAT_LINUX build with DEBUG
 1.13 22-Dec-2000  jdolecek split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
 1.12 29-Nov-2000  jdolecek LKMify
 1.11 27-Nov-2000  jdolecek don't use linux_emuldata for now, so that this compiles after
rev 1.2 of compat/linux/common/linux_emuldata.h
 1.10 29-Jun-2000  mrg remove include of <vm/vm.h>
 1.9 30-Mar-2000  augustss Kill register declarations.
 1.8 18-Mar-2000  erh Add sigset_t parameter to restore_sigcontext, created by the sigreturn functions. linux_sigreturn still needs to use frame->extramask.
In setup_linux_rt_sigframe copy the signal mask to both possible locations.
 1.7 12-Sep-1999  chs branches: 1.7.2;
eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
 1.6 24-Mar-1999  mrg completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
 1.5 03-Jan-1999  erh Make consistent: si_ -> lsi_
 1.4 03-Jan-1999  erh Avoid name clash with standard si_{uid,pid} fields.
 1.3 08-Dec-1998  erh At least make this compile. Add linux compat version of auxillary data eventually to be used to make the emulation work correctly.
 1.2 03-Oct-1998  christos Attempt to fix the mess.
 1.1 01-Oct-1998  erh Alpha version of the linux compat machdep signal and machdep ioctl stuff.
 1.7.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.7.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.7.2.2 08-Dec-2000  bouyer Sync with HEAD.
 1.7.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.15.2.12 18-Oct-2002  nathanw Catch up to -current.
 1.15.2.11 01-Aug-2002  nathanw Catch up to -current.
 1.15.2.10 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.15.2.9 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.15.2.8 17-Apr-2002  nathanw Catch up to -current.
 1.15.2.7 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.15.2.6 28-Feb-2002  nathanw Catch up to -current.
 1.15.2.5 14-Nov-2001  nathanw Catch up to -current.
 1.15.2.4 08-Oct-2001  nathanw Catch up to -current.
 1.15.2.3 13-Sep-2001  nathanw A couple more p => l->l_proc inside #ifdef DEBUG.
 1.15.2.2 30-Aug-2001  nathanw First cut at LWP and SA support on the alpha.
Doesn't break in ordinary multiuser mode; LWPs and SAs not yet tested.
 1.15.2.1 21-Jun-2001  nathanw Catch up to -current.
 1.17.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.17.2.5 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.17.2.4 06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.17.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.17.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.17.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.23.2.1 15-Jul-2002  gehenna catch up with -current.
 1.28.2.5 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.28.2.4 21-Nov-2004  skrll Adapt to branch. Alpha kernels now compile.
 1.28.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.28.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.28.2.1 03-Aug-2004  skrll Sync with HEAD
 1.31.2.5 21-Jan-2008  yamt sync with head
 1.31.2.4 03-Sep-2007  yamt sync with head.
 1.31.2.3 26-Feb-2007  yamt sync with head.
 1.31.2.2 30-Dec-2006  yamt sync with head.
 1.31.2.1 21-Jun-2006  yamt sync with head.
 1.32.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.32.10.1 08-Mar-2006  elad Adapt to kernel authorization KPI.
 1.32.8.2 11-Aug-2006  yamt sync with head
 1.32.8.1 24-May-2006  yamt sync with head.
 1.32.6.1 01-Jun-2006  kardel Sync with head.
 1.32.4.1 09-Sep-2006  rpaulo sync with head
 1.35.4.3 06-Feb-2007  ad More compat changes.

XXX compat_irix, compat_mach and compat_darwin need work.
 1.35.4.2 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.35.4.1 11-Jan-2007  ad Checkpoint work in progress.
 1.36.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.38.4.1 11-Jul-2007  mjf Sync with head.
 1.38.2.1 15-Jul-2007  ad Sync with head.
 1.39.16.1 26-Dec-2007  ad Sync with head.
 1.39.8.1 09-Jan-2008  matt sync with HEAD
 1.39.6.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.40.4.1 02-Jan-2008  bouyer Sync with HEAD
 1.41.8.1 18-May-2008  yamt sync with head.
 1.41.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.42.2.4 11-Aug-2010  yamt sync with head.
 1.42.2.3 11-Mar-2010  yamt sync with head
 1.42.2.2 04-May-2009  yamt sync with head.
 1.42.2.1 16-May-2008  yamt sync with head.
 1.43.14.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.43.8.1 28-Apr-2009  skrll Sync with HEAD.
 1.43.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.43.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.43.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.45.4.2 12-Jun-2011  rmind sync with head
 1.45.4.1 05-Mar-2011  rmind sync with head
 1.45.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.46.4.1 05-Mar-2011  bouyer Sync with HEAD
 1.46.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.47.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.48.2.1 17-Apr-2012  yamt sync with head
 1.49.26.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.49.10.1 03-Dec-2017  jdolecek update from HEAD
 1.50.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.50.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.12 21-Nov-2011  njoly Adjust setup_linux_rt_sigframe/setup_linux_sigframe prototypes.
 1.11 28-Apr-2008  martin branches: 1.11.34;
Remove clause 3 and 4 from TNF licenses
 1.10 11-Nov-2005  chs branches: 1.10.72; 1.10.74; 1.10.76;
include additional headers that are now needed.
 1.9 10-Oct-2003  matt branches: 1.9.16;
Adapt to SIGINFO changes.
 1.8 26-Sep-2003  simonb Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Test
compiled on most architectures.
 1.7 18-Jan-2003  thorpej branches: 1.7.2;
Merge the nathanw_sa branch.
 1.6 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.5 14-Dec-2000  mycroft branches: 1.5.2; 1.5.4;
Declare linux_syscall_intern().
 1.4 11-Dec-2000  mycroft Nuke LINUX_MACHDEP_PASS_PPID.
 1.3 01-Dec-2000  jdolecek if LINUX_MACHDEP_PASS_PPID_AND_EUID is defined for given arch, add
flags EMUL_GETPID_PASS_PPID|EMUL_GETID_PASS_EID to emul_linux
define this option for alpha
 1.2 18-Mar-2000  erh Pass a signal mask to restore_sigcontext.
 1.1 30-Sep-1998  erh branches: 1.1.12;
New header files for Linux compat on the Alpha.
 1.1.12.4 05-Jan-2001  bouyer Sync with HEAD
 1.1.12.3 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.1.12.2 08-Dec-2000  bouyer Sync with HEAD.
 1.1.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.5.4.1 16-Mar-2002  jdolecek Catch up with -current.
 1.5.2.2 28-Feb-2002  nathanw Catch up to -current.
 1.5.2.1 30-Aug-2001  nathanw First cut at LWP and SA support on the alpha.
Doesn't break in ordinary multiuser mode; LWPs and SAs not yet tested.
 1.7.2.4 11-Dec-2005  christos Sync with head.
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.10.76.1 16-May-2008  yamt sync with head.
 1.10.74.1 18-May-2008  yamt sync with head.
 1.10.72.1 02-Jun-2008  mjf Sync with HEAD.
 1.11.34.1 17-Apr-2012  yamt 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 30-Sep-1998  erh branches: 1.1.46;
New header files for Linux compat on the Alpha.
 1.1.46.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.46.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.46.1 03-Sep-2004  skrll Sync with HEAD
 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.6 01-Oct-2024  riastradh sys/compat/linux/arch: Nix trailing whitespace.

No functional change intended.
 1.5 07-Sep-2021  riastradh branches: 1.5.10;
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 06-Oct-2020  christos make MAXTSIZ optional
 1.3 06-Apr-2019  thorpej branches: 1.3.4; 1.3.6;
Overhaul the API used to fetch and store individual memory cells in
userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(),
subyte(), suword(), etc.) are retired and replaced with new ufetch(9)
and ustore(9) APIs that can return proper error codes, etc. and are
implemented consistently across all platforms. The interrupt-safe
variants are no longer supported (and several of the existing attempts
at fuswintr(), etc. were buggy and not actually interrupt-safe).

Also augmement the ucas(9) API, making it consistently available on
all plaforms, supporting uniprocessor and multiprocessor systems, even
those that do not have CAS or LL/SC primitives.

Welcome to NetBSD 8.99.37.
 1.2 26-Mar-2019  christos make this compile again.
 1.1 24-Mar-2019  maxv Remove Alpha's compat_linux dependency on compat_osf1. Each function is
copied as-is from compat_osf1 with no functional change. Discussed on
tech-kern@, ok @thorpej.
 1.3.6.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.3.4.2 10-Jun-2019  christos Sync with HEAD
 1.3.4.1 06-Apr-2019  christos file linux_osf1.c was added on branch phil-wifi on 2019-06-10 22:06:59 +0000
 1.5.10.1 02-Aug-2025  perseant Sync with HEAD
 1.1 24-Mar-2019  maxv branches: 1.1.4;
Remove Alpha's compat_linux dependency on compat_osf1. Each function is
copied as-is from compat_osf1 with no functional change. Discussed on
tech-kern@, ok @thorpej.
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 24-Mar-2019  christos file linux_osf1.h was added on branch phil-wifi on 2019-06-10 22:06:59 +0000
 1.18 26-Dec-2017  kamil Refactor pipe1() and correct a bug in sys_pipe2() (SYS_pipe2)

sys_pipe2() returns two integers (values), the 2nd one is a copy of the 2nd
file descriptor that lands in fildes[2]. This is a side effect of reusing
the code for sys_pipe() (SYS_pipe) and not cleaning it up.

The first returned value is (on success) 0.

Introduced a small refactoring in pipe1() that it does not operate over
retval[], but on an array int[2]. A user sets retval[] for pipe() when
desired and needed.

This refactoring touches compat code: netbsd32, linux, linux32.

Before the changes on NetBSD/amd64:

$ ktruss -i ./a.out
[...]
15131 1 a.out pipe2(0x7f7fff2e62b8, 0) = 0, 4
[...]

After the changes:

$ ktruss -i ./a.out
[...]
782 1 a.out pipe2(0x7f7fff97e850, 0) = 0
[...]

There should not be a visible change for current users.

Sponsored by <The NetBSD Foundation>
 1.17 09-Nov-2014  maxv Do not uselessly include <sys/malloc.h>.
 1.16 01-Jun-2014  njoly branches: 1.16.2;
Cleanup pipe(2) flags, now that native handle them.
 1.15 14-Apr-2011  he branches: 1.15.14; 1.15.28;
Fix this so that it builds (missing "struct" keyword).
 1.14 14-Apr-2011  christos add the "special" pipe2.
 1.13 28-Apr-2008  martin branches: 1.13.2; 1.13.22; 1.13.28;
Remove clause 3 and 4 from TNF licenses
 1.12 20-Dec-2007  dsl branches: 1.12.6; 1.12.8; 1.12.10;
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.11 08-Dec-2007  dsl branches: 1.11.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.10 09-Feb-2007  ad branches: 1.10.18; 1.10.20; 1.10.28;
Merge newlock2 to head.
 1.9 11-Dec-2005  christos branches: 1.9.20;
merge ktrace-lwp.
 1.8 26-Feb-2005  perry branches: 1.8.4;
nuke trailing whitespace
 1.7 18-Jan-2003  thorpej branches: 1.7.2; 1.7.10; 1.7.12;
Merge the nathanw_sa branch.
 1.6 13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.5 16-Oct-2000  erh branches: 1.5.2; 1.5.4;
Add sys/proc.h so this compiles.
 1.4 29-Jun-2000  mrg remove include of <vm/vm.h>
 1.3 26-Jun-2000  mrg remove redundant vm includes.
 1.2 03-Oct-1998  christos branches: 1.2.12;
Attempt to fix the mess.
 1.1 01-Oct-1998  erh Alpha specific version of sys_pipe and signal translation array.
 1.2.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.5.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.4 12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.5.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.5.2.2 14-Nov-2001  nathanw Catch up to -current.
 1.5.2.1 30-Aug-2001  nathanw First cut at LWP and SA support on the alpha.
Doesn't break in ordinary multiuser mode; LWPs and SAs not yet tested.
 1.7.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.7.10.1 29-Apr-2005  kent sync with -current
 1.7.2.1 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.4.2 21-Jan-2008  yamt sync with head
 1.8.4.1 26-Feb-2007  yamt sync with head.
 1.9.20.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.10.28.1 26-Dec-2007  ad Sync with head.
 1.10.20.1 09-Jan-2008  matt sync with HEAD
 1.10.18.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.11.4.1 02-Jan-2008  bouyer Sync with HEAD
 1.12.10.1 16-May-2008  yamt sync with head.
 1.12.8.1 18-May-2008  yamt sync with head.
 1.12.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.13.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.22.1 21-Apr-2011  rmind 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.15.28.1 10-Aug-2014  tls Rebase.
 1.15.14.2 03-Dec-2017  jdolecek update from HEAD
 1.15.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.2.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.9 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.8 31-Mar-2002  christos branches: 1.8.108; 1.8.110; 1.8.112;
bring the reverse signal mapping array into linux_signo.c
 1.7 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.6 13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.5 18-Jan-2001  jdolecek branches: 1.5.2; 1.5.4;
constify
 1.4 04-Dec-1999  tron Correct signal array size.
 1.3 04-Dec-1999  tron Extend signal mapping array to 64 entries like in the i386 emulation.
 1.2 03-Oct-1998  christos branches: 1.2.12; 1.2.18;
Attempt to fix the mess.
 1.1 01-Oct-1998  erh Alpha specific version of sys_pipe and signal translation array.
 1.2.18.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.12.2 11-Feb-2001  bouyer Sync with HEAD.
 1.2.12.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.5.4.2 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.4.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.2.2 17-Apr-2002  nathanw Catch up to -current.
 1.5.2.1 14-Nov-2001  nathanw Catch up to -current.
 1.8.112.1 16-May-2008  yamt sync with head.
 1.8.110.1 18-May-2008  yamt sync with head.
 1.8.108.1 02-Jun-2008  mjf Sync with HEAD.
 1.7 18-Nov-2011  christos - add sigtimedwait support.
- merge the siginfo population code.
 1.6 08-Jun-2009  njoly branches: 1.6.12;
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.5 23-Nov-2008  njoly branches: 1.5.4;
Move si_code definitions from MD to MI linux_siginfo.h, all archs
(except mips for 3 values) are identical.
While here, remove unused/unneeded LINUX__SI_CODE macro. Only the
lower 16-bits are used for userland si_code.
 1.4 28-Apr-2008  martin branches: 1.4.6; 1.4.8;
Remove clause 3 and 4 from TNF licenses
 1.3 03-Jan-1999  erh branches: 1.3.140; 1.3.142; 1.3.144;
Make consistent: si_ -> lsi_
 1.2 03-Jan-1999  erh Avoid name clash with standard si_{uid,pid} fields.
 1.1 30-Sep-1998  erh New header files for Linux compat on the Alpha.
 1.3.144.3 20-Jun-2009  yamt sync with head
 1.3.144.2 04-May-2009  yamt sync with head.
 1.3.144.1 16-May-2008  yamt sync with head.
 1.3.142.1 18-May-2008  yamt sync with head.
 1.3.140.2 17-Jan-2009  mjf Sync with HEAD.
 1.3.140.1 02-Jun-2008  mjf Sync with HEAD.
 1.4.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.4.6.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.5.4.1 23-Jul-2009  jym Sync with HEAD.
 1.6.12.1 17-Apr-2012  yamt sync with head
 1.10 14-Nov-2015  christos PR/50428: Rin Okuyama: support SA_RESTORER flag for rt_sigaction(2) in the
ports that support it.
 1.9 28-Apr-2008  martin branches: 1.9.44; 1.9.64;
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 10-Dec-1998  erh branches: 1.2.22; 1.2.24;
Whoops, _NSIG->LINUX__NSIG.
 1.1 30-Sep-1998  erh New header files for Linux compat on the Alpha.
 1.2.24.1 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.22.2 11-Dec-2002  thorpej Sync with HEAD.
 1.2.22.1 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 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.9.64.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.9.44.1 03-Dec-2017  jdolecek update from HEAD
 1.6 23-May-2014  njoly Add missing specific LINUX_SOCK_NONBLOCK value for alpha.
 1.5 25-Jan-2014  njoly branches: 1.5.2;
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 30-Sep-1998  erh branches: 1.1.46;
New header files for Linux compat on the Alpha.
 1.1.46.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.46.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.46.1 03-Aug-2004  skrll Sync with HEAD
 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.5.2.1 10-Aug-2014  tls Rebase.
 1.122 28-Sep-2024  christos regen
 1.121 01-Jul-2024  christos regen
 1.120 29-Jun-2024  christos branches: 1.120.2;
regen
 1.119 19-Aug-2023  christos regen
 1.118 18-Aug-2023  christos regen
 1.117 29-Jul-2023  christos regen
 1.116 28-Jul-2023  christos regen
 1.115 02-Dec-2021  ryo regen
 1.114 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.113 20-Sep-2021  thorpej Regen for eventfd.
 1.112 19-Sep-2021  thorpej Regen for timerfd.
 1.111 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.110 26-Apr-2020  thorpej branches: 1.110.2;
Regen for native futex calls.
 1.109 09-Nov-2019  jdolecek regen
 1.108 24-Mar-2019  maxv regen
 1.107 10-Aug-2018  pgoyette Regen
 1.106 10-May-2017  riastradh branches: 1.106.8; 1.106.10;
regen
 1.105 03-Feb-2017  christos branches: 1.105.4;
regen
 1.104 03-Feb-2017  martin Regen for accept4
 1.103 16-Jan-2017  christos regen all
 1.102 13-Jan-2017  christos branches: 1.102.2;
regen
 1.101 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.100 02-Jan-2017  manu Regen
 1.99 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.98 25-Oct-2015  njoly branches: 1.98.2;
Regen for posix chown family cleanup.
 1.97 24-Sep-2015  christos regen
 1.96 07-Mar-2015  christos regen
 1.95 22-Nov-2014  njoly branches: 1.95.2;
Regen for ppoll signature fix
 1.94 29-May-2014  njoly branches: 1.94.2;
Regen for utimes(2) change.
 1.93 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.92 06-May-2014  njoly Regen for mknod device argument type change.
 1.91 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.90 08-Apr-2014  njoly Regen.
 1.89 13-Jan-2014  njoly branches: 1.89.2;
Regen.
 1.88 27-Dec-2013  njoly Regen.
 1.87 08-Dec-2013  njoly Regen.
 1.86 19-Nov-2013  chs regen
 1.85 24-Sep-2013  njoly Regen for utimensat(2).
 1.84 15-Sep-2013  njoly Regen.
 1.83 19-Sep-2012  pooka branches: 1.83.2;
regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.82 18-Nov-2011  christos branches: 1.82.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.81 30-May-2011  alnsn branches: 1.81.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.80 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.79 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.78 07-Jul-2010  chs branches: 1.78.2;
regen
 1.77 14-Dec-2009  matt branches: 1.77.2; 1.77.4;
Regen (new makesyscalls.sh)
 1.76 24-Nov-2009  njoly Regen for personality(2) update.
 1.75 17-Jun-2009  njoly Regen for sendmsg/recvmsg definitions update.
 1.74 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.73 17-Jan-2009  njoly branches: 1.73.2;
Regen for wait4 update.
 1.72 15-Jan-2009  njoly Rengen for compat50 update.
 1.71 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.70 13-Jan-2009  pooka regen
 1.69 19-Nov-2008  ad Regen.
 1.68 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.67 04-Apr-2008  njoly branches: 1.67.4; 1.67.6; 1.67.10; 1.67.12; 1.67.14;
Regen for linux_sys_msync removal.
 1.66 24-Dec-2007  njoly branches: 1.66.6;
Regen for linux_sys_getpgid removal.
 1.65 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.64 20-Dec-2007  dsl regen
 1.63 16-Nov-2007  njoly branches: 1.63.2; 1.63.6;
Regen, for syscalls cleanup.
 1.62 04-Mar-2007  christos branches: 1.62.14; 1.62.16; 1.62.20; 1.62.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.61 01-Sep-2006  matt branches: 1.61.8;
Regen.
 1.60 30-Aug-2006  matt Regen
 1.59 10-Jun-2006  christos regen
 1.58 11-Dec-2005  christos branches: 1.58.4; 1.58.8; 1.58.14;
merge ktrace-lwp.
 1.57 16-May-2005  fvdl branches: 1.57.2;
Regen.
 1.56 16-May-2005  fvdl Regen.
 1.55 26-Feb-2005  perry regen
 1.54 26-Feb-2005  perry regen
 1.53 05-Oct-2004  jdolecek branches: 1.53.4; 1.53.6;
regen: generate struct linux_sys_shmget_args for linux_sys_shmget(2)
 1.52 28-Sep-2004  jdolecek regen - now using wrapper for shmget(2)
 1.51 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.50 01-Aug-2004  jdolecek regen - sync syscall lists with Linux kernel 2.6.7
 1.49 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.48 18-Jan-2003  thorpej branches: 1.48.2; 1.48.4;
Regen to get correct RCS ID.
 1.47 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.46 10-Apr-2002  christos regen
 1.45 22-Mar-2002  christos regen.
 1.44 18-Feb-2002  christos regen
 1.43 18-Feb-2002  christos regen
 1.42 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.41 13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.40 08-Sep-2001  manu Forgotten file in my last commit for removing PowerPC mmap hack in Linux
emulation
 1.39 04-Jul-2001  jdolecek branches: 1.39.2; 1.39.4;
Regen - modify to use linux_* wrappers for syscalls passing/fetching sockaddr
 1.38 30-May-2001  mrg use _KERNEL_OPT.
 1.37 30-Mar-2001  jdolecek regen - use linux_sys_nosys() instead sys_nosys()
 1.36 30-Mar-2001  jdolecek regen
 1.35 30-Mar-2001  jdolecek regen
 1.34 27-Jan-2001  thorpej branches: 1.34.2;
Regen; add sy_flags.
 1.33 29-Dec-2000  fvdl Regen.
 1.32 21-Dec-2000  thorpej Regen.
 1.31 14-Dec-2000  jdolecek regen
 1.30 14-Dec-2000  mycroft Regen.
 1.29 11-Dec-2000  mycroft Regen.
 1.28 11-Dec-2000  mycroft Regen.
 1.27 09-Dec-2000  jdolecek regen
 1.26 09-Dec-2000  mycroft Regen.
 1.25 02-Dec-2000  jdolecek regen after addition of linux_sys_swapoff()
 1.24 01-Dec-2000  jdolecek regen
 1.23 17-Nov-2000  erh Regen.
 1.22 08-Nov-2000  erh Update the names of some unimplemented syscalls to match what linux calls them. Match const in parameters to our sys_writev.
 1.21 01-Nov-2000  jdolecek regen
 1.20 18-Aug-2000  cgd update for changed makesyscalls.master
 1.19 18-Aug-2000  cgd update for new makesyscalls.sh, and also for correct ids for changed
syscalls.master files. (you need to regenerate after checking in
syscalls.master to get the correct ids.)
 1.18 20-Mar-2000  erh branches: 1.18.4;
Regen.
 1.17 18-Mar-2000  erh Regen.
 1.16 18-Mar-2000  erh Regen.
 1.15 18-Mar-2000  erh Regen.
 1.14 16-Dec-1999  tron Regen.
 1.13 05-Dec-1999  tron Regen.
 1.12 04-Oct-1999  tron branches: 1.12.2; 1.12.8;
Regen from "syscalls.master".
 1.11 14-May-1999  thorpej Regen.
 1.10 13-May-1999  thorpej Regen.
 1.9 30-Mar-1999  tron branches: 1.9.4;
Regen.
 1.8 27-Mar-1999  tron Regen.
 1.7 23-Mar-1999  thorpej Regen; pread(2) and pwrite(2).
 1.6 10-Dec-1998  christos Regen
 1.5 19-Oct-1998  tron Regen.
 1.4 07-Oct-1998  erh Regen.
 1.3 04-Oct-1998  fvdl Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
 1.2 03-Oct-1998  christos Attempt to fix the mess.
 1.1 30-Sep-1998  erh Generate.
 1.9.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.12.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.12.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.12.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.12.2.4 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.12.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.12.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.12.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.18.4.2 01-May-2001  he Pull up regenerated files (requested by jdolecek):
Make it possible to use a different function for unimplemented
syscalls than sys_nosys(), so that the Linux emulation can avoid
posting SIGSYS and instead just return ENOSYS.
 1.18.4.1 30-Mar-2001  he Pull up regenerated files (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.34.2.10 29-May-2002  nathanw Regen.
 1.34.2.9 17-Apr-2002  nathanw Catch up to -current.
 1.34.2.8 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.34.2.7 28-Feb-2002  nathanw Catch up to -current.
 1.34.2.6 14-Nov-2001  nathanw Catch up to -current.
 1.34.2.5 21-Sep-2001  nathanw Catch up to -current.
 1.34.2.4 30-Aug-2001  nathanw First cut at LWP and SA support on the alpha.
Doesn't break in ordinary multiuser mode; LWPs and SAs not yet tested.
 1.34.2.3 24-Aug-2001  nathanw Catch up with -current.
 1.34.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.34.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.39.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.39.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.39.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.39.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.39.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.48.4.2 08-Oct-2004  jmc Regen for ticket #884
 1.48.4.1 04-Oct-2004  jmc Regen
 1.48.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.48.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.48.2.4 19-Oct-2004  skrll Sync with HEAD
 1.48.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.48.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.48.2.1 03-Aug-2004  skrll Sync with HEAD
 1.53.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.53.4.1 29-Apr-2005  kent sync with -current
 1.57.2.5 21-Jan-2008  yamt sync with head
 1.57.2.4 07-Dec-2007  yamt sync with head
 1.57.2.3 03-Sep-2007  yamt sync with head.
 1.57.2.2 30-Dec-2006  yamt sync with head.
 1.57.2.1 21-Jun-2006  yamt sync with head.
 1.58.14.1 19-Jun-2006  chap Sync with head.
 1.58.8.2 03-Sep-2006  yamt sync with head.
 1.58.8.1 26-Jun-2006  yamt sync with head.
 1.58.4.1 09-Sep-2006  rpaulo sync with head
 1.61.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.62.22.2 27-Dec-2007  mjf Sync with HEAD.
 1.62.22.1 19-Nov-2007  mjf Sync with HEAD.
 1.62.20.1 18-Nov-2007  bouyer Sync with HEAD
 1.62.16.1 09-Jan-2008  matt sync with HEAD
 1.62.14.1 21-Nov-2007  joerg Sync with HEAD.
 1.63.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.63.2.1 26-Dec-2007  ad Sync with head.
 1.66.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.66.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.67.14.1 20-Nov-2008  snj Regen for ticket 81.
 1.67.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.67.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.67.6.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.67.4.4 11-Aug-2010  yamt sync with head.
 1.67.4.3 11-Mar-2010  yamt sync with head
 1.67.4.2 20-Jun-2009  yamt sync with head
 1.67.4.1 04-May-2009  yamt sync with head.
 1.73.2.1 23-Jul-2009  jym Sync with HEAD.
 1.77.4.3 31-May-2011  rmind sync with head
 1.77.4.2 21-Apr-2011  rmind sync with head
 1.77.4.1 05-Mar-2011  rmind sync with head
 1.77.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.78.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.81.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.81.4.2 30-Oct-2012  yamt sync with head
 1.81.4.1 17-Apr-2012  yamt sync with head
 1.82.10.3 03-Dec-2017  jdolecek update from HEAD
 1.82.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.82.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.83.2.1 18-May-2014  rmind sync with head
 1.89.2.1 10-Aug-2014  tls Rebase.
 1.94.2.1 17-Apr-2017  snj regen for ticket 1354
 1.95.2.4 05-Feb-2017  skrll Sync with HEAD
 1.95.2.3 05-Oct-2016  skrll Sync with HEAD
 1.95.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.95.2.1 06-Apr-2015  skrll Sync with HEAD
 1.98.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.98.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.98.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.102.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.105.4.1 11-May-2017  pgoyette Sync with HEAD
 1.106.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.106.10.1 10-Jun-2019  christos Sync with HEAD
 1.106.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.110.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.110.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.120.2.1 02-Aug-2025  perseant Sync with HEAD
 1.121 28-Sep-2024  christos regen
 1.120 01-Jul-2024  christos regen
 1.119 29-Jun-2024  christos branches: 1.119.2;
regen
 1.118 19-Aug-2023  christos regen
 1.117 18-Aug-2023  christos regen
 1.116 29-Jul-2023  christos regen
 1.115 28-Jul-2023  christos regen
 1.114 02-Dec-2021  ryo regen
 1.113 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.112 20-Sep-2021  thorpej Regen for eventfd.
 1.111 19-Sep-2021  thorpej Regen for timerfd.
 1.110 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.109 26-Apr-2020  thorpej branches: 1.109.2;
Regen for native futex calls.
 1.108 09-Nov-2019  jdolecek regen
 1.107 24-Mar-2019  maxv regen
 1.106 10-Aug-2018  pgoyette Regen
 1.105 10-May-2017  riastradh branches: 1.105.8; 1.105.10;
regen
 1.104 03-Feb-2017  christos branches: 1.104.4;
regen
 1.103 03-Feb-2017  martin Regen for accept4
 1.102 16-Jan-2017  christos regen all
 1.101 13-Jan-2017  christos branches: 1.101.2;
regen
 1.100 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.99 02-Jan-2017  manu Regen
 1.98 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.97 25-Oct-2015  njoly branches: 1.97.2;
Regen for posix chown family cleanup.
 1.96 24-Sep-2015  christos regen
 1.95 07-Mar-2015  christos regen
 1.94 22-Nov-2014  njoly branches: 1.94.2;
Regen for ppoll signature fix
 1.93 29-May-2014  njoly branches: 1.93.2;
Regen for utimes(2) change.
 1.92 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.91 06-May-2014  njoly Regen for mknod device argument type change.
 1.90 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.89 08-Apr-2014  njoly Regen.
 1.88 13-Jan-2014  njoly branches: 1.88.2;
Regen.
 1.87 27-Dec-2013  njoly Regen.
 1.86 08-Dec-2013  njoly Regen.
 1.85 19-Nov-2013  chs regen
 1.84 24-Sep-2013  njoly Regen for utimensat(2).
 1.83 15-Sep-2013  njoly Regen.
 1.82 19-Sep-2012  pooka branches: 1.82.2;
regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.81 18-Nov-2011  christos branches: 1.81.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.80 30-May-2011  alnsn branches: 1.80.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.79 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.78 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.77 07-Jul-2010  chs branches: 1.77.2;
regen
 1.76 14-Dec-2009  matt branches: 1.76.2; 1.76.4;
Regen (new makesyscalls.sh)
 1.75 24-Nov-2009  njoly Regen for personality(2) update.
 1.74 17-Jun-2009  njoly Regen for sendmsg/recvmsg definitions update.
 1.73 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.72 17-Jan-2009  njoly branches: 1.72.2;
Regen for wait4 update.
 1.71 15-Jan-2009  njoly Rengen for compat50 update.
 1.70 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.69 13-Jan-2009  pooka regen
 1.68 19-Nov-2008  ad Regen.
 1.67 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.66 04-Apr-2008  njoly branches: 1.66.4; 1.66.6; 1.66.10; 1.66.12; 1.66.14;
Regen for linux_sys_msync removal.
 1.65 24-Dec-2007  njoly branches: 1.65.6;
Regen for linux_sys_getpgid removal.
 1.64 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.63 20-Dec-2007  dsl regen
 1.62 16-Nov-2007  njoly branches: 1.62.2; 1.62.6;
Regen, for syscalls cleanup.
 1.61 04-Mar-2007  christos branches: 1.61.14; 1.61.16; 1.61.20; 1.61.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.60 01-Sep-2006  matt branches: 1.60.8;
Regen.
 1.59 30-Aug-2006  matt Regen
 1.58 10-Jun-2006  christos regen
 1.57 11-Dec-2005  christos branches: 1.57.4; 1.57.8; 1.57.14;
merge ktrace-lwp.
 1.56 16-May-2005  fvdl branches: 1.56.2;
Regen.
 1.55 16-May-2005  fvdl Regen.
 1.54 26-Feb-2005  perry regen
 1.53 26-Feb-2005  perry regen
 1.52 05-Oct-2004  jdolecek branches: 1.52.4; 1.52.6;
regen: generate struct linux_sys_shmget_args for linux_sys_shmget(2)
 1.51 28-Sep-2004  jdolecek regen - now using wrapper for shmget(2)
 1.50 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.49 01-Aug-2004  jdolecek regen - sync syscall lists with Linux kernel 2.6.7
 1.48 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.47 18-Jan-2003  thorpej branches: 1.47.2; 1.47.4;
Regen to get correct RCS ID.
 1.46 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.45 10-Apr-2002  christos regen
 1.44 22-Mar-2002  christos regen.
 1.43 18-Feb-2002  christos regen
 1.42 18-Feb-2002  christos regen
 1.41 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.40 13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.39 04-Jul-2001  jdolecek branches: 1.39.2;
Regen - modify to use linux_* wrappers for syscalls passing/fetching sockaddr
 1.38 30-May-2001  mrg use _KERNEL_OPT.
 1.37 30-Mar-2001  jdolecek regen - use linux_sys_nosys() instead sys_nosys()
 1.36 30-Mar-2001  jdolecek regen
 1.35 30-Mar-2001  jdolecek regen
 1.34 27-Jan-2001  thorpej branches: 1.34.2;
Regen; add sy_flags.
 1.33 29-Dec-2000  fvdl Regen.
 1.32 21-Dec-2000  thorpej Regen.
 1.31 14-Dec-2000  jdolecek regen
 1.30 14-Dec-2000  mycroft Regen.
 1.29 11-Dec-2000  mycroft Regen.
 1.28 11-Dec-2000  mycroft Regen.
 1.27 09-Dec-2000  jdolecek regen
 1.26 09-Dec-2000  mycroft Regen.
 1.25 02-Dec-2000  jdolecek regen after addition of linux_sys_swapoff()
 1.24 01-Dec-2000  jdolecek regen
 1.23 17-Nov-2000  erh Regen.
 1.22 08-Nov-2000  erh Update the names of some unimplemented syscalls to match what linux calls them. Match const in parameters to our sys_writev.
 1.21 01-Nov-2000  jdolecek regen
 1.20 18-Aug-2000  cgd update for changed makesyscalls.master
 1.19 18-Aug-2000  cgd update for new makesyscalls.sh, and also for correct ids for changed
syscalls.master files. (you need to regenerate after checking in
syscalls.master to get the correct ids.)
 1.18 20-Mar-2000  erh branches: 1.18.4;
Regen.
 1.17 18-Mar-2000  erh Regen.
 1.16 18-Mar-2000  erh Regen.
 1.15 18-Mar-2000  erh Regen.
 1.14 16-Dec-1999  tron Regen.
 1.13 05-Dec-1999  tron Regen.
 1.12 04-Oct-1999  tron branches: 1.12.2; 1.12.8;
Regen from "syscalls.master".
 1.11 14-May-1999  thorpej Regen.
 1.10 13-May-1999  thorpej Regen.
 1.9 30-Mar-1999  tron branches: 1.9.4;
Regen.
 1.8 27-Mar-1999  tron Regen.
 1.7 23-Mar-1999  thorpej Regen; pread(2) and pwrite(2).
 1.6 10-Dec-1998  christos Regen
 1.5 19-Oct-1998  tron Regen.
 1.4 07-Oct-1998  erh Regen.
 1.3 04-Oct-1998  fvdl Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
 1.2 03-Oct-1998  christos Attempt to fix the mess.
 1.1 30-Sep-1998  erh Generate.
 1.9.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.12.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.12.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.12.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.12.2.4 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.12.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.12.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.12.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.18.4.2 01-May-2001  he Pull up regenerated files (requested by jdolecek):
Make it possible to use a different function for unimplemented
syscalls than sys_nosys(), so that the Linux emulation can avoid
posting SIGSYS and instead just return ENOSYS.
 1.18.4.1 30-Mar-2001  he Pull up regenerated files (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.34.2.9 29-May-2002  nathanw Regen.
 1.34.2.8 17-Apr-2002  nathanw Catch up to -current.
 1.34.2.7 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.34.2.6 28-Feb-2002  nathanw Catch up to -current.
 1.34.2.5 14-Nov-2001  nathanw Catch up to -current.
 1.34.2.4 30-Aug-2001  nathanw First cut at LWP and SA support on the alpha.
Doesn't break in ordinary multiuser mode; LWPs and SAs not yet tested.
 1.34.2.3 24-Aug-2001  nathanw Catch up with -current.
 1.34.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.34.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.39.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.39.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.39.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.47.4.2 08-Oct-2004  jmc Regen for ticket #884
 1.47.4.1 04-Oct-2004  jmc Regen
 1.47.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.47.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.47.2.4 19-Oct-2004  skrll Sync with HEAD
 1.47.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.47.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.47.2.1 03-Aug-2004  skrll Sync with HEAD
 1.52.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.52.4.1 29-Apr-2005  kent sync with -current
 1.56.2.5 21-Jan-2008  yamt sync with head
 1.56.2.4 07-Dec-2007  yamt sync with head
 1.56.2.3 03-Sep-2007  yamt sync with head.
 1.56.2.2 30-Dec-2006  yamt sync with head.
 1.56.2.1 21-Jun-2006  yamt sync with head.
 1.57.14.1 19-Jun-2006  chap Sync with head.
 1.57.8.2 03-Sep-2006  yamt sync with head.
 1.57.8.1 26-Jun-2006  yamt sync with head.
 1.57.4.1 09-Sep-2006  rpaulo sync with head
 1.60.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.61.22.2 27-Dec-2007  mjf Sync with HEAD.
 1.61.22.1 19-Nov-2007  mjf Sync with HEAD.
 1.61.20.1 18-Nov-2007  bouyer Sync with HEAD
 1.61.16.1 09-Jan-2008  matt sync with HEAD
 1.61.14.1 21-Nov-2007  joerg Sync with HEAD.
 1.62.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.62.2.1 26-Dec-2007  ad Sync with head.
 1.65.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.65.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.66.14.1 20-Nov-2008  snj Regen for ticket 81.
 1.66.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.66.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.66.6.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.66.4.4 11-Aug-2010  yamt sync with head.
 1.66.4.3 11-Mar-2010  yamt sync with head
 1.66.4.2 20-Jun-2009  yamt sync with head
 1.66.4.1 04-May-2009  yamt sync with head.
 1.72.2.1 23-Jul-2009  jym Sync with HEAD.
 1.76.4.3 31-May-2011  rmind sync with head
 1.76.4.2 21-Apr-2011  rmind sync with head
 1.76.4.1 05-Mar-2011  rmind sync with head
 1.76.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.77.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.80.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.80.4.2 30-Oct-2012  yamt sync with head
 1.80.4.1 17-Apr-2012  yamt sync with head
 1.81.10.3 03-Dec-2017  jdolecek update from HEAD
 1.81.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.81.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.82.2.1 18-May-2014  rmind sync with head
 1.88.2.1 10-Aug-2014  tls Rebase.
 1.93.2.1 17-Apr-2017  snj regen for ticket 1354
 1.94.2.5 28-Aug-2017  skrll Sync with HEAD
 1.94.2.4 05-Feb-2017  skrll Sync with HEAD
 1.94.2.3 05-Oct-2016  skrll Sync with HEAD
 1.94.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.94.2.1 06-Apr-2015  skrll Sync with HEAD
 1.97.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.97.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.97.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.101.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.104.4.1 11-May-2017  pgoyette Sync with HEAD
 1.105.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.105.10.1 10-Jun-2019  christos Sync with HEAD
 1.105.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.109.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.109.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.119.2.1 02-Aug-2025  perseant Sync with HEAD
 1.123 28-Sep-2024  christos regen
 1.122 01-Jul-2024  christos regen
 1.121 29-Jun-2024  christos branches: 1.121.2;
regen
 1.120 19-Aug-2023  christos regen
 1.119 18-Aug-2023  christos regen
 1.118 29-Jul-2023  christos regen
 1.117 28-Jul-2023  christos regen
 1.116 02-Dec-2021  ryo regen
 1.115 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.114 20-Sep-2021  thorpej Regen for eventfd.
 1.113 19-Sep-2021  thorpej Regen for timerfd.
 1.112 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.111 26-Apr-2020  thorpej branches: 1.111.2;
Regen for native futex calls.
 1.110 09-Nov-2019  jdolecek regen
 1.109 24-Mar-2019  maxv regen
 1.108 10-Aug-2018  pgoyette Regen
 1.107 10-May-2017  riastradh branches: 1.107.8; 1.107.10;
regen
 1.106 03-Feb-2017  christos branches: 1.106.4;
regen
 1.105 03-Feb-2017  martin Regen for accept4
 1.104 16-Jan-2017  christos regen all
 1.103 13-Jan-2017  christos branches: 1.103.2;
regen
 1.102 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.101 02-Jan-2017  manu Regen
 1.100 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.99 25-Oct-2015  njoly branches: 1.99.2;
Regen for posix chown family cleanup.
 1.98 24-Sep-2015  christos regen
 1.97 07-Mar-2015  christos regen
 1.96 22-Nov-2014  njoly branches: 1.96.2;
Regen for ppoll signature fix
 1.95 29-May-2014  njoly branches: 1.95.2;
Regen for utimes(2) change.
 1.94 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.93 06-May-2014  njoly Regen for mknod device argument type change.
 1.92 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.91 08-Apr-2014  njoly Regen.
 1.90 13-Jan-2014  njoly branches: 1.90.2;
Regen.
 1.89 27-Dec-2013  njoly Regen.
 1.88 08-Dec-2013  njoly Regen.
 1.87 19-Nov-2013  chs regen
 1.86 24-Sep-2013  njoly Regen for utimensat(2).
 1.85 15-Sep-2013  njoly Regen.
 1.84 19-Sep-2012  pooka branches: 1.84.2;
regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.83 18-Nov-2011  christos branches: 1.83.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.82 30-May-2011  alnsn branches: 1.82.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.81 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.80 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.79 07-Jul-2010  chs branches: 1.79.2;
regen
 1.78 14-Dec-2009  matt branches: 1.78.2; 1.78.4;
Regen (new makesyscalls.sh)
 1.77 24-Nov-2009  njoly Regen for personality(2) update.
 1.76 17-Jun-2009  njoly Regen for sendmsg/recvmsg definitions update.
 1.75 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.74 17-Jan-2009  njoly branches: 1.74.2;
Regen for wait4 update.
 1.73 15-Jan-2009  njoly Rengen for compat50 update.
 1.72 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.71 13-Jan-2009  pooka regen
 1.70 19-Nov-2008  ad Regen.
 1.69 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.68 04-Apr-2008  njoly branches: 1.68.4; 1.68.6; 1.68.10; 1.68.12; 1.68.14;
Regen for linux_sys_msync removal.
 1.67 24-Dec-2007  njoly branches: 1.67.6;
Regen for linux_sys_getpgid removal.
 1.66 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.65 20-Dec-2007  dsl regen
 1.64 16-Nov-2007  njoly branches: 1.64.2; 1.64.6;
Regen, for syscalls cleanup.
 1.63 09-Feb-2007  ad branches: 1.63.18; 1.63.20; 1.63.24; 1.63.26;
Merge newlock2 to head.
 1.62 01-Sep-2006  matt branches: 1.62.2;
Regen.
 1.61 30-Aug-2006  matt Regen
 1.60 10-Jun-2006  christos regen
 1.59 11-Dec-2005  christos branches: 1.59.4; 1.59.8; 1.59.14;
merge ktrace-lwp.
 1.58 16-May-2005  fvdl branches: 1.58.2;
Regen.
 1.57 16-May-2005  fvdl Regen.
 1.56 26-Feb-2005  perry regen
 1.55 26-Feb-2005  perry regen
 1.54 05-Oct-2004  jdolecek branches: 1.54.4; 1.54.6;
regen: generate struct linux_sys_shmget_args for linux_sys_shmget(2)
 1.53 28-Sep-2004  jdolecek regen - now using wrapper for shmget(2)
 1.52 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.51 01-Aug-2004  jdolecek regen - sync syscall lists with Linux kernel 2.6.7
 1.50 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.49 18-Jan-2003  thorpej branches: 1.49.2; 1.49.4;
Regen to get correct RCS ID.
 1.48 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.47 10-Apr-2002  christos regen
 1.46 22-Mar-2002  christos regen.
 1.45 18-Feb-2002  christos regen
 1.44 18-Feb-2002  christos regen
 1.43 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.42 13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.41 08-Sep-2001  manu Removed a hack to make PowerPC mmap work. This could have side effects on
alpha and i386. It has been tested and works on i386.
 1.40 04-Jul-2001  jdolecek branches: 1.40.2; 1.40.4;
Regen - modify to use linux_* wrappers for syscalls passing/fetching sockaddr
 1.39 30-May-2001  mrg use _KERNEL_OPT.
 1.38 30-Mar-2001  jdolecek regen - use linux_sys_nosys() instead sys_nosys()
 1.37 30-Mar-2001  jdolecek regen
 1.36 30-Mar-2001  jdolecek regen
 1.35 27-Jan-2001  thorpej branches: 1.35.2;
Regen; add sy_flags.
 1.34 29-Dec-2000  fvdl Regen.
 1.33 21-Dec-2000  thorpej Regen.
 1.32 14-Dec-2000  jdolecek regen
 1.31 14-Dec-2000  mycroft Regen.
 1.30 11-Dec-2000  mycroft Regen.
 1.29 11-Dec-2000  mycroft Regen.
 1.28 09-Dec-2000  jdolecek regen
 1.27 09-Dec-2000  mycroft Regen.
 1.26 02-Dec-2000  jdolecek regen after addition of linux_sys_swapoff()
 1.25 01-Dec-2000  jdolecek regen
 1.24 17-Nov-2000  erh Regen.
 1.23 13-Nov-2000  jdolecek change the type of *syscallnames[] array to 'const char * const foo[]'
 1.22 08-Nov-2000  erh Update the names of some unimplemented syscalls to match what linux calls them. Match const in parameters to our sys_writev.
 1.21 01-Nov-2000  jdolecek regen
 1.20 18-Aug-2000  cgd update for changed makesyscalls.master
 1.19 18-Aug-2000  cgd update for new makesyscalls.sh, and also for correct ids for changed
syscalls.master files. (you need to regenerate after checking in
syscalls.master to get the correct ids.)
 1.18 20-Mar-2000  erh branches: 1.18.4;
Regen.
 1.17 18-Mar-2000  erh Regen.
 1.16 18-Mar-2000  erh Regen.
 1.15 18-Mar-2000  erh Regen.
 1.14 16-Dec-1999  tron Regen.
 1.13 05-Dec-1999  tron Regen.
 1.12 04-Oct-1999  tron branches: 1.12.2; 1.12.8;
Regen from "syscalls.master".
 1.11 14-May-1999  thorpej Regen.
 1.10 13-May-1999  thorpej Regen.
 1.9 30-Mar-1999  tron branches: 1.9.4;
Regen.
 1.8 27-Mar-1999  tron Regen.
 1.7 23-Mar-1999  thorpej Regen; pread(2) and pwrite(2).
 1.6 10-Dec-1998  christos Regen
 1.5 19-Oct-1998  tron Regen.
 1.4 07-Oct-1998  erh Regen.
 1.3 04-Oct-1998  fvdl Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
 1.2 03-Oct-1998  christos Attempt to fix the mess.
 1.1 30-Sep-1998  erh Generate.
 1.9.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.12.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.12.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.12.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.12.2.4 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.12.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.12.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.12.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.18.4.2 01-May-2001  he Pull up regenerated files (requested by jdolecek):
Make it possible to use a different function for unimplemented
syscalls than sys_nosys(), so that the Linux emulation can avoid
posting SIGSYS and instead just return ENOSYS.
 1.18.4.1 30-Mar-2001  he Pull up regenerated files (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.35.2.9 29-May-2002  nathanw Regen.
 1.35.2.8 17-Apr-2002  nathanw Catch up to -current.
 1.35.2.7 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.35.2.6 28-Feb-2002  nathanw Catch up to -current.
 1.35.2.5 14-Nov-2001  nathanw Catch up to -current.
 1.35.2.4 30-Aug-2001  nathanw First cut at LWP and SA support on the alpha.
Doesn't break in ordinary multiuser mode; LWPs and SAs not yet tested.
 1.35.2.3 24-Aug-2001  nathanw Catch up with -current.
 1.35.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.35.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.40.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.40.2.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.40.2.3 16-Mar-2002  jdolecek Catch up with -current.
 1.40.2.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.40.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.49.4.2 08-Oct-2004  jmc Regen for ticket #884
 1.49.4.1 04-Oct-2004  jmc Regen
 1.49.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.49.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.49.2.4 19-Oct-2004  skrll Sync with HEAD
 1.49.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.49.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.49.2.1 03-Aug-2004  skrll Sync with HEAD
 1.54.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.54.4.1 29-Apr-2005  kent sync with -current
 1.58.2.5 21-Jan-2008  yamt sync with head
 1.58.2.4 07-Dec-2007  yamt sync with head
 1.58.2.3 26-Feb-2007  yamt sync with head.
 1.58.2.2 30-Dec-2006  yamt sync with head.
 1.58.2.1 21-Jun-2006  yamt sync with head.
 1.59.14.1 19-Jun-2006  chap Sync with head.
 1.59.8.2 03-Sep-2006  yamt sync with head.
 1.59.8.1 26-Jun-2006  yamt sync with head.
 1.59.4.1 09-Sep-2006  rpaulo sync with head
 1.62.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.63.26.2 27-Dec-2007  mjf Sync with HEAD.
 1.63.26.1 19-Nov-2007  mjf Sync with HEAD.
 1.63.24.1 18-Nov-2007  bouyer Sync with HEAD
 1.63.20.1 09-Jan-2008  matt sync with HEAD
 1.63.18.1 21-Nov-2007  joerg Sync with HEAD.
 1.64.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.64.2.1 26-Dec-2007  ad Sync with head.
 1.67.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.67.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.68.14.1 20-Nov-2008  snj Regen for ticket 81.
 1.68.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.68.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.68.6.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.68.6.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.68.4.4 11-Aug-2010  yamt sync with head.
 1.68.4.3 11-Mar-2010  yamt sync with head
 1.68.4.2 20-Jun-2009  yamt sync with head
 1.68.4.1 04-May-2009  yamt sync with head.
 1.74.2.1 23-Jul-2009  jym Sync with HEAD.
 1.78.4.3 31-May-2011  rmind sync with head
 1.78.4.2 21-Apr-2011  rmind sync with head
 1.78.4.1 05-Mar-2011  rmind sync with head
 1.78.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.79.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.82.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.82.4.2 30-Oct-2012  yamt sync with head
 1.82.4.1 17-Apr-2012  yamt sync with head
 1.83.10.3 03-Dec-2017  jdolecek update from HEAD
 1.83.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.83.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.84.2.1 18-May-2014  rmind sync with head
 1.90.2.1 10-Aug-2014  tls Rebase.
 1.95.2.1 17-Apr-2017  snj regen for ticket 1354
 1.96.2.4 05-Feb-2017  skrll Sync with HEAD
 1.96.2.3 05-Oct-2016  skrll Sync with HEAD
 1.96.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.96.2.1 06-Apr-2015  skrll Sync with HEAD
 1.99.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.99.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.99.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.103.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.106.4.1 11-May-2017  pgoyette Sync with HEAD
 1.107.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.107.10.1 10-Jun-2019  christos Sync with HEAD
 1.107.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.111.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.111.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.121.2.1 02-Aug-2025  perseant Sync with HEAD
 1.122 28-Sep-2024  christos regen
 1.121 01-Jul-2024  christos regen
 1.120 29-Jun-2024  christos branches: 1.120.2;
regen
 1.119 19-Aug-2023  christos regen
 1.118 18-Aug-2023  christos regen
 1.117 29-Jul-2023  christos regen
 1.116 28-Jul-2023  christos regen
 1.115 02-Dec-2021  ryo regen
 1.114 20-Sep-2021  thorpej Regen for preadv(2) / pwritev(2).
 1.113 20-Sep-2021  thorpej Regen for eventfd.
 1.112 19-Sep-2021  thorpej Regen for timerfd.
 1.111 19-Sep-2021  thorpej Regen for POSIX timer syscalls.
 1.110 26-Apr-2020  thorpej branches: 1.110.2;
Regen for native futex calls.
 1.109 09-Nov-2019  jdolecek regen
 1.108 24-Mar-2019  maxv regen
 1.107 10-Aug-2018  pgoyette Regen
 1.106 10-May-2017  riastradh branches: 1.106.8; 1.106.10;
regen
 1.105 03-Feb-2017  christos branches: 1.105.4;
regen
 1.104 03-Feb-2017  martin Regen for accept4
 1.103 16-Jan-2017  christos regen all
 1.102 13-Jan-2017  christos branches: 1.102.2;
regen
 1.101 02-Jan-2017  martin Regen (something apparently went wrong in previous)
 1.100 02-Jan-2017  manu Regen
 1.99 24-Jul-2016  njoly Regen for readlink/readlinkat signatures.
 1.98 25-Oct-2015  njoly branches: 1.98.2;
Regen for posix chown family cleanup.
 1.97 24-Sep-2015  christos regen
 1.96 07-Mar-2015  christos regen
 1.95 22-Nov-2014  njoly branches: 1.95.2;
Regen for ppoll signature fix
 1.94 29-May-2014  njoly branches: 1.94.2;
Regen for utimes(2) change.
 1.93 17-May-2014  njoly Regen for fadvise64 offset types changes.
 1.92 06-May-2014  njoly Regen for mknod device argument type change.
 1.91 04-May-2014  njoly Regen for pread/pwrite 64bit offset argument.
 1.90 08-Apr-2014  njoly Regen.
 1.89 13-Jan-2014  njoly branches: 1.89.2;
Regen.
 1.88 27-Dec-2013  njoly Regen.
 1.87 08-Dec-2013  njoly Regen.
 1.86 19-Nov-2013  chs regen
 1.85 24-Sep-2013  njoly Regen for utimensat(2).
 1.84 15-Sep-2013  njoly Regen.
 1.83 19-Sep-2012  pooka branches: 1.83.2;
regen for ppoll (and, apparently, SYCALL_ARG_PTR)
 1.82 18-Nov-2011  christos branches: 1.82.10;
- add sigtimedwait support.
- merge the siginfo population code.
 1.81 30-May-2011  alnsn branches: 1.81.4;
Regenerate files to pick up correct RCS Ids. Suggested by Chris Badura.
 1.80 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.79 15-Apr-2011  he Regenerate these files after adding pipe2() and dup3().
 1.78 07-Jul-2010  chs branches: 1.78.2;
regen
 1.77 14-Dec-2009  matt branches: 1.77.2; 1.77.4;
Regen (new makesyscalls.sh)
 1.76 24-Nov-2009  njoly Regen for personality(2) update.
 1.75 17-Jun-2009  njoly Regen for sendmsg/recvmsg definitions update.
 1.74 08-Jun-2009  njoly Regen for rt_queueinfo(2) update.
 1.73 17-Jan-2009  njoly branches: 1.73.2;
Regen for wait4 update.
 1.72 15-Jan-2009  njoly Rengen for compat50 update.
 1.71 13-Jan-2009  pooka Regen to prove I didn't screw up the conversion: purely RCSID changes.
 1.70 13-Jan-2009  pooka regen
 1.69 19-Nov-2008  ad Regen.
 1.68 12-Nov-2008  njoly Regen for nanosleep(2) fix.
 1.67 04-Apr-2008  njoly branches: 1.67.4; 1.67.6; 1.67.10; 1.67.12; 1.67.14;
Regen for linux_sys_msync removal.
 1.66 24-Dec-2007  njoly branches: 1.66.6;
Regen for linux_sys_getpgid removal.
 1.65 21-Dec-2007  njoly Regen for getfsuid/setfsgid syscall exchange.
 1.64 20-Dec-2007  dsl regen
 1.63 16-Nov-2007  njoly branches: 1.63.2; 1.63.6;
Regen, for syscalls cleanup.
 1.62 09-Feb-2007  ad branches: 1.62.18; 1.62.20; 1.62.24; 1.62.26;
Merge newlock2 to head.
 1.61 01-Sep-2006  matt branches: 1.61.2;
Regen.
 1.60 30-Aug-2006  matt Regen
 1.59 10-Jun-2006  christos regen
 1.58 11-Dec-2005  christos branches: 1.58.4; 1.58.8; 1.58.14;
merge ktrace-lwp.
 1.57 16-May-2005  fvdl branches: 1.57.2;
Regen.
 1.56 16-May-2005  fvdl Regen.
 1.55 26-Feb-2005  perry regen
 1.54 26-Feb-2005  perry regen
 1.53 05-Oct-2004  jdolecek branches: 1.53.4; 1.53.6;
regen: generate struct linux_sys_shmget_args for linux_sys_shmget(2)
 1.52 28-Sep-2004  jdolecek regen - now using wrapper for shmget(2)
 1.51 08-Sep-2004  jdolecek regen: add exit_group(2)
 1.50 01-Aug-2004  jdolecek regen - sync syscall lists with Linux kernel 2.6.7
 1.49 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.48 18-Jan-2003  thorpej branches: 1.48.2; 1.48.4;
Regen to get correct RCS ID.
 1.47 18-Jan-2003  thorpej Regen: Merge the nathanw_sa branch.
 1.46 10-Apr-2002  christos regen
 1.45 22-Mar-2002  christos regen.
 1.44 18-Feb-2002  christos regen
 1.43 18-Feb-2002  christos regen
 1.42 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.41 13-Nov-2001  lukem add RCSIDs (including regeneration of files as appropriate)
 1.40 04-Jul-2001  jdolecek branches: 1.40.2;
Regen - modify to use linux_* wrappers for syscalls passing/fetching sockaddr
 1.39 30-May-2001  mrg use _KERNEL_OPT.
 1.38 30-Mar-2001  jdolecek regen - use linux_sys_nosys() instead sys_nosys()
 1.37 30-Mar-2001  jdolecek regen
 1.36 30-Mar-2001  jdolecek regen
 1.35 27-Jan-2001  thorpej branches: 1.35.2;
Regen; add sy_flags.
 1.34 29-Dec-2000  fvdl Regen.
 1.33 21-Dec-2000  thorpej Regen.
 1.32 14-Dec-2000  jdolecek regen
 1.31 14-Dec-2000  mycroft Regen.
 1.30 11-Dec-2000  mycroft Regen.
 1.29 11-Dec-2000  mycroft Regen.
 1.28 09-Dec-2000  jdolecek regen
 1.27 09-Dec-2000  mycroft Regen.
 1.26 02-Dec-2000  jdolecek regen after addition of linux_sys_swapoff()
 1.25 01-Dec-2000  jdolecek regen
 1.24 17-Nov-2000  erh Regen.
 1.23 08-Nov-2000  erh Update the names of some unimplemented syscalls to match what linux calls them. Match const in parameters to our sys_writev.
 1.22 01-Nov-2000  jdolecek regen
 1.21 18-Aug-2000  cgd update for changed makesyscalls.master
 1.20 18-Aug-2000  cgd update for new makesyscalls.sh, and also for correct ids for changed
syscalls.master files. (you need to regenerate after checking in
syscalls.master to get the correct ids.)
 1.19 20-Mar-2000  erh branches: 1.19.4;
Regen.
 1.18 18-Mar-2000  erh Regen.
 1.17 18-Mar-2000  erh Regen.
 1.16 18-Mar-2000  erh Regen.
 1.15 16-Dec-1999  tron Regen.
 1.14 05-Dec-1999  tron Regen.
 1.13 04-Oct-1999  tron branches: 1.13.2; 1.13.8;
Regen from "syscalls.master".
 1.12 14-May-1999  thorpej Regen.
 1.11 13-May-1999  thorpej Regen.
 1.10 30-Mar-1999  tron branches: 1.10.4;
Regen.
 1.9 27-Mar-1999  tron Regen.
 1.8 23-Mar-1999  thorpej Regen; pread(2) and pwrite(2).
 1.7 10-Dec-1998  christos Regen
 1.6 08-Dec-1998  erh Add mmap header.
 1.5 19-Oct-1998  tron Regen.
 1.4 07-Oct-1998  erh Regen.
 1.3 04-Oct-1998  fvdl Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
 1.2 03-Oct-1998  christos Attempt to fix the mess.
 1.1 30-Sep-1998  erh Generate.
 1.10.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.13.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.13.2.7 21-Apr-2001  bouyer Sync with HEAD
 1.13.2.6 11-Feb-2001  bouyer Sync with HEAD.
 1.13.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.13.2.4 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.13.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.13.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.13.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.19.4.2 01-May-2001  he Pull up regenerated files (requested by jdolecek):
Make it possible to use a different function for unimplemented
syscalls than sys_nosys(), so that the Linux emulation can avoid
posting SIGSYS and instead just return ENOSYS.
 1.19.4.1 30-Mar-2001  he Pull up regenerated files (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.35.2.9 29-May-2002  nathanw Regen.
 1.35.2.8 17-Apr-2002  nathanw Catch up to -current.
 1.35.2.7 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.35.2.6 28-Feb-2002  nathanw Catch up to -current.
 1.35.2.5 14-Nov-2001  nathanw Catch up to -current.
 1.35.2.4 30-Aug-2001  nathanw First cut at LWP and SA support on the alpha.
Doesn't break in ordinary multiuser mode; LWPs and SAs not yet tested.
 1.35.2.3 24-Aug-2001  nathanw Catch up with -current.
 1.35.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.35.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.40.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.40.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.40.2.1 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.48.4.2 08-Oct-2004  jmc Regen for ticket #884
 1.48.4.1 04-Oct-2004  jmc Regen
 1.48.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.48.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.48.2.4 19-Oct-2004  skrll Sync with HEAD
 1.48.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.48.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.48.2.1 03-Aug-2004  skrll Sync with HEAD
 1.53.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.53.4.1 29-Apr-2005  kent sync with -current
 1.57.2.5 21-Jan-2008  yamt sync with head
 1.57.2.4 07-Dec-2007  yamt sync with head
 1.57.2.3 26-Feb-2007  yamt sync with head.
 1.57.2.2 30-Dec-2006  yamt sync with head.
 1.57.2.1 21-Jun-2006  yamt sync with head.
 1.58.14.1 19-Jun-2006  chap Sync with head.
 1.58.8.2 03-Sep-2006  yamt sync with head.
 1.58.8.1 26-Jun-2006  yamt sync with head.
 1.58.4.1 09-Sep-2006  rpaulo sync with head
 1.61.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.62.26.2 27-Dec-2007  mjf Sync with HEAD.
 1.62.26.1 19-Nov-2007  mjf Sync with HEAD.
 1.62.24.1 18-Nov-2007  bouyer Sync with HEAD
 1.62.20.1 09-Jan-2008  matt sync with HEAD
 1.62.18.1 21-Nov-2007  joerg Sync with HEAD.
 1.63.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.63.2.1 26-Dec-2007  ad Sync with head.
 1.66.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.66.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.67.14.1 20-Nov-2008  snj Regen for ticket 81.
 1.67.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.67.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.67.6.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.67.6.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.67.4.4 11-Aug-2010  yamt sync with head.
 1.67.4.3 11-Mar-2010  yamt sync with head
 1.67.4.2 20-Jun-2009  yamt sync with head
 1.67.4.1 04-May-2009  yamt sync with head.
 1.73.2.1 23-Jul-2009  jym Sync with HEAD.
 1.77.4.3 31-May-2011  rmind sync with head
 1.77.4.2 21-Apr-2011  rmind sync with head
 1.77.4.1 05-Mar-2011  rmind sync with head
 1.77.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.78.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.81.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.81.4.2 30-Oct-2012  yamt sync with head
 1.81.4.1 17-Apr-2012  yamt sync with head
 1.82.10.3 03-Dec-2017  jdolecek update from HEAD
 1.82.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.82.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.83.2.1 18-May-2014  rmind sync with head
 1.89.2.1 10-Aug-2014  tls Rebase.
 1.94.2.1 17-Apr-2017  snj regen for ticket 1354
 1.95.2.4 05-Feb-2017  skrll Sync with HEAD
 1.95.2.3 05-Oct-2016  skrll Sync with HEAD
 1.95.2.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.95.2.1 06-Apr-2015  skrll Sync with HEAD
 1.98.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.98.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.98.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.102.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.105.4.1 11-May-2017  pgoyette Sync with HEAD
 1.106.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.106.10.1 10-Jun-2019  christos Sync with HEAD
 1.106.8.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.110.2.2 17-Dec-2020  thorpej Regen for preadv(2) and pwritev(2).
 1.110.2.1 15-Dec-2020  thorpej Regen for eventfd, timerfd, POSIX timers.
 1.120.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 26-Aug-2001  manu branches: 1.3.118; 1.3.120; 1.3.122;
Moved LINUX_NCCS from MI file to MD file, because the value is different
on MIPS and sparc machines.
 1.2 20-Jan-2001  manu branches: 1.2.2; 1.2.4;
Moved architecure dependent part of struct linux_termio to architecture
dependent header files.
 1.1 30-Sep-1998  erh branches: 1.1.12;
New header files for Linux compat on the Alpha.
 1.1.12.1 11-Feb-2001  bouyer Sync with HEAD.
 1.2.4.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.2.2.1 21-Sep-2001  nathanw Catch up to -current.
 1.3.122.1 16-May-2008  yamt sync with head.
 1.3.120.1 18-May-2008  yamt sync with head.
 1.3.118.1 02-Jun-2008  mjf Sync with HEAD.
 1.9 01-Oct-2024  riastradh sys/compat/linux/arch: Nix trailing whitespace.

No functional change intended.
 1.8 12-Feb-2023  andvar branches: 1.8.6;
fix typo in the include guard definition.
 1.7 27-Dec-2013  njoly Add struct linux_stat64 definition for alpha, and enable syscalls that
use it.
 1.6 11-Jan-2009  christos branches: 1.6.14; 1.6.24; 1.6.28;
merge christos-time_t
 1.5 28-Apr-2008  martin branches: 1.5.8; 1.5.14;
Remove clause 3 and 4 from TNF licenses
 1.4 11-Dec-2005  christos branches: 1.4.70; 1.4.72; 1.4.74;
merge ktrace-lwp.
 1.3 20-Sep-2004  jdolecek move definition of linux_fsid_t to common/linux_types.h - it's identical
across all Linux archs
 1.2 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.1 30-Sep-1998  erh branches: 1.1.46;
New header files for Linux compat on the Alpha.
 1.1.46.1 24-Sep-2004  skrll Sync with HEAD.
 1.4.74.2 04-May-2009  yamt sync with head.
 1.4.74.1 16-May-2008  yamt sync with head.
 1.4.72.1 18-May-2008  yamt sync with head.
 1.4.70.2 17-Jan-2009  mjf Sync with HEAD.
 1.4.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.14.2 11-Jan-2009  christos add linux_suseconds_t
 1.5.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.5.8.1 19-Jan-2009  skrll Sync with HEAD.
 1.6.28.1 18-May-2014  rmind sync with head
 1.6.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.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.8.6.1 02-Aug-2025  perseant Sync with HEAD
 1.4 28-Jul-2023  christos add epoll syscalls
 1.3 30-Mar-2001  jdolecek Use linux_sys_nosys() instead sys_nosys() here too.
 1.2 14-Dec-2000  mycroft branches: 1.2.2;
Round up sysent[] table size.
 1.1 30-Sep-1998  erh branches: 1.1.12; 1.1.22;
Initial support for linux compat on the alpha. Not quite working.
 1.1.22.1 01-May-2001  he Pull up revision 1.3 (via patch, requested by jdolecek):
Make it possible to use a different function for unimplemented
syscalls than sys_nosys(), so that the Linux emulation can avoid
posting SIGSYS and instead just return ENOSYS.
 1.1.12.2 21-Apr-2001  bouyer Sync with HEAD
 1.1.12.1 05-Jan-2001  bouyer Sync with HEAD
 1.2.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.109 28-Sep-2024  christos Linux GSoC-2024: renameat2, clone3, sync_file_range, syncfs (Shivraj Jamgade)
 1.108 01-Jul-2024  christos Add linux POSIX message queue support (Ricardo Branco)
 1.107 29-Jun-2024  christos branches: 1.107.2;
From gsoc 2024: Implement faccessat2 and getcpu (Shivraz)
 1.106 19-Aug-2023  christos Add inotify* syscalls GSoC 2023 (Theodore Preduta)
 1.105 18-Aug-2023  christos Add linux waitid(2) from GSoC 2023 (Theodore Preduta)
 1.104 29-Jul-2023  christos Add/fix statx, readahead, close_range. From GSoC 2023 by Theodore Preduta
 1.103 28-Jul-2023  christos add epoll syscalls
 1.102 02-Dec-2021  ryo add prlimit64(2) syscall to COMPAT_LINUX and COMPAT_LINUX32
 1.101 20-Sep-2021  thorpej Add preadv(2) and pwritev(2) system calls to COMPAT_LINUX and COMPAT_LINUX32.
 1.100 20-Sep-2021  thorpej Add the eventfd system calls to COMPAT_LINUX and COMPAT_LINUX32.
 1.99 19-Sep-2021  thorpej Add the timerfd syscalls to COMPAT_LINUX and COMPAT_LINUX32.
 1.98 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.97 26-Apr-2020  thorpej branches: 1.97.2;
Add a NetBSD native futex implementation, mostly written by riastradh@.
Map the COMPAT_LINUX futex calls to the native ones.
 1.96 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.95 24-Mar-2019  maxv Remove Alpha's compat_linux dependency on compat_osf1. Each function is
copied as-is from compat_osf1 with no functional change. Discussed on
tech-kern@, ok @thorpej.
 1.94 03-Feb-2017  christos branches: 1.94.14;
add send/recv mmsg and comment on the unimpl ones.
 1.93 03-Feb-2017  martin Add accept4 definitions
 1.92 02-Jan-2017  manu branches: 1.92.2;
Add pselect6 Linux system call.
This lets Matlab R2016A run on NetBSD/amd64
 1.91 24-Jul-2016  njoly Small cleanup. Adjust readlink/readlinkat signatures to reduce diffs with
native.
 1.90 25-Oct-2015  njoly branches: 1.90.2;
Cleanup posix chown family syscalls to match native (alpha, mips and
powerpc).
 1.89 22-Nov-2014  njoly branches: 1.89.2;
Fix ppoll signature (int ->u_int)
 1.88 29-May-2014  njoly branches: 1.88.2;
For utimes(2), use compat_50_sys_utimes() instead of local version.
 1.87 17-May-2014  njoly Fix fadvise64 syscalls to use 64bit offset types.
 1.86 06-May-2014  njoly Reduce diffs between archs; make mknod device argument unsigned.
 1.85 04-May-2014  njoly Fix pread/pwrite syscalls which need a 64bit offset argument.
 1.84 08-Apr-2014  njoly Adjust read/write/readv/writev signature to match native versions.
 1.83 13-Jan-2014  njoly branches: 1.83.2;
Cleanup, and reduce diffs between arches. Make alpha use
linux_sys_{get,set}timeofday like others.
 1.82 27-Dec-2013  njoly Add struct linux_stat64 definition for alpha, and enable syscalls that
use it.
 1.81 08-Dec-2013  njoly Sprinkle a few more linux_umode_t where appropriate.
Reduce diffs between archs.
 1.80 19-Nov-2013  chs add the *at() syscalls.
 1.79 24-Sep-2013  njoly Add utimensat(2) for compat linux.
 1.78 15-Sep-2013  njoly Make alpha use linux_sys_utimes() just like other archs.
 1.77 19-Sep-2012  pooka branches: 1.77.2;
emulate ppoll which is essentially our pollts
 1.76 18-Nov-2011  christos branches: 1.76.10;
add sigtimedwait
 1.75 09-Jul-2011  christos branches: 1.75.2;
the first argument of {g,s}etitimer() is int not u_int.
 1.74 30-May-2011  alnsn Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32.
 1.73 15-Apr-2011  he Add dup3() and pipe2() for these archs as well.
 1.72 07-Jul-2010  chs branches: 1.72.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.71 24-Nov-2009  njoly branches: 1.71.2; 1.71.4;
Update personality(2) to match Linux definition where the argument is an
unsigned long.
 1.70 17-Jun-2009  njoly Add a new linux_msghdr structure, as its size differs on 64bit archs.
Do the needed conversions in sendmsg/recvmsg syscalls, and adjust
their definitions accordingly.
 1.69 08-Jun-2009  njoly Update rt_queueinfo(2) definition, and kill a corresponding comment.
 1.68 17-Jan-2009  njoly branches: 1.68.2;
Convert linux/linux32 wait(4) to use a compat50 rusage structure.
 1.67 15-Jan-2009  njoly Update some syscalls/arguments to use the new compat50 equivalents.
 1.66 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.65 13-Jan-2009  pooka Somehow i doubt linux_sys_recvmsg() returns size_t. Make it ssize_t.
(XXX: the actual implementation returns int)
 1.64 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.63 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.62 04-Apr-2008  njoly branches: 1.62.4; 1.62.6; 1.62.10; 1.62.12; 1.62.14;
Cleanup. Kill linux_sys_msync and use sys___msync13 instead.
No functional changes expected.
 1.61 24-Dec-2007  njoly branches: 1.61.6;
Kill unneeded linux_sys_getpgid and use native sys_getpgid instead.
 1.60 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.59 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.58 16-Nov-2007  njoly branches: 1.58.2; 1.58.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.57 04-Mar-2007  christos branches: 1.57.14; 1.57.16; 1.57.20; 1.57.22;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.56 09-Feb-2007  ad branches: 1.56.2;
Merge newlock2 to head.
 1.55 01-Sep-2006  matt branches: 1.55.2;
Don't conditionalize *sys_ptrace. The lack of sys_ptrace will be dealt
with differently.
 1.54 30-Aug-2006  matt Update to deal with options PTRACE
 1.53 10-Jun-2006  christos linux getpriority is off-by-20 so use our own function.
From PR/33671: Nicolas Joly
 1.52 11-Dec-2005  christos branches: 1.52.4; 1.52.8; 1.52.14;
merge ktrace-lwp.
 1.51 16-May-2005  fvdl branches: 1.51.2;
Add clock_* POSIX functions.
 1.50 16-May-2005  fvdl Add *xattr functions (they all return EOPNOTSUPP).
 1.49 26-Feb-2005  perry nuke trailing whitespace
 1.48 05-Oct-2004  jdolecek branches: 1.48.4; 1.48.6;
mark linux_sys_shmget() STD, so that appropriate struct linux_sys_shmget_args
would be defined for use by alpha linux_sysent.c
 1.47 28-Sep-2004  jdolecek add flag for shmget(2) to specify that later shmat(2) for the shared memory
segment should succeed even if the segment would be marked removed; use this
to implement the Linux-compatible semantics of shmat(2)

this fixes the old Linux VMware3 graphics problem with local display,
and possibly other local Linux X clients using MIT-SHM
 1.46 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.45 01-Aug-2004  jdolecek add entries for #403, #404 (unused)
 1.44 01-Aug-2004  jdolecek sync the syscall lists with Linux kernel 2.6.7
 1.43 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.42 18-Jan-2003  thorpej branches: 1.42.2; 1.42.4;
Merge the nathanw_sa branch.
 1.41 10-Apr-2002  christos add getdents64
 1.40 22-Mar-2002  christos nuke mmap2, add mprotect
 1.39 18-Feb-2002  christos provide linux_sys_getrlimit and linux_sys_setrlimit
 1.38 18-Feb-2002  christos fix comment.
 1.37 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.36 08-Sep-2001  manu Removed a hack to make PowerPC mmap work. This could have side effects on
alpha and i386. It has been tested and works on i386.
 1.35 04-Jul-2001  jdolecek branches: 1.35.2; 1.35.4;
modify to use linux_* wrappers for syscalls passing/fetching sockaddr
 1.34 30-May-2001  mrg use _KERNEL_OPT.
 1.33 30-Mar-2001  jdolecek Add new syscalls from Linux 2.4.3 to the lists. Not implemented ATM.
 1.32 30-Mar-2001  jdolecek Implement linux_sys_nosys() and use it instead of sys_nosys() for
unimplemented syscalls. Difference is that linux_sys_nosys() doesn't
post SIGSYS to the process. Linux doesn't do that and thus glibc (and
probably other Linux code) doesn't deal with SIGSYS, even through it
generally contains fallback code for ENOSYS case.

This also addresses port-i386/12503, though the issue was already discussed
earlier.
 1.31 29-Dec-2000  fvdl branches: 1.31.2;
Don't pass through link(2) directly, as we need to do altpath checks.
 1.30 21-Dec-2000  thorpej Make an Alpha kernel with COMPAT_LINUX compile again.
 1.29 14-Dec-2000  jdolecek add sysinfo()
 1.28 11-Dec-2000  mycroft getuid -> getuid_with_euid
getgid -> getgid_with_egid
 1.27 11-Dec-2000  mycroft getpid -> getpid_with_ppid
 1.26 09-Dec-2000  jdolecek add more unimplemented syscalls to list
 1.25 09-Dec-2000  mycroft Add the %% separators.
 1.24 02-Dec-2000  jdolecek add emulation of linux swapoff(2)
 1.23 01-Dec-2000  jdolecek replace compat_09_sys_setdomainname() with linux_sys_setdomainname(),
compat_12_sys_swapon() with linux_sys_swapon() - this is to drop dependency
on COMPAT_12/COMPAT_09
 1.22 17-Nov-2000  erh Make the linux compatibilty code work on the alpha. (horay!) (at last!)
Two main changes:
Create a linux_elf64_copyargs that uses the linux specific LinuxAuxInfo
structure. This is only used on the alpha. i386 and m68k use the
standard elf copyargs function.

Since linux's approach to binary compatibilty is to look as much
like osf1 as possible, add all the osf1 syscalls that we have
implemented to the linux syscall table. This includes get/setsysinfo,
ported from FreeBSD.

In order for linux compat to work you must have COMPAT_OSF1, COMPAT_43,
COMPAT_09, COMPAT_12 and COMPAT_13 on also.
 1.21 08-Nov-2000  erh Update the names of some unimplemented syscalls to match what linux calls them. Match const in parameters to our sys_writev.
 1.20 01-Nov-2000  jdolecek support mlockall(), munlockall() - they are same as respective NetBSD syscalls
 1.19 20-Mar-2000  erh branches: 1.19.4;
sys_clone isn't MD on linux.
 1.18 18-Mar-2000  erh Fix the msgrcv prototype.
 1.17 18-Mar-2000  erh Use the new linux_sys_reboot and linux_sys_connect.
 1.16 18-Mar-2000  erh resync NOARGS lines with their definitions in kern/syscalls.master. resync STD lines with what is expected in .c files. (especially wrt adding const). Add missing prototype for setfsuid. Fix ptrace prototype.
 1.15 16-Dec-1999  tron Add ptrace(2).
 1.14 05-Dec-1999  tron Fix incorrect system call number.
 1.13 05-Dec-1999  tron Add proper stub code to make emulation of Linux's pread(2) and pwrite(2)
work. Fixes PR kern/8945 by Dave Sainty.
 1.12 04-Oct-1999  tron branches: 1.12.2; 1.12.8;
Add emulation for scheduler related syscalls. Although they are dummies
even under Linux the posix thread library for "glibc2" requires them.
 1.11 14-May-1999  thorpej Emulate the Linux vfork(2) (which is like OSF/1 vfork(2) and NetBSD's
__vfork14(2)) and {get,set}resuid(2). Linux does not have {get,set}resgid(2)
on their Alpha port!
 1.10 13-May-1999  thorpej Emulate the Linux clone(2) system call.
 1.9 30-Mar-1999  tron branches: 1.9.4;
Add poll() emulation.
 1.8 27-Mar-1999  tron Add emulation for Linux "getcwd" syscall.
 1.7 23-Mar-1999  thorpej Add support for emulating the Linux pread(2) and pwrite(2) system calls;
just call the native NetBSD versions.

PR #7202, Jaromir Dolecek <dolecek@ics.muni.cz>.
 1.6 10-Dec-1998  christos defopt COMPAT_43
 1.5 08-Dec-1998  erh Add mmap header.
 1.4 19-Oct-1998  tron Defopt SYSVMSG, SYSVSEM and SYSVSHM.
 1.3 07-Oct-1998  erh Change sys_mmap to NOARGS. (args defined in linux_sys_mmap.h). Typo: siginfo_t->linux_siginfo_t.
 1.2 03-Oct-1998  christos Attempt to fix the mess.
 1.1 30-Sep-1998  erh Initial support for linux compat on the alpha. Not quite working.
 1.9.4.1 21-Jun-1999  thorpej Sync w/ -current.
 1.12.8.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.12.2.6 21-Apr-2001  bouyer Sync with HEAD
 1.12.2.5 05-Jan-2001  bouyer Sync with HEAD
 1.12.2.4 13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.12.2.3 08-Dec-2000  bouyer Sync with HEAD.
 1.12.2.2 22-Nov-2000  bouyer Sync with HEAD.
 1.12.2.1 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.19.4.2 01-May-2001  he Pull up revision 1.32 (requested by jdolecek):
Make it possible to use a different function for unimplemented
syscalls than sys_nosys(), so that the Linux emulation can avoid
posting SIGSYS and instead just return ENOSYS.
 1.19.4.1 30-Mar-2001  he Pull up revision 1.31 (requested by fvdl):
Add some required Linux emulation bits to support the Linux
version of VMware.
 1.31.2.8 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.31.2.7 17-Apr-2002  nathanw Catch up to -current.
 1.31.2.6 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.31.2.5 28-Feb-2002  nathanw Catch up to -current.
 1.31.2.4 21-Sep-2001  nathanw Catch up to -current.
 1.31.2.3 24-Aug-2001  nathanw Catch up with -current.
 1.31.2.2 21-Jun-2001  nathanw Catch up to -current.
 1.31.2.1 09-Apr-2001  nathanw Catch up with -current.
 1.35.4.1 01-Oct-2001  fvdl Catch up with -current.
 1.35.2.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.35.2.2 16-Mar-2002  jdolecek Catch up with -current.
 1.35.2.1 13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.42.4.2 08-Oct-2004  jmc Pullup rev 1.48 (requested by jdolecek in ticket #884)

Mmark linux_sys_shmget() STD, so that appropriate struct linux_sys_shmget_args
would be defined for use by alpha linux_sysent.c
 1.42.4.1 04-Oct-2004  jmc Pullup rev 1.47 (requested by jdolecek in ticket #884)

Fix linux handling of SysV-style shared memory. Fixed Linux VMware display
problems.
 1.42.2.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.42.2.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.42.2.4 19-Oct-2004  skrll Sync with HEAD
 1.42.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.42.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.42.2.1 03-Aug-2004  skrll Sync with HEAD
 1.48.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.48.4.1 29-Apr-2005  kent sync with -current
 1.51.2.5 21-Jan-2008  yamt sync with head
 1.51.2.4 07-Dec-2007  yamt sync with head
 1.51.2.3 03-Sep-2007  yamt sync with head.
 1.51.2.2 26-Feb-2007  yamt sync with head.
 1.51.2.1 21-Jun-2006  yamt sync with head.
 1.52.14.1 19-Jun-2006  chap Sync with head.
 1.52.8.1 26-Jun-2006  yamt sync with head.
 1.52.4.1 09-Sep-2006  rpaulo sync with head
 1.55.2.1 30-Jan-2007  ad Remove support for SA. Ok core@.
 1.56.2.1 12-Mar-2007  rmind Sync with HEAD.
 1.57.22.2 27-Dec-2007  mjf Sync with HEAD.
 1.57.22.1 19-Nov-2007  mjf Sync with HEAD.
 1.57.20.1 18-Nov-2007  bouyer Sync with HEAD
 1.57.16.1 09-Jan-2008  matt sync with HEAD
 1.57.14.1 21-Nov-2007  joerg Sync with HEAD.
 1.58.6.1 02-Jan-2008  bouyer Sync with HEAD
 1.58.2.1 26-Dec-2007  ad Sync with head.
 1.61.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.61.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.62.14.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.62.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.62.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.62.6.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.62.6.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.62.4.4 11-Aug-2010  yamt sync with head.
 1.62.4.3 11-Mar-2010  yamt sync with head
 1.62.4.2 20-Jun-2009  yamt sync with head
 1.62.4.1 04-May-2009  yamt sync with head.
 1.68.2.1 23-Jul-2009  jym Sync with HEAD.
 1.71.4.3 31-May-2011  rmind sync with head
 1.71.4.2 21-Apr-2011  rmind sync with head
 1.71.4.1 05-Mar-2011  rmind sync with head
 1.71.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.72.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.75.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.75.2.2 30-Oct-2012  yamt sync with head
 1.75.2.1 17-Apr-2012  yamt sync with head
 1.76.10.3 03-Dec-2017  jdolecek update from HEAD
 1.76.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.76.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.77.2.1 18-May-2014  rmind sync with head
 1.83.2.1 10-Aug-2014  tls Rebase.
 1.88.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.89.2.3 05-Feb-2017  skrll Sync with HEAD
 1.89.2.2 05-Oct-2016  skrll Sync with HEAD
 1.89.2.1 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.90.2.3 20-Mar-2017  pgoyette Sync with HEAD
 1.90.2.2 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.90.2.1 26-Jul-2016  pgoyette Sync with HEAD
 1.92.2.1 21-Apr-2017  bouyer Sync with HEAD
 1.94.14.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.94.14.1 10-Jun-2019  christos Sync with HEAD
 1.97.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.97.2.1 15-Dec-2020  thorpej Add Linux eventfd, timerfd, and POSIX timer calls.
 1.107.2.1 02-Aug-2025  perseant Sync with HEAD

RSS XML Feed