History log of /freebsd/sys/compat/freebsd32/freebsd32_systrace_args.c (Results 26 – 50 of 229)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 30bc335a 22-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: regen


# 6b7c23a0 22-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

syscalls: regen


# 8460d3e9 22-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: regen


# 06759303 22-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: aio_cancel takes a struct aiocb32

Strictly speaking, it takes a virtual address and doesn't touch the
object directly, but this is consistant with other aio_*() syscalls.

Reviewed by: kib


# fea4a9af 18-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

fspacectl: remove unneeded freebsd32 wrapper

fspacectl(2) does not require special handling on freebsd32. The
presence of off_t in a struct does not cause it's size to change
between the native ABI

fspacectl: remove unneeded freebsd32 wrapper

fspacectl(2) does not require special handling on freebsd32. The
presence of off_t in a struct does not cause it's size to change
between the native ABI and the 32-bit ABI supported by freebsd32
because off_t is always int64_t on BSD systems. Further, byte
order only requires handling for paired argument or return registers.

(32-byte alignment of 64-bit objects on i386 can require special
handling, but that situtation does not apply here.)

Reviewed by: kib, khng, emaste, delphij
Differential Revision: https://reviews.freebsd.org/D32994

show more ...


# 67fb0300 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: sync return types with default ABI

This consists of int -> ssize_t where required and one int -> mode_t.
As a rule, return types are informative rather than functional as the
actual retur

freebsd32: sync return types with default ABI

This consists of int -> ssize_t where required and one int -> mode_t.
As a rule, return types are informative rather than functional as the
actual return is in a register.

Reviewed by: kevans

show more ...


# 265a4b83 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: semid_t -> int32_t

semid_t is historically an intptr_t so it should be an int32_t.

Reviewed by: kevans


# aef154d3 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: use __socklen_t consistently

Reviewed by: kevans


# a016320d 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: rename 32-bit compat pads to _pad

Some 32-bit architectures pass 64-bit values in aligned
register pairs (a0,a1), (a2,a3) etc. In freebsd32 we add these pads
explicitly from compat code.

freebsd32: rename 32-bit compat pads to _pad

Some 32-bit architectures pass 64-bit values in aligned
register pairs (a0,a1), (a2,a3) etc. In freebsd32 we add these pads
explicitly from compat code. We also sometimes add pads in the default
ABI. Differentiate the two by making the freebsd32 ones int _pad.
In a future commit the 32-bit ones will be automatically generated.

Reviewed by: kevans

show more ...


# 158dcd73 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: have sigqueue take a void *

This matches the default ABI and we work around issues with
union sigval by extracting the bottom 32-bits in a manual handler.

Reviewed by: kevans


# 2b9d052d 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: fix getfsstat sign extension bugs

Add freebsd32 versions of getfsstat and freebsd11_getfsstat so that
bufsize is properly sign-extended if a negative value is passed.
Reject negative valu

freebsd32: fix getfsstat sign extension bugs

Add freebsd32 versions of getfsstat and freebsd11_getfsstat so that
bufsize is properly sign-extended if a negative value is passed.
Reject negative values before passing to kern_getfsstat as a size_t.

Reviewed by: kevans

show more ...


# f19e3fd2 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: signed long corrections

Syscalls that take signed longs need to treat the 32-bit versions as
signed int so that sign extension happens correctly. Improve
decleration quality and add a fe

freebsd32: signed long corrections

Syscalls that take signed longs need to treat the 32-bit versions as
signed int so that sign extension happens correctly. Improve
decleration quality and add a few minimal syscall implementations.

Reviewed by: kevans

show more ...


# d257e57d 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: add missing pads to preadv and pwritev

Reviewed by: kevans


# e02f64d9 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: add real abort2

Previously, the code would copy twice as many pointers as specified
and print pairs of them a single 64-bit pointer.

abort2 doesn't return so make the return type void

