#
6469bdcd |
| 06-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is close
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options.
Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures.
Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files.
Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941
show more ...
|
#
d41e41f9 |
| 27-Mar-2018 |
John Baldwin <jhb@FreeBSD.org> |
Remove very old and unused signal information codes.
These have been supplanted by the MI signal information codes in <sys/signal.h> since 7.0. The FPE_*_TRAP ones were deprecated even earlier in 1
Remove very old and unused signal information codes.
These have been supplanted by the MI signal information codes in <sys/signal.h> since 7.0. The FPE_*_TRAP ones were deprecated even earlier in 1999.
PR: 226579 (exp-run) Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D14637
show more ...
|
#
f8268d4d |
| 23-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Remove redundant cast from Linuxulator SYSINITs
|
#
ad448975 |
| 23-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Fixup return style(9) in amd64 linux*_sysvec.c
Sponsored by: Turing Robotic Industries Inc.
|
#
c0aa0e2c |
| 23-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Sort headers in MD Linuxulator files
Bring #includes closer to style(9) and reduce differences between the (three) MD versions of linux_machdep.c and linux_sysvec.c.
Sponsored by: Turing Robotic In
Sort headers in MD Linuxulator files
Bring #includes closer to style(9) and reduce differences between the (three) MD versions of linux_machdep.c and linux_sysvec.c.
Sponsored by: Turing Robotic Industries Inc.
show more ...
|
#
1ac2776b |
| 22-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Share Linux errno table with libsysdecode
Requested by: jhb Reviewed by: jhb Sponsored by: Turing Robotic Industries Inc.
|
#
b7d779b3 |
| 20-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Make linuxulator fn declaration match definition
I accidentally swapped 'linux_fixup_elf' to 'linux_elf_fixup' in amd64's declaration (only), while bringing this change over from git and encounteri
Make linuxulator fn declaration match definition
I accidentally swapped 'linux_fixup_elf' to 'linux_elf_fixup' in amd64's declaration (only), while bringing this change over from git and encountering a conflict.
show more ...
|
#
dc858467 |
| 19-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Rename linuxulator functions with linux_ prefix
It's preferable to have a consistent prefix. This also reduces differences between the three linux*_sysvec.c files.
Sponsored by: Turing Robotic Ind
Rename linuxulator functions with linux_ prefix
It's preferable to have a consistent prefix. This also reduces differences between the three linux*_sysvec.c files.
Sponsored by: Turing Robotic Industries Inc.
show more ...
|
#
9bec2ea6 |
| 19-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
linux*_sysvec.c: rationalize whitespace and comments
There's a fair amount of duplication between MD linuxulator files. Make indentation and comments consistent between the three versions of linux_s
linux*_sysvec.c: rationalize whitespace and comments
There's a fair amount of duplication between MD linuxulator files. Make indentation and comments consistent between the three versions of linux_sysvec.c to reduce diffs when comparing them.
Sponsored by: Turing Robotic Industries Inc.
show more ...
|
#
6e481f83 |
| 16-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Share a single bsd-linux errno table across MD consumers
Three copies of the linuxulator linux_sysvec.c contained identical BSD to Linux errno translation tables, and future work to support other ar
Share a single bsd-linux errno table across MD consumers
Three copies of the linuxulator linux_sysvec.c contained identical BSD to Linux errno translation tables, and future work to support other architectures will also use the same table. Move the table to a common file to be used by all. Make it 'const int' to place it in .rodata.
(Some existing Linux architectures use MD errno values, but x86 and Arm share the generic set.)
This change should introduce no functional change; a followup will add missing errno values.
MFC after: 3 weeks Sponsored by: Turing Robotic Industries Inc. Differential Revision: https://reviews.freebsd.org/D14665
show more ...
|
#
7b194b3d |
| 14-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Remove stray ; at end of linux_vdso_deinstall()
|
#
a95659f7 |
| 13-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Use C99 boolean type for translate_osrel
Migrate to modern types before creating MD Linuxolator bits for new architectures.
Reviewed by: cem Sponsored by: Turing Robotic Industries Inc. Differentia
Use C99 boolean type for translate_osrel
Migrate to modern types before creating MD Linuxolator bits for new architectures.
Reviewed by: cem Sponsored by: Turing Robotic Industries Inc. Differential Revision: https://reviews.freebsd.org/D14676
show more ...
|
#
4ba25759 |
| 13-Mar-2018 |
Ed Maste <emaste@FreeBSD.org> |
Apply some style(9) to Linuxulator linux_sysvec.c comments
|
#
eae594f7 |
| 22-Feb-2018 |
Ed Maste <emaste@FreeBSD.org> |
Correct proper nouns in the Linuxulator
- Capitalize Linux - Spell FreeBSD out in full - Address some style(9) on changed lines
Sponsored by: Turing Robotic Industries Inc.
|
#
132f90c6 |
| 05-Feb-2018 |
Ed Maste <emaste@FreeBSD.org> |
Linuxolator whitespace cleanup
A version of each of the MD files by necessity exists for each CPU architecture supported by the Linuxolator. Clean these up so that new architectures do not inherit
Linuxolator whitespace cleanup
A version of each of the MD files by necessity exists for each CPU architecture supported by the Linuxolator. Clean these up so that new architectures do not inherit whitespace issues.
Clean up shared Linuxolator files while here.
Sponsored by: Turing Robotic Industries Inc.
show more ...
|
#
cd76ee1e |
| 27-Nov-2017 |
Fedor Uporov <fsu@FreeBSD.org> |
Remap ENOATTR to ENODATA in the linuxulator. In the linux ENOADATA is frequently #defined as ENOATTR. The change is required for an xattrs support implementation.
MFC after: 1 week Discussed with: n
Remap ENOATTR to ENODATA in the linuxulator. In the linux ENOADATA is frequently #defined as ENOATTR. The change is required for an xattrs support implementation.
MFC after: 1 week Discussed with: netchild Approved by: pfg
Differential Revision: https://reviews.freebsd.org/D13221
show more ...
|
#
c2c014f2 |
| 07-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r323559 through r325504.
|
#
0a8f81bc |
| 22-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r324837
While here, diff reduce some of the changes in sys/boot by moving MK_COVERAGE=no to sys/boot/Makefile.inc .
|
#
d95498d4 |
| 20-Oct-2017 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: avoid acquiring dt lock if possible (which is the common case)
Discussed with: kib MFC after: 1 week
|
Revision tags: release/10.4.0 |
|
#
0275f9db |
| 11-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r321383 through r322397.
|
#
d59ead01 |
| 03-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321970
|
#
46b37aa2 |
| 02-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321912
|
#
cd155b56 |
| 02-Aug-2017 |
Don Lewis <truckman@FreeBSD.org> |
Lower the amd64 shared page, which contains the signal trampoline, from the top of user memory to one page lower on machines with the Ryzen (AMD Family 17h) CPU. This pushes ps_strings and the stack
Lower the amd64 shared page, which contains the signal trampoline, from the top of user memory to one page lower on machines with the Ryzen (AMD Family 17h) CPU. This pushes ps_strings and the stack down by one page as well. On Ryzen there is some sort of interaction between code running at the top of user memory address space and interrupts that can cause FreeBSD to either hang or silently reset. This sounds similar to the problem found with DragonFly BSD that was fixed with this commit: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b48dd28447fc8ef62fbc963accd301557fd9ac20 but our signal trampoline location was already lower than the address that DragonFly moved their signal trampoline to. It also does not appear to be related to SMT as described here: https://www.phoronix.com/forums/forum/hardware/processors-memory/955368-some-ryzen-linux-users-are-facing-issues-with-heavy-compilation-loads?p=955498#post955498
"Hi, Matt Dillon here. Yes, I did find what I believe to be a hardware issue with Ryzen related to concurrent operations. In a nutshell, for any given hyperthread pair, if one hyperthread is in a cpu-bound loop of any kind (can be in user mode), and the other hyperthread is returning from an interrupt via IRETQ, the hyperthread issuing the IRETQ can stall indefinitely until the other hyperthread with the cpu-bound loop pauses (aka HLT until next interrupt). After this situation occurs, the system appears to destabilize. The situation does not occur if the cpu-bound loop is on a different core than the core doing the IRETQ. The %rip the IRETQ returns to (e.g. userland %rip address) matters a *LOT*. The problem occurs more often with high %rip addresses such as near the top of the user stack, which is where DragonFly's signal trampoline traditionally resides. So a user program taking a signal on one thread while another thread is cpu-bound can cause this behavior. Changing the location of the signal trampoline makes it more difficult to reproduce the problem. I have not been because the able to completely mitigate it. When a cpu-thread stalls in this manner it appears to stall INSIDE the microcode for IRETQ. It doesn't make it to the return pc, and the cpu thread cannot take any IPIs or other hardware interrupts while in this state." since the system instability has been observed on FreeBSD with SMT disabled. Interrupts to appear to play a factor since running a signal-intensive process on the first CPU core, which handles most of the interrupts on my machine, is far more likely to trigger the problem than running such a process on any other core.
Also lower sv_maxuser to prevent a malicious user from using mmap() to load and execute code in the top page of user memory that was made available when the shared page was moved down.
Make the same changes to the 64-bit Linux emulator.
PR: 219399 Reported by: nbe@renzel.net Reviewed by: kib Reviewed by: dchagin (previous version) Tested by: nbe@renzel.net (earlier version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D11780
show more ...
|
#
69ef36e3 |
| 01-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321829
|
#
0e34ba73 |
| 31-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321755
|