Revision tags: release/14.0.0 |
|
#
2a1cf1b6 |
| 05-Sep-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Deduplicate mmap2
To help porting the Linux emulation layer to a new platforms start using Linux names for conditional builds instead of architecture-specific ifdefs.
MFC after: 1 week
|
#
2ff63af9 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
#
4281dab8 |
| 28-Jul-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Add elf_hwcap2 to x86
On x86 Linux via AT_HWCAP2 the user controlled (by tunables) processor capabilities are exposed.
Reviewed by: Differential Revision: https://reviews.freebsd.org/D411
linux(4): Add elf_hwcap2 to x86
On x86 Linux via AT_HWCAP2 the user controlled (by tunables) processor capabilities are exposed.
Reviewed by: Differential Revision: https://reviews.freebsd.org/D41165 MFC after: 2 weeks
show more ...
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
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 ...
|
#
80d8a4a0 |
| 28-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Make struct stat64 to match Linux actual one
|
#
19973638 |
| 28-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Move dev_t type declaration under /compat/linux
As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit unsigned integer on all platforms. Move it into the MI linux.h under /compat/linu
linux(4): Move dev_t type declaration under /compat/linux
As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit unsigned integer on all platforms. Move it into the MI linux.h under /compat/linux.
show more ...
|
#
e0bfe0d6 |
| 28-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Make struct newstat to match actual Linux one
In the struct stat the st_dev, st_rdev are unsigned long.
|
#
a408fc09 |
| 28-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Rename obsolete old struct l_stat to struct l_old_stat
|
#
56c5230a |
| 22-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Fix LINUX_AT_COUNT comments
Differential Revision: https://reviews.freebsd.org/D39645 MFC after: 1 month
|
#
7d8c9839 |
| 22-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Deduplicate linux_copyout_auxargs()
Export default MINSIGSTKSZ value for the x86 until we do not preserve AVX registers in the signal context.
Differential Revision: https://reviews.freeb
linux(4): Deduplicate linux_copyout_auxargs()
Export default MINSIGSTKSZ value for the x86 until we do not preserve AVX registers in the signal context.
Differential Revision: https://reviews.freebsd.org/D39644 MFC after: 1 month
show more ...
|
Revision tags: release/13.2.0 |
|
#
cabbfb60 |
| 04-Mar-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Reduce code duplication between MD files
Move struct ifnet definitions under compat/linux.
Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38791
|
#
cc1b0f7d |
| 02-Feb-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Add coredump support to i386.
MFC after: 1 week
|
#
575e48f1 |
| 01-Feb-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Deduplicate MI futex structures.
MFC after: 1 week
|
Revision tags: release/12.4.0 |
|
#
2ca34847 |
| 30-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Reduce duplication between MD parts of the Linuxulator
Move sigprocmask actions defines under compat/linux, they are identical across all Linux architectures.
MFC after: 2 weeks
|
#
0e26e54b |
| 28-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Handle 64-bit SO_TIMESTAMP for 32-bit binaries
To solve y2k38 problem in the recvmsg syscall the new SO_TIMESTAMP constant were added on v5.1 Linux kernel. So, old 32-bit binaries that kno
linux(4): Handle 64-bit SO_TIMESTAMP for 32-bit binaries
To solve y2k38 problem in the recvmsg syscall the new SO_TIMESTAMP constant were added on v5.1 Linux kernel. So, old 32-bit binaries that knows only 32-bit time_t uses the old value of the constant, and binaries that knows 64-bit time_t uses the new constant.
To determine what size of time_t type is expected by the user-space, store requested value (SO_TIMESTAMP) in the process emuldata structure.
MFC after: 2 weeks
show more ...
|
#
af557e64 |
| 15-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Rework the definition of struct siginfo to match Linux actual one
Rework the defintion of struct siginfo so that the array padding struct siginfo to SI_MAX_SIZE can be placed in a union al
linux(4): Rework the definition of struct siginfo to match Linux actual one
Rework the defintion of struct siginfo so that the array padding struct siginfo to SI_MAX_SIZE can be placed in a union along side of the rest of the struct siginfo members. The result is that we no longer need the __ARCH_SI_PREAMBLE_SIZE or SI_PAD_SIZE definitions.
Move struct siginfo definition under /compat/linux to reduce MD part. To avoid headers polution include linux_siginfo.h in the MD linux.h
MFC after: 2 weeks
show more ...
|
#
21f24617 |
| 15-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Move sigframe definitions to separate headers
The signal trampoine-related definitions are used only in the MD part of code, wherefore moved from everywhere used linux.h to separate MD hea
linux(4): Move sigframe definitions to separate headers
The signal trampoine-related definitions are used only in the MD part of code, wherefore moved from everywhere used linux.h to separate MD headers.
MFC after: 2 weeks
show more ...
|
#
ba279bcd |
| 15-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Cleanup signal trampolines
This is the first stage of a signal trampolines refactoring.
From trampolines retired emulation of the 'call' instruction, which is replaced by direct call of a
linux(4): Cleanup signal trampolines
This is the first stage of a signal trampolines refactoring.
From trampolines retired emulation of the 'call' instruction, which is replaced by direct call of a signal handler. The signal handler address is in the register.
The previous trampoline implemenatation used semi-Linux-way to call a signal handler via the 'jmp' instruction. Wherefore the trampoline emulated a 'call' instruction to into the stack the return address for signal handler's 'ret' instruction. Wherefore handmade DWARD annotations was used.
While here rephrased and removed excessive comments.
MFC after: 2 weeks
show more ...
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
30c6d982 |
| 27-Jul-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
linux: implement sigaltstack(2) on arm64
... by making it machine-independent.
Reviewed By: dchagin Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D31286
|
#
9931033b |
| 20-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4); Almost complete the vDSO.
The vDSO (virtual dynamic shared object) is a small shared library that the kernel maps R/O into the address space of all Linux processes on image activation. The
linux(4); Almost complete the vDSO.
The vDSO (virtual dynamic shared object) is a small shared library that the kernel maps R/O into the address space of all Linux processes on image activation. The vDSO is a fully formed ELF image, shared by all processes with the same ABI, has no process private data.
The primary purpose of the vDSO: - non-executable stack, signal trampolines not copied to the stack; - signal trampolines unwind, mandatory for the NPTL; - to avoid contex-switch overhead frequently used system calls can be implemented in the vDSO: for now gettimeofday, clock_gettime.
The first two have been implemented, so add the implementation of system calls.
System calls implemenation based on a native timekeeping code with some limitations: - ifunc can't be used, as vDSO r/o mapped to the process VA and rtld can't relocate symbols; - reading HPET memory is not implemented for now (TODO).
In case on any error vDSO system calls fallback to the kernel system calls. For unimplemented vDSO system calls added prototypes which call corresponding kernel system call.
Tested by: trasz (arm64) Differential revision: https://reviews.freebsd.org/D30900 MFC after: 2 weeks
show more ...
|
#
4efdf582 |
| 22-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Retire a now unused include.
MFC after: 2 weeks
|
#
26795a03 |
| 22-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Rework Linux ppoll system call.
For now the Linux emulation layer uses in kernel ppoll(2) without conversion of user supplied fd 'events', and does not convert the kernel supplied fd 'reve
linux(4): Rework Linux ppoll system call.
For now the Linux emulation layer uses in kernel ppoll(2) without conversion of user supplied fd 'events', and does not convert the kernel supplied fd 'revents'.
At least POLLRDHUP is handled by FreeBSD differently than by Linux. Seems that Linux silencly ignores POLLRDHUP on non socket fd's unlike FreeBSD, which does more strictly check and fails.
Rework the Linux ppoll, using kern_poll and converting 'events' and 'revents' values. While here, move poll events defines to the MI part of code as they mostly identical on all arches except arm.
Differential Revision: https://reviews.freebsd.org/D30716 MFC after: 2 weeks
show more ...
|
#
bfcce1a9 |
| 07-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): add struct timespec64 definition and conversion routine for future use.
MFC after: 2 weeks
|
#
19593f77 |
| 31-May-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4); Retire unnecessary __packed attribute from some struct's definition.
Differential Revision: https://reviews.freebsd.org/D30482 MFC after: 2 weeks
|
Revision tags: release/13.0.0, release/12.2.0 |
|
#
ed83a561 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
i386: clean up empty lines in .c and .h files
|