Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/makesyscalls.sh
RevisionDateAuthorComments
 1.187  28-Jul-2023  christos Add epoll(2) from Theodore Preduta as part of GSoC 2023
 1.186  21-Oct-2021  andvar s/optiona]/optional]/
 1.185  14-Apr-2021  christos use the first element of the array instead
 1.184  13-Apr-2021  christos Elide [NUM] in arguments for systrace, use the first address of the array
and cast to intptr_t instead.
 1.183  17-Feb-2021  rillig branches: 1.183.2;
makesyscalls.sh: fix typo in comment
 1.182  29-Sep-2020  msaitoh branches: 1.182.2;
s/occurence/occurrence/
 1.181  11-Jun-2020  dholland Don't output things in awk hash order. Sort first.
 1.180  11-Jun-2020  dholland fix awk-induced bug (using wrong variable, getting away with it by luck)
 1.179  09-Jun-2020  dholland Update wrong and obsolete comments.

... when you change the set of syscalls.conf keywords this thing
recognizes, updating the documentation too (which AFAIK is limited to
the comment in here) is always helpful ...
 1.178  02-Jun-2020  kamil Respect syscall aliases in the rump code

With this change rump_sys_*() matches *() from the usually libc entry point.
 1.177  02-Jun-2020  kamil Synchronize struct name in rump_syscalls.c and syscallargs.h

Whenever a syscall has alias name, the struct sys_ names shall be the same.
 1.176  09-Nov-2019  jdolecek do not try to rm sysautoload when it's not actually used for given compat;
script tried to rm /dev/null which failed
 1.175  13-Oct-2019  christos cast nullop though void *
 1.174  09-Oct-2019  christos - cast through void * for rump
- don't generate bogus filenames /dev/null.bottom etc.
 1.173  18-Jun-2019  christos include #ifdefs in the syscalls autoload file and make it standalone.
XXX: This needs to be re-thought
 1.172  26-Aug-2018  kre Refactor the numeric validity check just added, so the error
messages can be (easily) done better.
 1.171  26-Aug-2018  kre Validate that the configuration parameters that are supposed to
be numeric are in fact numeric, and then have the awk script use
them as awk numbers, rather than strings, so awk isn't doing string
comparisons on numbers (where "1024" < 2).

This has no effect with current configuratons, but would if anyone
had ever attempted to configure a system with nsysent >= 1000
 1.170  10-Aug-2018  pgoyette Allow syscall_establish() to install new syscalls when the existing
entry-point is either sys_nomodule or sys_nosys. Update the
makesyscalls.sh script to create a const array of bits to allow
syscall_disestablish() to properly restore the original entry-point.
Update all the initializers of struct emul to initialize the pointer
to the bit array struct emul.

XXX Regen of all files created by makesyscalls.sh will come soon,
XXX followed by a kernel version bump (since struct emul is being
XXX modified).

This commit should address PR kern/45781 and also removes the need
for the work-around for that PR in file

sys/arch/usermode/modules/syscallemu/syscallemu.c
 1.169  10-May-2017  riastradh branches: 1.169.8; 1.169.10;
Forward-declare `struct lwp' so we can use `struct lwp *' here.
 1.168  15-Jan-2017  christos branches: 1.168.6;
put linux_handler_t in the right place.
 1.167  15-Jan-2017  christos need intptr_t cast for linux_handler_t
 1.166  13-Jan-2017  christos const police!
 1.165  28-Oct-2016  christos Fix arg64 computation for compat_netbsd32
 1.164  26-Jan-2016  pooka branches: 1.164.2;
