| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Restore %r10 at system call entry to avoid doing this multiply times.
Differential Revision: https://reviews.freebsd.org/D40154
MFC after: 1 month
|
| |
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D40153
MFC after: 1 month
|
| |
|
|
|
|
|
|
|
| |
I agree, it would be great to avoid PCB_FULL_IRET, however we should
follow Linux system call ABI.
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D40152
MFC after: 1 month
|
| |
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D40097
MFC after: 1 week
|
| |
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D40096
MFC after: 1 week
|
| |
|
|
|
|
|
| |
And partially implement it for x86_64.
Differential Revision: https://reviews.freebsd.org/D40095
MFC after: 1 week
|
| |
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit unsigned integer
on all platforms. Prior the 2.6 kernel dev_t type was an unsigned short.
However, since the firs commit of the Linuxulator, mknod syscall get int dev
argument.
Also, there is some confusion here, while the kernel declares a dev_t type
as a 32-bit sized, the user-space dev_t type can be size of 64 bits, e.g.,
in the Glibc library.
To avoid confusion and to help porting of the Linuxulator to other platforms
use explicit l_dev_t for dev argument of mknod syscalls.
|
| |
|
|
|
| |
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.
|
| |
|
|
| |
In the struct stat the st_dev, st_rdev are unsigned long.
|
| |
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D39645
MFC after: 1 month
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
Have more accruate comments. While #if, #else, etc are copied to the
header files, lines that don't start with # are not. And #include files
are only output to sysinc (which winds up at the front of init_sysent.c
which seems a bit odd). This is all radically undocumented, and likely
has drifted somewhat from 4.4BSD and what other systems do (they've
drifted too, fwiw).
Sponsored by: Netflix
|
| |
|
|
| |
MFC after: 2 weeks
|
| |
|
|
| |
MFC after: 2 weeks
|
| |
|
|
|
|
| |
Its needed only for amd64/linux32 Linuxulator.
Differential Revision: https://reviews.freebsd.org/D38793
|
| |
|
|
|
|
|
| |
Move struct ifnet definitions under compat/linux.
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D38791
|
| |
|
|
|
|
|
|
|
| |
To avoid confusing people, rename linux_timer.h to linux_time.h,
as linux_timer.c is the implementation of timer syscalls only,
while linux_time.c contains implementation of all stuff declared
in linux_time.h.
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
Cleanup unneeded includes, sort the rest according to style(9).
No functional changes.
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
| |
Include vm headers directly where they needed. The linux_util.h included
in a most source files of the Linuxulator, avoid collecting a rarely used
includes here.
MFC after: 2 weeks
|
| |
|
|
| |
MFC after: 1 week
|
| |
|
|
|
|
|
|
|
| |
Drop proc lock earlier, before copying user stuff.
Pointed out by: kib
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D38326
MFC after: 1 week
|
| |
|
|
|
|
|
| |
PR: 240768
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D38302
MFC after: 1 week
|
| |
|
|
| |
MFC after: 1 week
|
| |
|
|
|
|
| |
It is still present in the 32-bit Linuxulator on amd64.
MFC after: 1 week
|
| |
|
|
|
|
|
| |
Use native routines to fixup initial process stack. On Arm64 linux_elf_fixup() is
noop, as it do the stack fixup (room for argc) in the linux_copyout_strings().
MFC after: 1 week
|
| |
|
|
|
|
|
| |
In order to reduce code duplication move coredump support definitions
into the appropriate header and hide private definitions.
MFC after: 1 week
|
| |
|
|
| |
MFC after: 1 week
|
| |
|
|
|
|
| |
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/609
Differential Revision: https://reviews.freebsd.org/D35908
|
| |
|
|
|
|
|
|
|
|
|
| |
This allows the syscallname() function to give a usable result for Linux
ABIs.
Reported by: jrtc27
Reviewed by: jrtc27, markj, jhb
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D37199
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Store the shared page address in struct vmspace.
Also instead of storing absolute addresses of various shared page
segments save their offsets with respect to the shared page address.
This will be more useful when the shared page address is randomized.
Approved by: mw(mentor)
Sponsored by: Stormshield
Obtained from: Semihalf
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D35393
|
| |
|
|
| |
MFC after: 2 weeks
|
| |
|
|
|
|
| |
Provide arguments 2 and 3 if signal handler installed with SA_SIGINFO.
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
| |
On amd64 Linux saves the thread signal mask in both contexts, in the machine
dependent and in the machine independent. Both contexts are user accessible.
Convert the mask once, then copy it.
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
Use kern_sigprocmask() instead of direct manipulation of td_sigmask
to reschedule newly blocked signals.
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
Move sigprocmask actions defines under compat/linux,
they are identical across all Linux architectures.
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
| |
As linux_execve is common across archs, except amd64 32-bit Linuxulator,
move it under compat/linux.
Noted by: andrew@
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
As bsd_to_linux_trapcode() is common for x86 Linuxulators,
move it under x86/linux.
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
As translate_traps() is common for x86 Linuxulators,
move it under x86/linux.
MFC after: 2 weeks
|
| |
|
|
|
|
| |
Call translate_traps directly from sendsig().
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Linux exports __kernel_sigreturn and __kernel_rt_sigreturn from the
vdso. Modern glibc's sigaction sets the sa_restorer field of sigaction
to the corresponding vdso __sigreturn, and sets the SA_RESTORER.
Our signal trampolines uses the FreeBSD-way to call a signal handler,
so does not use the sigaction's sa_restorer.
However, as glibc's runtime linker depends on the existment of the vdso
__sigreturn symbols, for all Linuxulators was added separate trampolines
named __sigcode with DWARF anotations and left separate __sigreturn
methods, which are exported.
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
To reduce sendsig code difference and to avoid confusing me,
rename sf_sc to sf_uc to match the content.
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
the caller.
MFC after: 2 weeks
|
| |
|
|
|
|
| |
This is modeled after f2395455 (by kib@).
MFC after: 2 weeks
|
| |
|
|
|
|
|
| |
Factor out includes from common vdso_gettc_x86 file to the corresponding
MD files.
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
| |
On i386 are two semtimedop. The old one is called via multiplexor and
uses 32-bit timespec, and new semtimedop_tim64, which is uses 64-bit
timespec.
MFC after: 2 weeks
|