Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/kern_syscall.c
RevisionDateAuthorComments
 1.21  31-Aug-2020  christos PR/55629: Andreas Gustafsson: Don't crash when an emulation does not provide
e_dtrace_syscall (like compat_netbsd32)
 1.20  23-May-2020  ad Move proc_lock into the data segment. It was dynamically allocated because
at the time we had mutex_obj_alloc() but not __cacheline_aligned.
 1.19  06-Oct-2019  uwe xc_barrier - convenience function to xc_broadcast() a nop.

Make the intent more clear and also avoid a bunch of (xcfunc_t)nullop
casts that gcc 8 -Wcast-function-type is not happy about.
 1.18  06-May-2019  kamil branches: 1.18.2;
Ship with syscall information with SIGTRAP TRAP_SCE/TRAP_SCX for tracers

Expand siginfo_t (struct size not changed) to new values for
SIGTRAP TRAP_SCE/TRAP_SCX events.

- si_sysnum -- syscall number (int)
- si_retval -- return value (2 x int)
- si_error -- error code (int)
- si_args -- syscall arguments (8 x uint64_t)

TRAP_SCE delivers si_sysnum and si_args.

TRAP_SCX delivers si_sysnum, si_retval, si_error and si_args.

Users: debuggers (like GDB) and syscall tracers (like strace, truss).

This MI interface is similar to the Linux kernel proposal of
PTRACE_GET_SYSCALL_INFO by the strace developer team.
 1.17  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.16  24-Mar-2017  christos branches: 1.16.12; 1.16.14;
Instead of copying parts of sigswitch to process_stoptrace, use it directly.
Rename process_stoptrace -> proc_stoptrace and put it in kern_sig.c so we
don't need to expose any more functions from it.
 1.15  23-Mar-2017  christos kern/5201{2,8,9}: Fix PT_SYSCALL stopping.
1. Supply the siginfo we expect TRAP_SC{E,X} to process_stoptrace() and set it.
2. Change the second argument of proc_stop from notify, to now meaning that
we want to stop right now. Wait in process_stoptrace until that has happened.
3. While here, fix the locking order in process_stoptrace().
 1.14  30-Nov-2015  pgoyette branches: 1.14.2; 1.14.4;
KNF - Thanks, christos
 1.13  30-Nov-2015  pgoyette Rename sc_auto to sc_autoload at suggestion of christos@
 1.12  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.11  09-May-2015  pgoyette Use the generated list of auto-loadable syscalls rather than our own
hard-coded list.
 1.10  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.9  14-Dec-2013  pgoyette branches: 1.9.6;
Add SYS_compat_60__lwp_park to the list of syscalls that can be resolved by loading kernel modules.

This seems to address my PR kern/48027
 1.8  09-Dec-2013  pooka Group more syscall related routines together (kern_subr -> kern_syscall)
 1.7  05-May-2012  christos branches: 1.7.2; 1.7.4;
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.6  08-Mar-2012  joerg Implement sem_timedwait.
 1.5  21-Aug-2010  pgoyette branches: 1.5.8; 1.5.12;
Update the rest of the kernel to conform to the module subsystem's new
locking protocol.
 1.4  15-Apr-2010  pooka branches: 1.4.2; 1.4.4; 1.4.6;
will it include, that is the question

(to everyone's disappointment on some archs it didn't)
 1.3  14-Apr-2010  pooka Need a few funny #defines in kern_syscall.c too.
 1.2  14-Apr-2010  pooka need opt_modular.h in kern_syscall
 1.1  14-Apr-2010  pooka Move routines related to syscall establishment from kern_subr.c and
kern_stub.c to kern_syscall.c.
 1.4.6.3  09-Oct-2010  yamt sync with head
 1.4.6.2  11-Aug-2010  yamt sync with head.
 1.4.6.1  15-Apr-2010  yamt file kern_syscall.c was added on branch yamt-nfs-mp on 2010-08-11 22:54:41 +0000
 1.4.4.3  05-Mar-2011  rmind sync with head
 1.4.4.2  30-May-2010  rmind sync with head
 1.4.4.1  15-Apr-2010  rmind file kern_syscall.c was added on branch rmind-uvmplock on 2010-05-30 05:17:57 +0000
 1.4.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.4.2.2  30-Apr-2010  uebayasi Sync with HEAD.
 1.4.2.1  15-Apr-2010  uebayasi file kern_syscall.c was added on branch uebayasi-xip on 2010-04-30 14:44:11 +0000
 1.5.12.2  02-Jun-2012  mrg sync to latest -current.
 1.5.12.1  11-Mar-2012  mrg sync to latest -current
 1.5.8.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.5.8.2  23-May-2012  yamt sync with head.
 1.5.8.1  17-Apr-2012  yamt sync with head
 1.7.4.1  18-May-2014  rmind sync with head
 1.7.2.2  03-Dec-2017  jdolecek update from HEAD
 1.7.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.6.4  28-Aug-2017  skrll Sync with HEAD
 1.9.6.3  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.9.6.2  06-Jun-2015  skrll Sync with HEAD
 1.9.6.1  06-Apr-2015  skrll Sync with HEAD
 1.14.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.14.2.1  26-Apr-2017  pgoyette Sync with HEAD
 1.16.14.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.16.14.1  10-Jun-2019  christos Sync with HEAD
 1.16.12.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.18.2.1  02-Sep-2020  martin Pull up following revision(s) (requested by christos in ticket #1072):

sys/kern/kern_syscall.c: revision 1.21

PR/55629: Andreas Gustafsson: Don't crash when an emulation does not provide
e_dtrace_syscall (like compat_netbsd32)

RSS XML Feed