fix typo in previous
 1.163  26-Jan-2016  pooka "rump_private" -> <rump-sys/kern.h>
 1.162  01-Dec-2015  pgoyette Rename "autoloadprefix" variable to "emulname" - suggested by christos@
 1.161  01-Dec-2015  pgoyette Only cast to (void) if the type is NOERR
 1.160  30-Nov-2015  pgoyette And now fix the actual syntax error. :(
 1.159  30-Nov-2015  pgoyette Fix typo
 1.158  30-Nov-2015  pgoyette Cast rsys_syscall() to (void) to appease coverity.
 1.157  30-Nov-2015  pgoyette Rename sc_auto to sc_autoload at suggestion of christos@
 1.156  30-Nov-2015  pgoyette Eliminate stray \t in the syscalls_autoload.c output file.
 1.155  30-Nov-2015  pgoyette Make the list of syscalls which can trigger a module autoload an
attribute of each emulation, rather than having a single global
list which applies only to the default emulation.

This changes 'struct emul' so

Welcome to 7.99.23 !
 1.154  24-Sep-2015  christos create an array of altsyscallnames, which are the syscall names that the
libc api uses. For example syscallnames[293] = "__sigprocmask14",
altsyscallnames[293] = "sigprocmask". This is so that things like dtrace
can use the system call names everyone uses. The array is sparse; if the
names were the same (or for compat names) they are not copied and the array
has NULL for them.
 1.153  09-May-2015  pooka fix to work for syscalls.conf without sysautoload

reported by Justin('s buildbot)
 1.152  09-May-2015  pgoyette Teach makesyscalls.sh how to auto-generate the list of syscalls that
can be resolved by module auto-load.

Update syscalls.master to identify the specific module that contains
the auto-loadable code for each syscall.
 1.151  08-Mar-2015  christos Don't forget to assign the new rump variables.
 1.150  08-Mar-2015  christos kill empty line
 1.149  08-Mar-2015  christos Don't blindly tack ./ in front of the config file; breaks when we pass a full
path one.
 1.148  07-Mar-2015  christos make sure we print the fillers.
 1.147  07-Mar-2015  christos Use modern initializers, so we can skip the 0 ones.
 1.146  07-Mar-2015  christos Adjust for systrace based on the FreeBSD code:
- create new file systrace_args.c that use used to convert the syscall
arguments to an array, and functions that print the types of the
entry and return arguments.
- call the systrace probe from the trace_enter and trace_exit functions
 1.145  24-Jul-2014  pooka branches: 1.145.4;
Ensure that symbols are aliased to standard names when
using RUMP_KERNEL_IS_LIBC.

For example configure scripts do not always include headers, and if select
is visible as a __RENAME'd __select50 instead of select, configure will
not find it.

before:
=== snip ===
checking for gethostbyname... yes
checking for socket... no
checking for socket in -lsocket... no
=== snip ===

after:
=== snip ===
checking for gethostbyname... yes
checking for socket... yes
checking for main in -linet6... no
=== snip ===

Another option would be to enable the libc compat bits, and it probably
will be done at some point, but this is easier and more self-contained
for now.
 1.144  23-Jul-2014  pooka In the RUMP_KERNEL_IS_LIBC case, account for WEAKASM, i.e. create a
_sys_foo strong alias, and _foo and foo weak aliases. This actually
treats all syscalls as WEAKASM, but it's probably(?) harmless, and saves
us from manual work a la libc. Fixes at least pthread_cancelstub.
 1.143  18-May-2014  justin Fix prototype of last arg of rump_sys_mknod to dev_t not uint32_t

Discussed with pooka@
See also https://github.com/rumpkernel/buildrump.sh/issues/53
 1.142  27-Apr-2014  pooka Eliminate weak symbols from rump kernel syscall handlers, part 2:

Generate a file (rump.sysmap) which can be used to autogenerate the
syscall loaders. The file contains syscall handler names and numbers.

Also store "libc" side syscall names in rump.sysmap to help with
the rumprun build process.
 1.141  27-Apr-2014  pooka Eliminate weak symbols from rump kernel syscall handlers, part 1:

Initialize all non-modular syscalls to enosys and expect them to be
filled at boottime. Do not create the now-unnecessary weak aliases.

Modular syscalls work as before.
 1.140  09-Apr-2014  pooka properly handle forward declarations for pointerpointer arguments
 1.139  09-Dec-2013  pooka branches: 1.139.2;
one newline is enough
 1.138  09-Dec-2013  pooka need string.h now for !_KERNEL
 1.137  09-Dec-2013  pooka Initialize the syscall "frame" to 0 before setting parameters.
Otherwise things which treat syscall parameters as register_t (like
ktrace) will encounter garbage for parameters which are of smaller size
than register_t. Using memset is probably not the most optimal way,
but oh well.
 1.136  09-Dec-2013  pooka Echo generated file names so that you can just copypaste & cvs ci
without having to resort to the blazingly fast help of cvs diff.
 1.135  09-Dec-2013  pooka Rump kernels now use sy_invoke(), which initializes the return
value registers, so no need to do it individually in each wrapper.
 1.134  08-Oct-2013  njoly Note that sysalign checks for dev_t/time_t alignment too.
 1.133  10-Sep-2013  pooka "rumpuser_port.h" -> <rump/rumpuser_port.h>
 1.132  03-Sep-2013  pooka If RUMP_KERNEL_IS_LIBC is defined, alias the rump kernel syscalls to libc
syscall stub symbol names. This allows running standalone programs in
OS-less environments such as directly on a Xen DomU backed only by a
libc and a rump kernel.
 1.131  03-Sep-2013  pooka Autogenerate rump_syscalls.c into the correct namespace, i.e. it no
longer needs to go through rename in the build.
 1.130  03-Sep-2013  pooka Don't autogenerate the wrapper that is called from the rump kernel
local syscall entry points. The wrapper is now so big that it doesn't
get inlined (original intent for having it close to the entry points),
and autogenerating a regular function just loses in flexibility.
 1.129  15-Aug-2013  pooka type compat header list doesn't need to be autogenerated
 1.128  07-Mar-2013  pooka branches: 1.128.6;
make rump kernel syscalls through curproc->p_emul instead of rump_sysent
 1.127  17-Jan-2013  pooka Include rumpuser_port.h in rump_syscalls.c when compiled for librumpclient
 1.126  20-Sep-2012  pooka alias rump_sysent to sysent, since the linux compat code wants to
access it (it calls ptrace, so 0 practical impact here, though).
 1.125  03-Aug-2012  matt branches: 1.125.2;
If any argument of a syscall is a pointer, set SYCALL_ARG_PTR as a flag.
 1.124  03-Aug-2012  pooka Make librumpclient compile and work on Linux. This is accomplished by:

1) avoid "NetBSD'isms" in the rumpclient sources
2) do not require the knowledge of unnecessary weird_t's in syscallargs.h
for rumpclient
 1.123  20-Jul-2012  pooka pretty pretty print
 1.122  20-Jul-2012  pooka unrevert part of 1.119 which should not have been reverted (sys/socket.h)
 1.121  20-Jul-2012  pooka revert 1.119. theoretically there should be no issue, and i couldn't
