MFC 249767:
- Some BIOSes use an Extended IRQ resource descriptor in _PRS for a link
  that uses non-ISA IRQs but use a plain IRQ resource in _CRS.  However,
  a non-ISA IRQ can't fit into a plain IRQ resource.  If we encounter a
  link like this, build the resource buffer from _PRS instead of _CRS.
- Set the correct size of the end tag in a resource buffer.
MFC	r244090, r250945

Changes to resolve races in bpfread() and catchpacket() that, at worst,
cause kernel panics.

Add a flag to the bpf descriptor to indicate whether the hold buffer
is in use. In bpfread(), set the "hold buffer in use" flag before
dropping the descriptor lock during the call to bpf_uiomove().
Everywhere else the hold buffer is used or changed, wait while
the hold buffer is in use by bpfread(). Add a KASSERT in bpfread()
after re-acquiring the descriptor lock to assist uncovering any
additional hold buffer races.

While waiting for the bpf hold buffer to become idle, check
the return value from mtx_sleep() and exit bpfread() on
errors such as EINTR.
MFC 250053:
Only cleanup CMI-related state on detach if the system supports CMI.
MFC 250220:
Fix FIONREAD on regular files.  The computed result was being ignored and
it was being passed down to VOP_IOCTL() where it promptly resulted in
ENOTTY due to a missing else for the past 8 years.  While here, use a
shared vnode lock while fetching the current file's size.
MFC r251490:

Properly set curvnet context in lagg_port_setlladdr() task handler.

Reported by:	Nikos Vassiliadis <nvass gmx.com>
Submitted by:	zec
Tested by:	Nikos Vassiliadis <nvass gmx.com>
MFC	r251677:

Relax some unnecessary unsigned type changes in ext2fs.

While the changes in r245820 are in line with the ext2 spec,
the code derived from UFS can use negative values so it is
better to relax some types to keep them as they were, and
somewhat more similar to UFS. While here clean some casts.
MFC r251580:

- Add file system type number (vfc_typenum) in the list.  This is useful
  for debugging when changing vfs.typenumhash configuration.
- Refactor fmt_flags().
MFC r245177,r245346,r246283,r251650:

- Set WITHOUT_SVN=yes for textproc/docproj.
- Add CHECKSUM.* support in Makefile.
- Use ln -fs to create a symlink.
- Remove pkgadd for docports.
- Use WITHOUT_JADETEX=yes instead of WITH_JADETEX=no.
- Add {WORLD,KERNEL}_FLAGS to [BTWK]MAKE.
- Use makefs(8) and gpart(8) for sparc64 ISO image.
- Add publisher option to makefs(8).
- Add missing copyright notice.
- ISO 9660 specification allows only "d-characters" and "a-characters"
  in the Volume Descriptor (section 7.4).  In short, uppercase
  alphanumeric + some symbols only.  While the makefs utility automatically
  converts the characters, $LABEL should be consistent in the scripts.

These fix a specification violation in 9.X iso9660 images, and cdrtools
dependency and endianness issue for sparc64 release media.  The label is
now in uppercase letters only in all platforms.
Remove obsolete translations.
MFC r250746 and r250805:

- Update the release notes to DocBook 4.5 XML to build with the
  updated documentation tree
- Fix build after doc/projects/xml-tools integration.
MFC r251600:
  Avoid unnecessary controller reinitialization by checking driver
  running state.  fxp(4) requires controller reinitialization for the
  following cases.
   o RX lockup condition on i82557
   o promiscuous mode change
   o multicast filter change
   o WOL configuration
   o TSO/VLAN hardware tagging/checksum offloading configuration
   o MAC reprogramming after speed/duplex/flow-control resolution
   o Any events that result in MAC reprogramming(link UP/DOWN,
     remote link partner's restart of auto-negotiation etc)
   o Microcode loading/unloading
  Apart from above cases which come from hardware limitation, upper
  stack also blindly reinitializes controller whenever an IP address
  is assigned. After r194573, fxp(4) no longer needs to reinitialize
  the controller to program multicast filter after upping the
  interface. So keeping track of driver running state should remove
  all unnecessary controller reinitializations.

  This change will also address endless controller reinitialization
  triggered by dhclient(8).
MFC r251322:
Instead of yielding, pause for 1 tick when donating the current thread
time to the owner of the vnode lock while iterating over the free vnode
list.
MFC r250013 (by davidxu):
Remove extra code for SA_RESETHAND, it is not needed because kernel has
already done this.

Approved by:	davidxu
MFC r251284:
Unify the code of check_deferred_signal() for all architectures.
MFC r251563:
 Add freebsd-update.conf(5) to OptionalObsoleteFiles.inc

PR:		179437
Approved by:	kib (mentor)
MFC r249205:
Replicate r245306 from SCSI to ATA.  The problem didn't appear so far,
covered by multilevel freeze mechanism, but it is better to be safe.
MFC r250298, r250301:
Fix byte order of ATA WWN when converting it to SCSI LUN ID.
MFC r251654, r251664:
Make CAM return and GEOM DISK pass through new GEOM::lunid attribute.

SPC-4 specification states that serial number may be property of device,
but not a specific logical unit.  People reported about FC storages using
serial number in that way, making it unusable for purposes of LUN multipath
detection.  SPC-4 states that designators associated with logical unit from
the VPD page 83h "Device Identification" should be used for that purpose.
Report first of them in the new attribute in such preference order: NAA,
EUI-64, T10 and SCSI name string.

While there, make GEOM DISK properly report GEOM::ident in XML output also
using d_getattr() method, if available.  This fixes serial numbers reporting
for SCSI disks in `geom disk list` output and confxml.
MFC r251661:
Replicate r242422 from ata(4) to mvs(4):
Only four specific ATA PIO commands transfer several sectors per DRQ block
(interrupt).  All other ATA PIO commands transfer one sector or 512 bytes
at one time.  Hardcode these exceptions in mvs(4).
This fixes timeout of READ LOG EXT command used by `smartctl -x /dev/adaX`.
Also it fixes timeout of DOWNLOAD_MICROCODE on `camcontrol fwdownload`.
MFC r251659:
Use CAM_DIR_NONE for requests without data.
Wrong values there confuse some drivers.