8ec366ec manu Jan. 3, 2022, 3:32 p.m.
At the moment, you only have one single chance to read the fwctl
signature. At boot bhyve is in the state IDENT_WAIT. It's then
possible to switch to IDENT_SEND. After bhyve sends the signature,
it switches to REQ. From now on it's impossible to switch back to
IDENT_SEND to read the signature. For that reason, only a single
driver can read the signature. A guest can't use two drivers to
identify that fwctl is present. It gets even worse when using
OVMF. OVMF uses a library to access fwctl. Therefore, every single
OVMF driver would try to read the signature. Currently, only a
single OVMF driver accesses the fwctl. So, there's no issue with
it yet. However, no OS driver would have a chance to detect fwctl when
using OVMF because it's signature was already consumed by OVMF.

Reviewed by:    markj
MFC after:      2 weeks
Sponsored by:   Beckhoff Automation GmbH & Co. KG
Differential Revision:  https://reviews.freebsd.org/D31981
cgit
01f9362e manu Jan. 3, 2022, 3:32 p.m.
E.g. Framebuffers can require large space and BARs need to be aligned
by their size. If BARs aren't allocated by size, it'll cause much
fragmentation of the MMIO space. Reduce fragmentation by ordering
the BAR allocation on their size to reduce the risk of
OUT_OF_MMIO_SPACE issues.

Reviewed by:	markj
MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D28278
cgit
338a1be8 bz Jan. 3, 2022, 2:55 p.m.
Some passthru devices only support MSI instead of MSI-X. For those
devices the initialization of MSI-X table will fail. Re-add the
check erroneously removed in f1442847c9404d4bc5f5524a0c3362dd39cb14f9.

MFC after:	3 days
X-MFC with:	f1442847c9404d4bc5f5524a0c3362dd39cb14f9
PR:		260148
Reviewed by:	manu, bz
Differential Revision:	https://reviews.freebsd.org/D33728
cgit
b94ed3bc imp Jan. 3, 2022, 3 p.m.
With mips no longer supported, we can GC the substitution from here.

Sponsored by:		Netflix
cgit
ad0a6546 imp Jan. 3, 2022, 3 p.m.
Remove vestiges of arm big endian support. Also use the more proper
MACHINE_CPUARCH instead of MACHINE to test for that here.

This leaves powerpc as the only big endian arch.

Sponsored by:		Netflix
cgit
57707553 imp Jan. 3, 2022, 3 p.m.
Remove the enumeration of the big vs little endian platform names.

Sponsored by:		Netflix
cgit
69ee64c1 imp Jan. 3, 2022, 3 p.m.
Mips had a number of special cases that disabled features that didn't
work. Remove them all. However, retain the llvm mips bits because that
requires a lot more effort to unwind and will be done separately.

Sponsored by:		Netflix
cgit
8d619792 imp Jan. 3, 2022, 3 p.m.
Mips is no longer a supported target, remove it.

Sponsored by:		Netflix
cgit
9b93d758 imp Jan. 3, 2022, 3 p.m.
Remove the tweaks to the compiler, as well as additional command line
args to get the proper endian, word size and floating style.

Sponsored by:		Netflix
cgit
539d3220 imp Jan. 3, 2022, 3 p.m.
No longer need to care about mips32 binaries on mips64 for lib32
support.

Sponsored by:		Netflix
cgit
98e58025 imp Jan. 3, 2022, 3 p.m.
We no longer need to set the TLS model for mips64*.

Sponsored by:		Netflix
cgit
d889875b imp Jan. 3, 2022, 3 p.m.
We don't need to list all the 32-bit mips variants here anymore.

Sponsored by:		Netflix
cgit
aa70361d kp Jan. 3, 2022, 9:12 a.m.
Sponsored by:	Rubicon Communications, LLC ("Netgate")
cgit
9d406e08 kp Jan. 3, 2022, 8:50 a.m.
Extend the dnctl (dummynet config) tool to be able to read commands from
a file, just like ipfw already does.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D33627
cgit
9e891d43 jah Jan. 3, 2022, 3:52 a.m.
The implementation simply passes the text ref to the appropriate
underlying vnode.  Without this, the default [un]set_text
implementation will only manage the text ref on the unionfs vnode,
causing it to be out of sync with the underlying filesystems and
potentially allowing corruption of executable file contents.
On INVARIANTS kernels, it also readily produces a panic on process
termination because the VM object representing the executable mapping
is backed by the underlying vnode, not the unionfs vnode.

PR:	251342
Reviewed by:	kib
Differential Revision: https://reviews.freebsd.org/D33611
cgit