|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0 |
|
| #
3ad2fd6f |
| 18-Nov-2023 |
Brooks Davis <[email protected]> |
makesyscalls: don't make syscall.mk by default
We only want to produce syscall.mk for the main syscall table so default to not producing it (send it to /dev/null) and add a syscalls.conf to sys/kern
makesyscalls: don't make syscall.mk by default
We only want to produce syscall.mk for the main syscall table so default to not producing it (send it to /dev/null) and add a syscalls.conf to sys/kern to trigger the creation of sys/sys/syscall.mk. This eliminates the need for entries in other syscalls.conf files and is a cleaner pattern going forward.
Reviewed by: kevans, imp Differential Revision: https://reviews.freebsd.org/D42663
(cherry picked from commit 54d487c4d01d68ef0ac03eae1fc574f7533d46f6)
show more ...
|
|
Revision tags: release/14.0.0 |
|
| #
e64d827d |
| 12-Oct-2023 |
Olivier Certner <[email protected]> |
makesyscall: Simplify a bit emitting syscall declarations
Reviewed by: kevans, imp MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: h
makesyscall: Simplify a bit emitting syscall declarations
Reviewed by: kevans, imp MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42168
(cherry picked from commit 2f68ae6150aa51d724e22c7e6748adfe2bc932d7)
show more ...
|
| #
8c99d94c |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: two-line lua tag
Remove /^--\n--\s*\$FreeBSD\$.*$\n/
|
| #
61fe63f6 |
| 09-Jun-2023 |
Warner Losh <[email protected]> |
makesyscall: Stop generating $FreeBSD$
With 14 coming, we no longer need to generate the $FreeBSD$. We can likely MFC that to 13 as well.
MFC After: 2 weeks Sponsored by: Netflix Differential Rev
makesyscall: Stop generating $FreeBSD$
With 14 coming, we no longer need to generate the $FreeBSD$. We can likely MFC that to 13 as well.
MFC After: 2 weeks Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D39879
show more ...
|
| #
4d846d26 |
| 10-May-2023 |
Warner Losh <[email protected]> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
| #
c1e987e0 |
| 20-Apr-2023 |
Warner Losh <[email protected]> |
makesyscalls.lua: Minor fluff removal
luacheck pointed out two minor issues: line isn't declared as a global, so declare it local. Also remove an unused parameter.
Suggested by: kevans Sponsored b
makesyscalls.lua: Minor fluff removal
luacheck pointed out two minor issues: line isn't declared as a global, so declare it local. Also remove an unused parameter.
Suggested by: kevans Sponsored by: Netflix
show more ...
|
| #
8341a74a |
| 20-Apr-2023 |
Warner Losh <[email protected]> |
makesyscalls.lua: Use "sysxxx" consistently
Find the few places where we use 'sysxxx' and use "sysxxx" instead to be more consistent.
Sponsored by: Netflix
|
| #
1dd350fc |
| 20-Apr-2023 |
Warner Losh <[email protected]> |
makesyscalls.lua: Make more luaish
x["y"] can be written as x.y, which looks better and is a more typical lua idiom.
Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://revie
makesyscalls.lua: Make more luaish
x["y"] can be written as x.y, which looks better and is a more typical lua idiom.
Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D39709
show more ...
|
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
| #
b1ad6a90 |
| 28-Mar-2022 |
Brooks Davis <[email protected]> |
syscallarg_t: Add a type for system call arguments
This more clearly differentiates system call arguments from integer registers and return values. On current architectures it has no effect, but on
syscallarg_t: Add a type for system call arguments
This more clearly differentiates system call arguments from integer registers and return values. On current architectures it has no effect, but on architectures where pointers are not integers (CHERI) and may not even share registers (CHERI-MIPS) it is necessiary to differentiate between system call arguments (syscallarg_t) and integer register values (register_t).
Obtained from: CheriBSD
Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D33780
show more ...
|
| #
0910a41e |
| 12-Jan-2022 |
Brooks Davis <[email protected]> |
Revert "syscallarg_t: Add a type for system call arguments"
Missed issues in truss on at least armv7 and powerpcspe need to be resolved before recommit.
This reverts commit 3889fb8af0b611e3126dc250
Revert "syscallarg_t: Add a type for system call arguments"
Missed issues in truss on at least armv7 and powerpcspe need to be resolved before recommit.
This reverts commit 3889fb8af0b611e3126dc250ebffb01805152104. This reverts commit 1544e0f5d1f1e3b8c10a64cb899a936976ca7ea4.
show more ...
|
| #
1544e0f5 |
| 12-Jan-2022 |
Brooks Davis <[email protected]> |
syscallarg_t: Add a type for system call arguments
This more clearly differentiates system call arguments from integer registers and return values. On current architectures it has no effect, but on
syscallarg_t: Add a type for system call arguments
This more clearly differentiates system call arguments from integer registers and return values. On current architectures it has no effect, but on architectures where pointers are not integers (CHERI) and may not even share registers (CHERI-MIPS) it is necessiary to differentiate between system call arguments (syscallarg_t) and integer register values (register_t).
Obtained from: CheriBSD
Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D33780
show more ...
|
| #
84946666 |
| 09-Dec-2021 |
Kyle Evans <[email protected]> |
sysent: move away from allowing all compat options for other ABIs
Notably, the current compat_options only makes sense for native and freebsd32 ABIs. For the others, it just adds cruft. Switch to h
sysent: move away from allowing all compat options for other ABIs
Notably, the current compat_options only makes sense for native and freebsd32 ABIs. For the others, it just adds cruft. Switch to having sets of compat options, and default to the native set. Setup the other ABIs where it doesn't make sense to opt-out of the native set.
This removes some redundant COMPAT_FREEBSD* stuff from Linuxolator bits.
line_expr in makesyscalls.lua is fixed to allow empty strings to be specified, since they're harmless.
Reviewed by: brooks, kib (both earlier version) Differential Revision: https://reviews.freebsd.org/D33356
show more ...
|
| #
c1a84727 |
| 08-Dec-2021 |
Konstantin Belousov <[email protected]> |
syscalls: add COMPAT13
Reviewed by: brooks Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33343
|
|
Revision tags: release/12.3.0 |
|
| #
d7f306c5 |
| 29-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: add a new SYSMUX type
This type is for system call multiplexers (syscall(2), __syscall(2)) that don't have a normal handler and instead are handled in the machine-dependent syscall cod
makesyscalls: add a new SYSMUX type
This type is for system call multiplexers (syscall(2), __syscall(2)) that don't have a normal handler and instead are handled in the machine-dependent syscall code.
Reviewed by: kib, imp
show more ...
|
| #
f260a69d |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: strip _Contains_ argument annotations
Reviewed by: kevans
|
| #
64cc9803 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: add override of ABI change detection
While we can detect most ABI changes through analysis of syscalls.master with suitable annotations, to cases are handled in the core implementation
makesyscalls: add override of ABI change detection
While we can detect most ABI changes through analysis of syscalls.master with suitable annotations, to cases are handled in the core implementation and others have changes that can not be infered. Add two new config variables syscall_abi_change and syscall_no_abi_change which override the detected value. Both are space-seperated lists of syscall names.
Reviewed by: kevans
show more ...
|
| #
988e8db3 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: automate detection of ABI changes
Use pattern matching including matches of _Contains_*_ argument annotations to (mostly) determine which system calls require ABI-specific handling. A
makesyscalls: automate detection of ABI changes
Use pattern matching including matches of _Contains_*_ argument annotations to (mostly) determine which system calls require ABI-specific handling. Automatically treat syscalls as NOPROTO if no ABI changes are present.
Reviewed by: kevans
show more ...
|
| #
804a84fb |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls.lua: Add the ABI function prefix reliably.
The previous code mostly worked, but ended up adding bogus sys_<foo>() declerations.
Reviewed by: kevans
|
| #
5e709311 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: allow config to force OBSOL and UNIMPL
The obsol and unimpl config variables are space-seperated lists of syscalls that should treated as being declared OBSOL and UNIMPL.
The allows a
makesyscalls: allow config to force OBSOL and UNIMPL
The obsol and unimpl config variables are space-seperated lists of syscalls that should treated as being declared OBSOL and UNIMPL.
The allows an ABI to exclude select system calls listed in syscalls.master.
Reviewed by: kevans
show more ...
|
| #
64007b00 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: handle 64-bit args on 32-bit
On 32-bit architectures, 64-bit arguments are passed in pairs of registers. On non-x86 architectures these arguments must be in evenly aligned registers wh
makesyscalls: handle 64-bit args on 32-bit
On 32-bit architectures, 64-bit arguments are passed in pairs of registers. On non-x86 architectures these arguments must be in evenly aligned registers which necessiciates inserting a pad register into the argument list. This has historically been supported by adding ifdefs around padded and unpadded syscall defintions in syscalls.master.
In order to enable generation of 32-bit support files from the base syscalls.master, pull this support in to makesyscalls.lua enabled by adding pair_64bit to abi_flags.
The changes to sys_proto.h simply add #ifdef PAD64_REQUIRED around pad arguments in struct <syscall>_args. In systrace_args(), replace static syscall index values with post-incremented indexs allowing a simple ifdef around the argument. Under -O1 or higher code generation is identical. systrace_entry_setargdesc() is a bit more complicated as we switch on argument indices. Solve this with some use of define/undef pairs to compute the correct indices.
Reviewed by: kevans
show more ...
|
| #
79634eb9 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: handle arrays of pointers
When the config variable abi_intptr_t is not "", transform arrays of pointers to arrays of abi_intptr_t.
Reviewed by: kevans
|
| #
0a4e1644 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: handle longs in ABI compat
Replace long-derived types with their abi equivalent where required by the target ABI. There are two cases: - All pointers to types that go from 64-bit to 3
makesyscalls: handle longs in ABI compat
Replace long-derived types with their abi equivalent where required by the target ABI. There are two cases: - All pointers to types that go from 64-bit to 32-bit between the default ABI and the target ABI. - Signed arguments that go from 64-bit to 32-bit (these require sign-extension before passing to general kernel ABIs).
This adds four new config variables: abi_long, semid_t, abi_size_t, and abi_u_long which default to long, size_t, and u_long respectively.
Reviewed by: kevans
show more ...
|
| #
b85fb390 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls.lua: Allow translation of intptr_t arguments
Translate instances of intptr_t to the config value abi_intptr_t (defaults to "intptr_t"). Used in CheriABI to translate intptr_t to intcap
makesyscalls.lua: Allow translation of intptr_t arguments
Translate instances of intptr_t to the config value abi_intptr_t (defaults to "intptr_t"). Used in CheriABI to translate intptr_t to intcap_t for hybrid kernels.
Reviewed by: kevans
show more ...
|
| #
37b425bd |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: intptr_t arguments are pointers
Match intptr_t arguments as pointers. Currently this is a no-op change to systrace_args.c.
Reviewed by: kevans
|
| #
3f8f46a0 |
| 22-Nov-2021 |
Brooks Davis <[email protected]> |
makesyscalls: Add a way to include per-ABI headers
When the string %%ABI_HEADERS%% is found in syscalls.master, replace it with the contents of the abi_headers config variable. This allows an ABI-s
makesyscalls: Add a way to include per-ABI headers
When the string %%ABI_HEADERS%% is found in syscalls.master, replace it with the contents of the abi_headers config variable. This allows an ABI-specific syscalls.conf to add lines like:
#include <compat/freebsd32/freebsd32.h>
when working from a shared syscalls.master.
Reviewed by: kevans
show more ...
|