MFC r267060:
Allow shared locking for the tmpfs vnode.
MFC r267240:
Resolve a deadlock setting the USB configuration index from userspace
on USB HUBs by moving the code into the USB explore threads. The
deadlock happens because child devices of the USB HUB don't have the
expected reference count when called from outside the explore
thread. Only the HUB device itself, which the IOCTL interface locks,
gets the correct reference count.
MFC r267066 and r267041:
Fixes for the RSU driver:
- The R92S_TCR register is an 8-bit register. Don't access it like a
16-bit register.
- Disable parsing the delete station event, due to many false events.
- Ensure that there is only one transfer queue for each endpoint, so
to hal packets transmitted don't get out of order.
- Properly align temporary buffer to 32-bit.
- Add an extra parenthesis to make expression clear.
- Range check the association ID received from hardware.
MFC r267109, r267179: Update vt(4) "Terminus BSD Console" font

  "Terminus BSD Console" is a derivative of Terminus that is provided
  by Mr. Dimitar Zhekov under the 2-clause BSD license for use by the
  FreeBSD vt(4) console.

  Clarify statement on font origin
MFC r267252, r267253:

  - Remove an unnecessary variable reassignment
  - Fix TSO support on VMware Fusion
MFC 260239,261268,265058:
Expand the support for PCI INTx interrupts including providing interrupt
routing information for INTx interrupts to I/O APIC pins and enabling
INTx interrupts in the virtio and AHCI backends.
MFC 261229:
o Fix typo, sort .Xrs.

PR:		docs/186191
MFC 261503,264501:
Emulate the byte move and zero/sign extend instructions.
MFC 261504:
Add support for FreeBSD/i386 guests under bhyve.
MFC 262311: Fix virtio spec URL.
MFC r267090:

Correct the document date for last change.
Document r266890, pmcstat(8) '-l' flag.

Sponsored by:	The FreeBSD Foundation
MFC r267326, r267327:

r267326:
  Add empty pkg-stage file to CLEANFILES if WITH_DVD=1.

r267327:
  Fix indentation level.

Sponsored by:	The FreeBSD Foundation
MFC 266263,266551,266552:
- Add definitions for more structured extended features as well as
  XSAVE Extended Features for AVX512 and MPX (Memory Protection Extensions).
- Don't permit users to request a subset of the AVX512 or MPX xsave masks.
Fix a typo in note for r266890, pmcstat(8)

Sponsored by:	The FreeBSD Foundation
MFC 261638,262144,262506,266765:
Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and
XSAVE-enabled features like AVX.
- Store a per-cpu guest xcr0 register and handle xsetbv VM exits by emulating
  the instruction.
- Only expose XSAVE to guests if XSAVE is enabled in the host.  Only expose
  a subset of XSAVE features currently supported by the guest and for which
  the proper emulation of xsetbv is known.  Currently this includes X87, SSE,
  AVX, AVX-512, and Intel MPX.
- Add support for injecting hardware exceptions into the guest and use this
  to trigger exceptions in the guest for invalid xsetbv operations instead
  of potentially faulting in the host.
- Queue pending exceptions in the 'struct vcpu' instead of directly updating
  the processor-specific VMCS or VMCB. The pending exception will be delivered
  right before entering the guest.
- Rename the unused ioctl VM_INJECT_EVENT to VM_INJECT_EXCEPTION and restrict
  it to only deliver x86 hardware exceptions. This new ioctl is now used to
  inject a protection fault when the guest accesses an unimplemented MSR.
- Expose a subset of known-safe features from leaf 0 of the structured
  extended features to guests if they are supported on the host including
  RDFSBASE/RDGSBASE, BMI1/2, AVX2, AVX-512, HLE, ERMS, and RTM.  Aside
  from AVX-512, these features are all new instructions available for use
  in ring 3 with no additional hypervisor changes needed.
MFC 262615,262624:
Workaround an apparent bug in VMWare Fusion's nested VT support where it
triggers a VM exit with the exit reason of an external interrupt but
without a valid interrupt set in the exit interrupt information.
MFC r263191:
Add libusb_log_level enum.
MFC: r267185

Minor improvements.
MFC r267162: ktrace: Use designated initializers for the data_lengths array.

In the .o file, this only changes some line numbers (stable/10 amd64)
because element 0 is no longer explicitly initialized.

This should make bugs like FreeBSD-SA-14:12.ktrace less likely.

Discussed with:	des