committer filter by committer.
@path/to/ filter by path in repository.
committer@path/to/ filter by committer AND path in repository.
abdef0123 filter by commit's SHA hash.
rNNN filter by SVN revision.
rNNN-rMMM filter by SVN revisions range (inclusive).
Multiple filters can be specified separated by spaces or comas in which case they'll be combined using OR operator.
|64007b00||brooks||Nov. 22, 2021, 10:36 p.m.||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: kevanscgit
|79634eb9||brooks||Nov. 22, 2021, 10:36 p.m.||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: kevanscgit
|0a4e1644||brooks||Nov. 22, 2021, 10:36 p.m.||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: kevanscgit
|b85fb390||brooks||Nov. 22, 2021, 10:36 p.m.||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: kevanscgit
|f0cfbffc||brooks||Nov. 22, 2021, 10:36 p.m.||syscalls: regen|
|37b425bd||brooks||Nov. 22, 2021, 10:36 p.m.||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: kevanscgit
|3f8f46a0||brooks||Nov. 22, 2021, 10:36 p.m.||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: kevanscgit
|ed8a4423||brooks||Nov. 22, 2021, 10:36 p.m.||makesyscalls: allow multiple expressions for each abi change
Limitations in lua patterns means we need to be able to match more than one possible expression. Reviewed by: kevanscgit
|818aa954||brooks||Nov. 22, 2021, 10:36 p.m.||makesyscalls: Fix expression for time_t_size
Reviewed by: kevanscgit
|5203efea||brooks||Nov. 22, 2021, 10:36 p.m.||makesyscalls: Remove _native suffix handling
This supported a hack we used in CheriBSD which has been removed. Reviewed by: kevanscgit
|97fdcfca||brooks||Nov. 22, 2021, 10:36 p.m.||freebsd32: remove unnecessicary headers
Reviewed by: kibcgit
|bcd07aaa||brooks||Nov. 22, 2021, 10:36 p.m.||freebsd32: regen|
|6eefabd4||brooks||Nov. 22, 2021, 10:36 p.m.||syscalls: improve nstat, nfstat, nlstat
Optionally return errors when truncating dev_t, ino_t, and nlink_t. In the interest of code reuse, use freebsd11_cvtstat() to perform the truncation and error handling and then convert the resulting struct freebsd11_stat to struct nstat. Add missing freebsd32 compat syscalls. These syscalls require translation because struct nstat contains four instances of struct timespec which in turn contains a time_t and a long. Reviewed by: kibcgit
|8460d3e9||brooks||Nov. 22, 2021, 10:36 p.m.||freebsd32: regen|
|151ddfec||brooks||Nov. 22, 2021, 10:36 p.m.||freebsd32: add _'s to _umtx_(un)lock
This aligns with the default ABI's configuration. Reviewed by: kibcgit