f

freebsd32: add real abort2

Previously, the code would copy twice as many pointers as specified
and print pairs of them a single 64-bit pointer.

abort2 doesn't return so make the return type void

freebsd32_abort2 is in it's own file with a 2-clause BSD license
based on a discussion with Wojciech many years ago.

Reviewed by: kevans

show more ...


# e3e811a3 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: add feed foward clock syscalls

These are required when supporting i386 because time_t is 32-bit which
reduces struct bintime to 12-bytes when combined with the fact that 64-bit
integers o

freebsd32: add feed foward clock syscalls

These are required when supporting i386 because time_t is 32-bit which
reduces struct bintime to 12-bytes when combined with the fact that 64-bit
integers only requiring 32-bit alignment on i386. Reusing the default
ABI version resulted in 4-byte overreads or overwrites to userspace.

Reviewed by: kevans

show more ...


# 7bd79565 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: enable trivial syscalls

These syscalls require no translation. They were simply missing
from compat/freebsd32/syscalls.master.

Reviewed by: kevans


# 91301e6e 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: don't implement kldsym

Previously we fell back to sys_kldsym, but because we'd always
mismatch on the version field we'd return EINVAL. A freebsd32
implementation is impossible with the

freebsd32: don't implement kldsym

Previously we fell back to sys_kldsym, but because we'd always
mismatch on the version field we'd return EINVAL. A freebsd32
implementation is impossible with the current ABI as there simply
isn't space to store a kernel virtual address in a uint32_t.

Reviewed by: kevans

show more ...


# dbb47e92 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: remove freebsd32_recvfrom

The freebsd32_recvfrom() serves no purpose as no arguments require
translation. The prototype was mis-declared and the implementation
contained (relatively harm

freebsd32: remove freebsd32_recvfrom

The freebsd32_recvfrom() serves no purpose as no arguments require
translation. The prototype was mis-declared and the implementation
contained (relatively harmless) errors.

Reviewed by: kevans

show more ...


# b35c2bca 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: rename struct wrusage32 to struct __wrusage32

This matches struct __wrusage

Reviewed by: kevans


# 0ebea139 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: include `__` in semctl names

This mirrors sys/kern/syscall.master and will simplify generation
of freebsd32 files.

Reviewed by: kevans


# d35a7716 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: sync _umtx_op args with default ABI

Reviewed by: kevans


# f1a14110 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: rename fstat argument to match default abi

Reviewed by: kevans


# 5d0d6869 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: struct kld32_file_stat -> struct kld_file_stat32

Follow common convention and put the `32` on the end of the struct
name. This is a step toward generating freebsd32 syscall files
from sy

freebsd32: struct kld32_file_stat -> struct kld_file_stat32

Follow common convention and put the `32` on the end of the struct
name. This is a step toward generating freebsd32 syscall files
from sys/kern/syscalls.master.

Reviewed by: kevans

show more ...


# 6dcd7db1 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: fix type size of pointer array args

Make pointers to arrays of pointers `uint32_t *` so the sizes of the
array elements are correct. In an ideal world we'd use something
like __ptr32 ann

freebsd32: fix type size of pointer array args

Make pointers to arrays of pointers `uint32_t *` so the sizes of the
array elements are correct. In an ideal world we'd use something
like __ptr32 annotations instead.

Reviewed by: kevans

show more ...


# 465b80c0 17-Nov-2021 Brooks Davis <brooks@FreeBSD.org>

freebsd32: thread IDs are int32_t

Thread IDs are of type long which means int32_t on 32-bit systems.
While this detail is handled without compat functions, expose it
here as code to generate prototy

freebsd32: thread IDs are int32_t

Thread IDs are of type long which means int32_t on 32-bit systems.
While this detail is handled without compat functions, expose it
here as code to generate prototypes from the default syscalls.master
will do so.

Reviewed by: kevans

show more ...


12345678910