summaryrefslogtreecommitdiffstats
path: root/sys/kern/makesyscalls.sh
Commit message (Collapse)AuthorAgeFilesLines
* - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate()lstewart2011-11-211-0/+1
| | | | | | | | | | | | | | | | | | | | system calls to provide feed-forward clock management capabilities to userspace processes. ffclock_getcounter() returns the current value of the kernel's feed-forward clock counter. ffclock_getestimate() returns the current feed-forward clock parameter estimates and ffclock_setestimate() updates the feed-forward clock parameter estimates. - Document the syscalls in the ffclock.2 man page. - Regenerate the script-derived syscall related files. Committed on behalf of Julien Ridoux and Darryl Veitch from the University of Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward Clock Synchronization Algorithms" project. For more information, see http://www.synclab.org/radclock/ Submitted by: Julien Ridoux (jridoux at unimelb edu au)
* Correct the types of the arguments to return probes of the syscallrstone2011-11-111-4/+20
| | | | | | | | provider. Previously we were erroneously supplying the argument types of the corresponding entry probe. Reviewed by: rpaulo MFC after: 1 week
* In order to maximize the re-usability of kernel code in user space thiskmacy2011-09-161-4/+20
| | | | | | | | | | | | | patch modifies makesyscalls.sh to prefix all of the non-compatibility calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel entry points and all places in the code that use them. It also fixes an additional name space collision between the kernel function psignal and the libc function of the same name by renaming the kernel psignal kern_psignal(). By introducing this change now we will ease future MFCs that change syscalls. Reviewed by: rwatson Approved by: re (bz)
* add DTrace systrace support for linux32 and freebsd32 on amd64 syscallsavg2011-03-121-0/+6
| | | | | | | | | | This commits makes necessary changes in syscall/sysent generation infrastructure. PR: kern/152822 Submitted by: Artem Belevich <fbsdlist@src.cx> Reviewed by: jhb (ealier version) MFC after: 3 weeks
* Continue to introduce Capsicum Capability Mode support:rwatson2011-03-011-1/+23
| | | | | | | | | | | | | | | | | Add a new system call flag, SYF_CAPENABLED, which indicates that a particular system call is available in capability mode. Add a new configuration file, kern/capabilities.conf (similar files may be introduced for other ABIs in the future), which enumerates system calls that are available in capability mode. When a new system call is added to syscalls.master, it will also need to be added here (if needed). Teach sysent parts to use this file to set values for SYF_CAPENABLED for the native ABI. Reviewed by: anderson Discussed with: benl, kris, pjd Obtained from: Capsicum Project MFC after: 3 months
* Count number of threads that enter and leave dynamically registeredkib2010-06-281-7/+11
| | | | | | | | | | syscalls. On the dynamic syscall deregistration, wait until all threads leave the syscall code. This somewhat increases the safety of the loadable modules unloading. Reviewed by: jhb Tested by: pho MFC after: 1 month
* Use ISO C99 integer types in sys/kern where possible.ed2010-06-211-1/+1
| | | | | | There are only about 100 occurences of the BSD-specific u_int*_t datatypes in sys/kern. The ISO C99 integer types are used here more often.
* Remove unused LIBCOMPAT keyword from syscalls.master.ed2010-02-081-17/+0
|
* Add a new COMPAT7 flag for FreeBSD 7.x compatibility system calls.jhb2009-06-241-4/+34
|
* Include definitions for the audit identifiers for compat system calls injhb2009-06-221-0/+2
| | | | | sysproto.h. This makes it possible to use SYSCALL_MODULE() for compat system calls that live in kernel modules.
* - Add the ability to mix multiple flags seperated by pipe ('|') charactersjhb2009-06-171-32/+59
| | | | | | | | | | | | | | | | | | | in the type field of system call tables. Specifically, one can now use the 'NO*' types as flags in addition to the 'COMPAT*' types. For example, to tag 'COMPAT*' system calls as living in a KLD via NOSTD. The COMPAT* type is required to be listed first in this case. - Add new functions 'type()' and 'flag()' to the embedded awk script in makesyscalls.sh that return true if a requested flag is found in the type field ($3). The flag() function checks all of the flags in the field, but type() only checks the first flag. type() is meant to be used in the top-level "switch" statement and flag() should be used otherwise. - Retire the CPT_NOA type, it is now replaced with "COMPAT|NOARGS" using the flags approach. - Tweak the comment descriptions of COMPAT[46] system calls so that they say "freebsd[46] foo" rather than "old foo". - Document the COMPAT6 type. - Sync comments in compat32 syscall table with the master table.
* Remove the now-unused NOIMPL flag. It serves no useful purpose given thejhb2009-06-171-5/+2
| | | | existing UNIMPL and NOSTD types.
* Add 'sy_flags', a currently unused per-syscall entry flags field that willrwatson2009-06-011-14/+21
| | | | | | | see future use in 9-CURRENT and 8-STABLE for features such as the capability-mode enable flag and pay-as-you-audit. Discussed with: jhb, sson
* Tidy up a few things with syscall generation:jhb2008-09-251-24/+14
| | | | | | | | | | | | | | | | - Instead of using a syscall slot (370) just to get a function prototype for lkmressys(), add an explicit function prototype to <sys/sysent.h>. This also removes unused special case checks for 'lkmressys' from makesyscalls.sh. - Instead of having magic logic in makesyscalls.sh to only generate a function prototype the first time 'lkmnosys' is seen, make 'NODEF' always not generate a function prototype and include an explicit prototype for 'lkmnosys' in <sys/sysent.h>. - As a result of the fix in (2), update the LKM syscall entries in the freebsd32 syscall table to use 'lkmnosys' rather than 'nosys'. - Use NOPROTO for the __syscall() entry (198) in the native ABI. This avoids the need for magic logic in makesyscalls.h to only generate a function prototype the first time 'nosys' is encountered.
* Generate another function for the DTrace syscall provider to specifyjb2008-03-271-2/+14
| | | | | | | the syscall argument types. This code is only compiled into the systrace kernel modul and has no effect otherwise.
* Fixed type of the fourth argument of cpuset_{get,set}affinity(2) to be size_t.ru2008-03-251-1/+1
| | | | Prodded by: davidxu
* Add support for COMPAT6 syscalls.peter2007-07-041-9/+42
| | | | | | | | | | | | | Also, change the visibility of compat syscalls a slightly. Compat syscalls were missing from 'syscalls.h' entirely. This additionally adds them with their compat prefix. eg: SYS_freebsd6_mmap. Also, the syscalls.c names strings have different prefixes to differentiate syscalls. Instead of several "old.mmap" strings, there will now be a "compat.mmap" and "compat6.mmap" etc. Before, both would have had the same "old.mmap" label. Approved by: re
* Merge posix4/* into normal kernel hierarchy.trhodes2006-11-111-1/+1
| | | | | Reviewed by: glanced at by jhb Approved by: silence on -arch@ and -standards@
* Add a new set of macros <prefix>_AUE_<syscallname> to sysproto.h thatjhb2006-08-151-4/+9
| | | | | map to the audit event associated with a specific system call. For example, SYS_AUE___semctl would be set to AUE_SEMCTL in sys/sysproto.h.
* Generate another file called systrace_args.c. This will be compiledjb2006-08-031-7/+38
| | | | | into systrace and is used to map the syscall arguments into the 64-bit parameter array.
* Don't include sys/thr.h and umtx.h in sys/sysproto.h, it is unnecessary.davidxu2006-08-021-3/+1
|
* Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used tojhb2006-07-281-40/+8
| | | | | | | | | mark system calls as being MPSAFE: - Stop conditionally acquiring Giant around system call invocations. - Remove all of the 'M' prefixes from the master system call files. - Remove support for the 'M' prefix from the script that generates the syscall-related files from the master system call files. - Don't explicitly set SYF_MPSAFE when registering nfssvc.
* Introduce a new field in the syscalls.master file format to hold therwatson2005-05-301-64/+73
| | | | | | | | | | | | | audit event identifier associated with each system call, which will be stored by makesyscalls.sh in the sy_auevent field of struct sysent. For now, default the audit identifier on all system calls to AUE_NULL, but in the near future, other BSM event identifiers will be used. The mapping of system calls to event identifiers is many:one due to multiple system calls that map to the same end functionality across compatibility wrappers, ABI wrappers, etc. Submitted by: wsalamon Obtained from: TrustedBSD Project
* Remove the namespace column from the syscalls tables. We don't actuallypeter2003-12-231-7/+7
| | | | | | use it, if we ever did. They have been been VERY poorly maintained for some time, possibly because they were a NOP. FWIW, This brings our table formats back closer to the other *BSD's.
* - Include umtx.h in files generated by makesyscalls.shjeff2003-04-011-0/+1
| | | | - Add system calls for umtx.
* - We now have to include umtx.h and ucontext.h in the system call relatedjeff2003-04-011-0/+2
| | | | headers.
* The syscall names are string constants, so make them consts.dwmalone2002-10-291-1/+1
|
* Add the rest of the kernel support for the sem_ API in kern/uipc_sem.c.alfred2002-09-191-2/+3
| | | | | | | | | | Option 'P1003_1B_SEMAPHORES' to compile them in, or load the "sem" module to activate them. Have kern/makesyscalls.sh emit an include for sys/_semaphore.h into sysproto.h to pull in the typedef for semid_t. Add the syscalls to the syscall table as module stubs.
* Introduce syscall.master option 'COMPAT4' which allows one to wrapalfred2002-07-121-18/+64
| | | | | syscalls for FreeBSD 4 compatibility. Add kernel option COMPAT_FREEBSD4 to enable these syscalls.
* Usage style sweep: spell "usage" with a small 'u'.des2002-04-221-1/+1
| | | | | Also change one case of blatant __progname abuse (several more remain) This commit does not touch anything in src/{contrib,crypto,gnu}/.
* don't generate files with __P.alfred2002-03-191-2/+2
|
* Oops, fix previous commit to not generate a C comment in syscall.mk.bde2002-01-301-1/+1
|
* Escape $FreeBSD$ in a different way to avoid using the bogus escapes \$bde2002-01-301-5/+5
| | | | and \F. Awk just started warning about these.
* Don't generate <sys/syscalls-hide.h> it has never had any users anywhere inphk2001-10-131-19/+0
| | | | the source tree.
* Fix breakage caused by previous commit. The lkmnosys and lkmressysmarcel2001-10-071-5/+8
| | | | | | | | | | syscalls are of type NODEF but not in a way that fits the given definition of that type. The exact difference of lkmressys and lkmnosys is unclear, which makes it all the more confusing. A reevaluation of what we have and what we really need is in order. Spotted by: Maxime Henrion <mux@qualys.com> Pointy hat: marcel
* Make the NODEF type usable. A syscall of type NODEF will onlymarcel2001-09-281-1/+2
| | | | | | | | have its entry in the syscall table added. Nothing else is done. This differs from type NOPROTO in that NOPROTO adds a definition to syscall.h besides adding a sysent. A syscall can now have multiple entries without conflict. Note that the argssize is fixed and depends on the syscall name.
* KSE Milestone 2julian2001-09-121-2/+3
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* Fix the definition generation code from rev 1.15 that generates non-style(9)obrien2001-09-051-4/+4
| | | | compliant structure definitions.
* Remove the MPSAFE keyword from the parser for syscalls.master.dillon2001-08-301-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead introduce the [M] prefix to existing keywords. e.g. MSTD is the MP SAFE version of STD. This is prepatory for a massive Giant lock pushdown. The old MPSAFE keyword made syscalls.master too messy. Begin comments MP-Safe procedures with the comment: /* * MPSAFE */ This comments means that the procedure may be called without Giant held (The procedure itself may still need to obtain Giant temporarily to do its thing). sv_prepsyscall() is now MP SAFE and assumed to be MP SAFE sv_transtrap() is now MP SAFE and assumed to be MP SAFE ktrsyscall() and ktrsysret() are now MP SAFE (Giant Pushdown) trapsignal() is now MP SAFE (Giant Pushdown) Places which used to do the if (mtx_owned(&Giant)) mtx_unlock(&Giant) test in syscall[2]() in */*/trap.c now do not. Instead they explicitly unlock Giant if they previously obtained it, and then assert that it is no longer held to catch broken system calls. Rebuild syscall tables.
* Add padding before each element of the syscall argument structures intmm2001-08-221-2/+15
| | | | | | | | sysproto.h in addition to the existing padding afterwards. This is needed to support big-endian architectures like sparc64. Reviewed by: bde Tested on alpha by: jhb
* Add reserved lkmressys keyword. I swear, this script will die thealfred2000-12-011-2/+2
| | | | next time I need to hack on it.
* implement NOSTD syscall type, this creates the syscall args, but sticksalfred2000-12-011-6/+9
| | | | a lkmnosys into the sysent table so that SYSCALL_MODULE() works
* Change the 'exit()' system call to 'sys_exit()'. This avoids overlappingpeter2000-07-291-2/+0
| | | | | | gcc's internal exit() prototypes and the (futile) hackery that we did to try and avoid warnings. main() was renamed for similar reasons. Remove an exit related hack from makesyscalls.sh.
* Fixed the calculation of sy_nargs in sysent tables. We attempted to dobde2000-05-091-25/+34
| | | | | | | | | | | | | | this in awk using the hack of counting args of type off_t twice and args of all other types once. This is too simple to work. It gave benignly wrong results on alphas (off_t shouldn't be counted twice) and for svr4_sys_mmap64() on i386's (off64_t should be counted twice). It gave fatally wrong results for i386's with 64-bit longs (longs should be counted twice). The correct value for sy_nargs is easier to determine from the size of the args struct anyway, except for complications to make the generated code almost readable. Improved formatting of sysent tables by lining up the comments where possible.
* Make makesyscalls.sh parse an optional field 'MPSAFE' that specifiesalfred2000-04-031-10/+23
| | | | | | | that a syscall does not want the BGL to be grabbed automatically. Add the new MPSAFE flag to the syscalls that dillon has determined to be MPSAFE.
* Second pass commit to introduce new ACL and Extended Attribute systemrwatson1999-12-191-0/+1
| | | | | | | calls, vnops, vfsops, both in /kern, and to individual file systems that require a vfsop_ array entry. Reviewed by: eivind
* Add $FreeBSD$ tags to generated files otherwise the checker won't let thempeter1999-09-101-0/+6
| | | | be committed.
* Id -> FreeBSDpeter1999-08-281-1/+1
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add trailing newline to sys/syscall.mk so that diff doesn't choke on it.phk1998-06-281-1/+2
|
OpenPOWER on IntegriCloud