find one in practice either, except including rump_syscalls.h from
non-NetBSD now works.

ok christos
 1.120  05-May-2012  christos Add a new type of syscall "EXTERN" which is meant for modules that live
outside the tree (in pkgsrc). Use it to define afssys (210) which has
been reserved for years, and make it autoload the "openafs" module.
 1.119  26-Jun-2011  christos branches: 1.119.2; 1.119.6;
* Arrange for interfaces that create new file descriptors to be able to
set close-on-exec on creation (http://udrepper.livejournal.com/20407.html).

- Add F_DUPFD_CLOEXEC to fcntl(2).
- Add MSG_CMSG_CLOEXEC to recvmsg(2) for unix file descriptor passing.
- Add dup3(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK.
- Add pipe2(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK.
- Add flags SOCK_CLOEXEC, SOCK_NONBLOCK to the socket type parameter
for socket(2) and socketpair(2).
- Add new paccept(2) syscall that takes an additional sigset_t to alter
the sigmask temporarily and a flags argument to set SOCK_CLOEXEC,
SOCK_NONBLOCK.
- Add new mode character 'e' to fopen(3) and popen(3) to open pipes
and file descriptors for close on exec.
- Add new kqueue1(2) syscall with a new flags argument to open the
kqueue file descriptor with O_CLOEXEC, O_NONBLOCK.

* Fix the system calls that take socklen_t arguments to actually do so.

* Don't include userland header files (signal.h) from system header files
(rump_syscallargs.h).

* Bump libc version for the new syscalls.
 1.118  05-Jun-2011  njoly Create empty temporary rumphdr.types file if missing; to avoid error
messages for compat syscalls files regen.
 1.117  08-Mar-2011  pooka branches: 1.117.2;
Include syscall.h and syscallargs.h from <srcsys> instead of <sys>
in the RUMP_CLIENT case. This makes librumpclient compile against
-current sources regardless of host.

inspired by Taylor R Campbell
 1.116  22-Feb-2011  pooka Get rid of one explicit typecast in previous and let the compiler
figure it out.
 1.115  22-Feb-2011  pooka Redo the register_t casting, but include a provision to make the
case where sizeof(rv) < sizeof(register_t) work. Hopefully it
works now everywhere. Only tests will show ...
 1.114  22-Feb-2011  pooka revert previous fix. it's not 100% correct and some compilers setups
complain about the generated code.

pointed out by mrg
 1.113  22-Feb-2011  pooka Use the whole contents of rval instead of just rval[0] for rump
syscall return. Fixes at least lseek() on various architectures
in various ways.
 1.112  21-Feb-2011  pooka S'no way bro!

Return the correct return value from NOERR, which is retval
instead of error.
 1.111  21-Feb-2011  pooka Add syscall type NOERR which signals that a system call is STD but
does not return an errno the usual way. The main use case is to
fix the posix_fadvise() rump stub (yes, posix_fadvise is a bit
special... bologna).

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

Problem spotted by, *shocker*, the automated test runs, specifically
the posix_fadvise test.
 1.110  21-Feb-2011  pooka Make sure we don't expose any errno set as a side-effect of us
executing the system call. Some software ignores the return value
and looks only at errno.
 1.109  17-Jan-2011  pooka branches: 1.109.2;
Rework how syscall compat is handled for rump syscalls. The old
one had the problem of bypassing the syscall layer and doing a
function call into the kernel directly. Therefore there was no
way for users of librumpclient to specify compat. The new model
pushes the compat handling in the kernel and leaves only the task
of selecting the right syscall number to the client.

This change also introduces a stable ABI for rump syscalls, i.e.
it is possible to use the same syscall client library both on NetBSD
5.0 and -current and get the syscalls resolved to the right place
depending on the ABI at the time the client binary is compiled.

A list of what to be called when will have to maintained separately
simply because this information is not available in syscalls.master
-- in the case of the normal kernel we always want to resolve a
newly linked syscall to the latest version, whereas in rump we
might want to resolve a syscall to a -current kernel to the 5.0
compat call (because our client namespace is 5.0). This information
in maintained in rump_syscalls_compat.h with the current format:

/* time_t change */
#if !__NetBSD_Prereq__(5,99,7)
#define RUMP_SYS_RENAME_STAT rump___sysimpl_stat30
....

If no compat override is given, a syscall resolves automatically
to the latest version of the syscall.

Also, this change autogenerates forward declarations for all syscall
types where it is possible (i.e. ones without typedef insanity).
This makes it possible to include rump_syscalls.h without including
rump.h.
 1.108  30-Dec-2010  pooka branches: 1.108.2;
Include system call name in comment even for unimplemented syscalls
in rump_syscalls.c.
 1.107  30-Dec-2010  pooka Mark syscalls not supported by a rump kernel with SYCALL_NOSYS, as
pure function pointer comparison brings weak alias confusion (weak
aliases are necessary for static linkage).
 1.106  30-Dec-2010  pooka whitespace polish in rump_syscalls.c
 1.105  30-Dec-2010  pooka snafu in previous: extra printf arg
 1.104  30-Dec-2010  pooka Fill syscallnames up to nsysent so that n<nsysent has a non-hyperspace
string mapping.
 1.103  17-Nov-2010  pooka Skip one extra function in the rump syscall local path and use
sy_call() directly from rump_syscalls.c.
 1.102  04-Nov-2010  pooka Create rump_syscalls.c in two flavours: one which can be compiled
standalone as the clientside and one which expects to be compiled
into the rump kernel.
 1.101  04-Nov-2010  pooka apply "shut up, lint" for syscallargs.h
 1.100  01-Nov-2010  pooka Align comment column in output, no functional change.
 1.99  30-Aug-2010  pooka Use the generally more useful funcalias for rump syscalls.
 1.98  19-Jul-2010  pooka Include <rump/rump_syscalls_compat.h> from rump_syscalls.h. This
file will contain compat defs which are not autogenerated.
 1.97  17-May-2010  njoly Add multiple inclusion protection to rump_syscalls.h.
 1.96  11-May-2010  pooka _RUMPKERNEL -> _KERNEL
 1.95  27-Apr-2010  pooka Use sys_nomodule for modular rump system calls so that they can be
autoloaded.
 1.94  02-Mar-2010  pooka branches: 1.94.2;
Make is possible to add extra output at the top of syscallargs.h.
Use this feature to stick sys/mount.h in there.
 1.93  05-Jan-2010  skrll branches: 1.93.2;
Check for dev_t and time_t arguments and mark them as 64bit.
 1.92  13-Dec-2009  matt Pullup from matt-nb5-mips64.

For each syscall, add a flag for the return value or an argument indicating
that it is a 64-bit argument. Also include the number of 64-bit arguments.
In theory this could get most of the code in compat/netbsd32/netbsd32_netbsd.c
but not at the moment due to multiply defined structures.
 1.91  26-Nov-2009  pooka typo in comment (it actually breaks the script totally. i wish
more typos in comments were as effective)
 1.90  26-Nov-2009  pooka Add rump support for the special handling required by pipe(2).
 1.89  26-Nov-2009  pooka Instead of a single register_t as the retval of rump syscalls,
use an array of two. No functional change ... yet.
 1.88  13-Oct-2009  pooka For varargs syscalls, create rump prototypes which match the regular
system call counterparts, e.g.:
open(const char *, int, mode_t) -> open(const char *, int, ...)
 1.87  15-May-2009  pooka Use argname PAD to signal that an argument is used only for padding
and not part of the C interface. Use this information for rump
syscalls to generate syscall interfaces without the extra parameter.
 1.86  15-May-2009  pooka In addition to off_t alignment, check for dev_t and time_t too
(we don't currently have any syscalls passing time_t, though)
 1.85  29-Mar-2009  pooka Include some headers to make rump_syscalls.h self-contained.
(not strictly correct wrt portability, but there are bigger fish
to saltgrill in that area)
 1.84  18-Mar-2009  pooka Rename rump argument marshalling structure variable to "callarg" to
avoid collision with system calls which use "arg".
 1.83  20-Feb-2009  pooka Instead of linking rump system call entry points directly to the
backend, perform all calls through a syscall table. This makes it
possible to make system calls to non-local rump kernels.
(requires a bit support code. it's written but quite messy currently)
 1.82  14-Feb-2009  pooka cosmetic: don't print empty line at end of init_sysent.c
 1.81  23-Jan-2009  pooka branches: 1.81.2;
Remove debug print -- this is what happens when there's several
hours between implementation and commit.
 1.80  23-Jan-2009  pooka Remove the "int *error" parameter from rump syscalls. Instead use
rumpuser_seterrno() to set the errno for the caller. This makes
the difference between real and rump syscalls way less intrusive
in calling code.
 1.79  14-Jan-2009  pooka Generate local prototypes in rump_syscalls.c and disallow using
the rump_syscalls.h interface from inside the rump kernel.
 1.78  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.77  13-Jan-2009  pooka Print delimiters around expected string in parse error message.
 1.76  13-Jan-2009  pooka fix error message: expecting (, not )
 1.75  16-Nov-2008  pooka <rump/rump_syscalls.h>, not "rump_syscalls.h"
 1.74  12-Nov-2008  ad Atomic insertion/removal of groups of system call vectors at runtime with
a basic facility for rollback.

Proposed on tech-kern@.
 1.73  13-Oct-2008  pooka branches: 1.73.2; 1.73.8;
Fix previous: weak symbols work so much better if they are exported
from the object as weak symbols...

There's also something to be said about "cosmetic" tweaks after
testing, but I do think I'll bother.
 1.72  13-Oct-2008  pooka Weak alias all rump system calls to rump_enosys()
 1.71  07-Sep-2008  pooka For rumpsyscalls, properly return -1 in case of error.
 1.70  23-Jul-2008  apb Avoid using \$ in an awk script. Instead, store '$NetBSD$'
in an awk variable and interpolate it where needed.

Based on the patch by Martin Husemann in PR 38766.
 1.69  24-Apr-2008  ad branches: 1.69.2; 1.69.4; 1.69.6; 1.69.8;
- Retire SYCALL_MPSAFE. With the exceptions of darwin and irix emulations,
all system calls are now MPSAFE.
- Remove unneeded acquire/release of kernel_lock.
 1.68  22-Mar-2008  christos branches: 1.68.2;
bring some stuff from time_t=64...
- add sysalign parameter to syscalls.conf
- add compat_50
 1.67  18-Mar-2008  njoly Handle rumpcalls/rumpcallshdr differently by always defining a default
value, which can be overwritten with syscalls.conf defines (just like
sys_nosys).

This fix a problem where rump awk variables are set to 0 value,
leading to the creation of an unexpected file with that name.

ok by pooka.
 1.66  11-Mar-2008  pooka Generate syscalls entry points which can be called directly without
going through a syscall trap. These are currently useful for rumps.
As all the standard syscalls are not compiled into librump, mark
relevant ones with RUMP in syscalls.master. To do e.g. a mkdir
"system call" from a rump, one would call

rump_sys_mkdir("/dir", mode, &eval);

where the last value represents something to store errno into.
 1.65  10-Mar-2008  njoly Do not hardcode sys_stub to the string "sys_nosys" for the not ignored
case. Just use the corresponding variable instead, to allow emulation
to use their own defined value.
 1.64  24-Feb-2008  martin Add a new syscall type IGNORED which just calls nullop (always succeeds
and does nothing).
 1.63  28-Jan-2008  yamt branches: 1.63.2; 1.63.6;
check off_t alignment.
 1.62  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.61  10-Nov-2007  dsl branches: 1.61.2; 1.61.6;
Support "NOARGS INDIR" for compat_mach.
 1.60  09-Nov-2007  dsl Generate normal prototypes (etc) for INDIR calls (sys_syscall and sys___syscall)
just flag the entries as SYCALL_INDIRECT.
 1.59  03-Dec-2005  christos branches: 1.59.44; 1.59.46; 1.59.50; 1.59.52;
protect sys/syscall.h properly against multiple inclusion and make the
names of the protection macros consistent.
 1.58  26-Feb-2005  perry branches: 1.58.4;
get rid of trailing spaces in the "created from" line (constructed by
stripping the $s from $NetBSD$ in the source file.)
 1.57  12-Sep-2004  jdolecek branches: 1.57.4; 1.57.6;
use 'have_toupper' variable for awk toupper() function existence test, rather
than 'isgawk' - e.g. nawk has toupper() too
 1.56  31-Jul-2004  lukem Rename LIBCOMPAT* -> SYSLIBCOMPAT*, now that <bsd.own.mk> provides LIBCOMPAT.
Fixes kernel link problem noted by Sebastien Erard.
 1.55  30-Sep-2003  christos Keep track of which prototypes we declared already so that we don't
declare them again.
 1.54  11-Sep-2003  christos - print comment in compat syscalls too.
- print ifdef's in the header files.
 1.53  18-Jan-2003  thorpej branches: 1.53.2;
Merge the nathanw_sa branch.
 1.52  12-Nov-2001  lukem add RCSID to generated .c files
 1.51  30-Oct-2001  manu Made syscallargs.h lint-friendly, so that it can be included in libc sources
more easily.
 1.50  08-Jul-2001  wiz branches: 1.50.2; 1.50.6;
Fix last commit: It's ">", not "<", in this case. Okay'd by christos.
 1.49  08-Jul-2001  christos add verbiage to error
 1.48  30-May-2001  mrg use _KERNEL_OPT not _KERNEL&&|_LKM
 1.47  27-Apr-2001  lukem put TAB after #defines
 1.46  30-Mar-2001  jdolecek Make it possible to use different function for unimplemented syscalls
than sys_nosys().
 1.45  27-Jan-2001  thorpej branches: 1.45.2;
Add a "sy_flags" to struct sysent, define a SYCALL_MPSAFE
system call flag (indicating that the kernel lock does not
need to be acquired when entering the kernel on that syscall).
 1.44  01-Jan-2001  jdolecek Avoid generating duplicate SYS_* defines to *syscall.h - is possible
for kern/syscalls.master's sys_getpid()/sys_getpid_with_ppid().
This fixes kern/11853 by Bernd Ernesti.
 1.43  12-Dec-2000  jdolecek if the third argument in syscall.conf matches [a-z0-9_], use it as
a function alias instead of the function name in { ... }
 1.42  09-Dec-2000  mycroft s/unimplemented/filler/
 1.41  09-Dec-2000  mycroft Add another const.
 1.40  09-Dec-2000  mycroft Couple of changes:
* Make the syscallnames[] table const.
* Add a separator between the #include section and the syscalls section, so
that #if/#else/#endif can be handled differently in the two.
* Add support for rounding up the size of the sysent table.
 1.39  29-Nov-2000  jdolecek recognize ^if and ^endif in input master syscall file specially - output it
like #if and #endif to sysdcl; this can be used to insert ifdefs
to generated *sysent.c
 1.38  13-Nov-2000  jdolecek change the type of *syscallnames[] array to 'const char * const foo[]'
 1.37  18-Aug-2000  cgd tweak white space around generated NetBSD rcs ids
 1.36  18-Aug-2000  cgd nuke __P for generated syscall prototypes and sy_call_t
 1.35  20-Aug-1999  thorpej branches: 1.35.2; 1.35.12;
Clean up some whitespace issues in the generated syscallargs.h file.
 1.34  09-Jun-1999  christos Add EXCL keyword as described in tech_kern, and fix comments. Make the
vtrace syscall UNIMPL because it is.
 1.33  17-Feb-1999  christos branches: 1.33.4;
Now that shell has been fixed so that ". filename" does not look at . if .
is not in the path add ./ to the files.
 1.32  11-Feb-1999  christos Print the line that caused the error message. Unfortunately the line
numbers reported by awk are not useful, because the \$ preprocessing
by sed...
 1.31  03-Jan-1999  erh Protect the syscallargs header file with a define.
 1.30  03-Oct-1998  eeh Fix big-endian syscall args.
 1.29  13-Sep-1998  thorpej Emit syscall numbers for COMPAT_xx syscalls, too.
 1.28  19-Feb-1998  thorpej Argh, protect userland from includes in the syscall names file.
 1.27  18-Feb-1998  thorpej Put #include directives in the system call names file, too, so we can
generate dependencies on optional system calls.
 1.26  09-Jan-1998  thorpej Oops, thinko
 1.25  09-Jan-1998  thorpej Put RCS IDs in generated files, in the right place.
 1.24  08-Jan-1998  thorpej Back out RCS ID related changes.
 1.23  05-Jan-1998  perry ugh. escape rcs tags so that the script doesn't get messed up.
 1.22  05-Jan-1998  perry put RCS ids in the output files. Not essential, but useful.
 1.21  22-Dec-1996  cgd * Don't actually output args structure definitions for INDIR syscalls (typo).
* Don't output prototypes for INDIR syscalls (since they always show up as
sys_nosys() in the syscall table).
* Add "indir" to the comment for INDIR syscalls in the syscalls table, so
it's more obvious why they call sys_nosys().
 1.20  22-Dec-1996  cgd update copyright date
 1.19  22-Dec-1996  cgd * remember (i.e. don't throw away) system call return types.
* Deal with multi-word system call return types (i.e. foo *, or
struct foo *, or struct foo, etc.).
* Add a new class of system calls "INDIR" (for "indirect"), which
is to be used to represent indirect syscalls like syscall() and
__syscall() which are implemented in MD code and which don't want
args structures defined. (The old way of declaring this type of
syscalls still works.)
* Allow system calls to be marked as having a variable number of
arguments, by inserting "..." (no trailing comma) before the
first hf the optional arguments in the syscall definition. Because
of the way syscall arguments are handled by MI code, _ALL_ syscall
arguments must actually be included in the definition, i.e.
"optional" arguments are either "are there or aren't," i.e. these
aren't really varargs functions. Therefore, for normal syscalls,
there _must_ be arguments listed after the "...". For INDIR
syscalls, which really do have a variable number of arguments and
which aren't handled via the normal mechanism, that requirement is
not in force.
* output primitive (machine-parsable) syscall descriptions as comments
in <sys/syscall.h>. These can be used to easily build real function
prototypes, or to build stub functions for use by lint.
 1.18  15-Mar-1996  cgd support nested #if/#else/#endif sets, to allow ULTRIX compat code to handle
Mips ULTRIX and VAX ULTRIX from the same syscall table.
 1.17  07-Oct-1995  mycroft Prefix names of system call implementation functions with `sys_'.
 1.16  19-Sep-1995  thorpej Emit prototypes for system call functions and append them to the
`syscallargs' header file.
 1.15  22-Apr-1995  christos - new copyargs routine.
- use emul_xxx
- deprecate nsysent; use constant SYS_MAXSYSCALL instead.
- deprecate ep_setup
- call sendsig and setregs indirectly.
 1.14  28-Oct-1994  cgd minor cleanup; get output format right.
 1.13  20-Oct-1994  mycroft Fix typo in description of syscallarg.h.
 1.12  20-Oct-1994  cgd one minor mod...
 1.11  20-Oct-1994  cgd update for new syscall args description mechanism
 1.10  30-Jun-1994  cgd fix up for new ID format, and consistency
 1.9  29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.8  18-May-1994  mycroft Update from 4.4-Lite. No important differences.
 1.7  17-May-1994  cgd add support for 'NCOMPAT' to deal with NetBSD compat defines
 1.6  18-Mar-1994  mycroft Standardize #includes.
 1.5  07-Jun-1993  cgd add support for terry lambert's loadable kernel modules.
needs a bit of cleanup, but overall: SLICK!
 1.4  20-May-1993  cgd do something better with version strings for created files,
also inclusion protect syscall.h
 1.3  20-May-1993  cgd kill the "chmod 444" of the syscall-dependent files. makes running
makesyscalls.sh again somewhat more difficult than necessary, sometimes.
 1.2  20-May-1993  cgd add $Id$ strings, and clean up file headers where necessary
 1.1  06-Apr-1993  glass branches: 1.1.1;
added 'makesyscalls.sh' from BNR/2. Edit only 'syscalls.master'
recreates init_sysent.c syscalls.c ../sys/syscall.h which should
then be checked back in.
 1.1.1.2  01-Mar-1998  fvdl Import 4.4BSD-Lite2
 1.1.1.1  01-Mar-1998  fvdl Import 4.4BSD-Lite for reference
 1.33.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.35.12.1  01-May-2001  he Pull up revision 1.46 (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.35.2.7  21-Apr-2001  bouyer Sync with HEAD
 1.35.2.6  11-Feb-2001  bouyer Sync with HEAD.
 1.35.2.5  05-Jan-2001  bouyer Sync with HEAD
 1.35.2.4  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.35.2.3  08-Dec-2000  bouyer Sync with HEAD.
 1.35.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.35.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.45.2.5  14-Nov-2001  nathanw Catch up to -current.
 1.45.2.4  24-Aug-2001  nathanw Catch up with -current.
 1.45.2.3  21-Jun-2001  nathanw Catch up to -current.
 1.45.2.2  09-Apr-2001  nathanw Catch up with -current.
 1.45.2.1  05-Mar-2001  nathanw Initial commit of scheduler activations and lightweight process support.
 1.50.6.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.50.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.53.2.5  11-Dec-2005  christos Sync with head.
 1.53.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.53.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.53.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.53.2.1  03-Aug-2004  skrll Sync with HEAD
 1.57.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.57.4.1  29-Apr-2005  kent sync with -current
 1.58.4.7  24-Mar-2008  yamt sync with head.
 1.58.4.6  17-Mar-2008  yamt sync with head.
 1.58.4.5  27-Feb-2008  yamt sync with head.
 1.58.4.4  04-Feb-2008  yamt sync with head.
 1.58.4.3  21-Jan-2008  yamt sync with head
 1.58.4.2  15-Nov-2007  yamt sync with head.
 1.58.4.1  21-Jun-2006  yamt sync with head.
 1.59.52.3  18-Feb-2008  mjf Sync with HEAD.
 1.59.52.2  27-Dec-2007  mjf Sync with HEAD.
 1.59.52.1  19-Nov-2007  mjf Sync with HEAD.
 1.59.50.1  13-Nov-2007  bouyer Sync with HEAD
 1.59.46.2  23-Mar-2008  matt sync with HEAD
 1.59.46.1  09-Jan-2008  matt sync with HEAD
 1.59.44.1  11-Nov-2007  joerg Sync with HEAD.
 1.61.6.1  02-Jan-2008  bouyer Sync with HEAD
 1.61.2.1  26-Dec-2007  ad Sync with head.
 1.63.6.4  17-Jan-2009  mjf Sync with HEAD.
 1.63.6.3  28-Sep-2008  mjf Sync with HEAD.
 1.63.6.2  02-Jun-2008  mjf Sync with HEAD.
 1.63.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.63.2.1  24-Mar-2008  keiichi sync with head.
 1.68.2.1  18-May-2008  yamt sync with head.
 1.69.8.2  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.69.8.1  19-Oct-2008  haad Sync with HEAD.
 1.69.6.1  28-Jul-2008  simonb Sync with head.
 1.69.4.2  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.69.4.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.69.2.5  09-Oct-2010  yamt sync with head
 1.69.2.4  11-Aug-2010  yamt sync with head.
 1.69.2.3  11-Mar-2010  yamt sync with head
 1.69.2.2  16-May-2009  yamt sync with head
 1.69.2.1  04-May-2009  yamt sync with head.
 1.73.8.1  22-Aug-2009  matt Add info about what arguments and return values are explicity 64bit
(quad_t, off_t) and store that info in sy_flags.
 1.73.2.3  28-Apr-2009  skrll Sync with HEAD.
 1.73.2.2  03-Mar-2009  skrll Sync with HEAD.
 1.73.2.1  19-Jan-2009  skrll Sync with HEAD.
 1.81.2.2  23-Jul-2009  jym Sync with HEAD.
 1.81.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.93.2.4  06-Nov-2010  uebayasi Sync with HEAD.
 1.93.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.93.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.93.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.94.2.4  12-Jun-2011  rmind sync with head
 1.94.2.3  21-Apr-2011  rmind sync with head
 1.94.2.2  05-Mar-2011  rmind sync with head
 1.94.2.1  30-May-2010  rmind sync with head
 1.108.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.109.2.1  05-Mar-2011  bouyer Sync with HEAD
 1.117.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.119.6.1  02-Jun-2012  mrg sync to latest -current.
 1.119.2.4  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.119.2.3  23-Jan-2013  yamt sync with head
 1.119.2.2  30-Oct-2012  yamt sync with head
 1.119.2.1  23-May-2012  yamt sync with head.
 1.125.2.5  03-Dec-2017  jdolecek update from HEAD
 1.125.2.4  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.125.2.3  23-Jun-2013  tls resync from head
 1.125.2.2  25-Feb-2013  tls resync with head
 1.125.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.128.6.2  18-May-2014  rmind sync with head
 1.128.6.1  28-Aug-2013  rmind sync with head
 1.139.2.1  10-Aug-2014  tls Rebase.
 1.145.4.7  28-Aug-2017  skrll Sync with HEAD
 1.145.4.6  05-Feb-2017  skrll Sync with HEAD
 1.145.4.5  05-Dec-2016  skrll Sync with HEAD
 1.145.4.4  19-Mar-2016  skrll Sync with HEAD
 1.145.4.3  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.145.4.2  06-Jun-2015  skrll Sync with HEAD
 1.145.4.1  06-Apr-2015  skrll Sync with HEAD
 1.164.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.164.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.168.6.1  11-May-2017  pgoyette Sync with HEAD
 1.169.10.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.169.10.1  10-Jun-2019  christos Sync with HEAD
 1.169.8.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.182.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.183.2.1  17-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed