MFC: r232312

Fix order of arguments to lseek().
MFC r232048:
Allow the parent to gather the exit status of the children reparented
to the debugger.  When reparenting for debugging, keep the child in
the new orphan list of old parent.  When looping over the children in
kern_wait(), iterate over both children list and orphan list to search
for the process by pid.

MFC r232104:
Restore the return statement erronously removed in the r232048.

In order to keep stable/9 KBI, the p_dbg_child member of struct proc
was replaced with padding.
MFC r232376:
Add ahci(4) and siis(4) to the hardware notes.
MFC r232380:
Fix names of some Marvell SATA chips. It looks like chips with proprietary
interface supported by mvs(4) are 88SX, while AHCI-like chips are 88SE.

PR:		kern/165271
MFC r232350:

Since r199137 namei() returns EINVAL for DELETE and RENAME operations if
the last component of the pathname is ".".
Jail-mount MFC:	r231265,r231267,r231269,r232059,r232186,r232247,
		r232278,r232307,r232342

MFC r231265:
Introduce the "ruleset=number" option for devfs(5) mounts.
Add support for updating the devfs mount (currently only changing the
ruleset number is supported).
Check mnt_optnew with vfs_filteropt(9).

This new option sets the specified ruleset number as the active ruleset
of the new devfs mount and applies all its rules at mount time. If the
specified ruleset doesn't exist, a new empty ruleset is created.

MFC r231267 [1]:
Add support for mounting devfs inside jails.

A new jail(8) option "devfs_ruleset" defines the ruleset enforcement for
mounting devfs inside jails. A value of -1 disables mounting devfs in
jails, a value of zero means no restrictions. Nested jails can only
have mounting devfs disabled or inherit parent's enforcement as jails are
not allowed to view or manipulate devfs(8) rules.

Utilizes new functions introduced in r231265.

MFC r231269:
Allow mounting nullfs(5) inside jails.

This is now possible thanks to r230129.

MFC r232059 [1]:
To improve control over the use of mount(8) inside a jail(8), introduce
a new jail parameter node with the following parameters:

allow.mount.devfs:
	allow mounting the devfs filesystem inside a jail

allow.mount.nullfs:
	allow mounting the nullfs filesystem inside a jail

Both parameters are disabled by default (equals the behavior before
devfs and nullfs in jails). Administrators have to explicitly allow
mounting devfs and nullfs for each jail. The value "-1" of the
devfs_ruleset parameter is removed in favor of the new allow setting.

MFC r232186:
Analogous to r232059, add a parameter for the ZFS file system:

allow.mount.zfs:
	allow mounting the zfs filesystem inside a jail

This way the permssions for mounting all current VFCF_JAIL filesystems
inside a jail are controlled wia allow.mount.* jail parameters.

Update sysctl descriptions.
Update jail(8) and zfs(8) manpages.

MFC r232247:
mdoc(7) stype - start new sentences on new line

MFC r232278 [1]:
Add procfs to jail-mountable filesystems.

MFC r232291:
Bump .Dd to reflect latest update

MFC r232307:
Add "export" to devfs_opts[] and return EOPNOTSUPP if called with it.
Fixes mountd warnings.

MFC r232342 (jamie) [2]:
Handle the case where a boolean parameter is also a node.

PR:	bin/165515 [2]
Reviewed by:	jamie [1]
MFC r230984:

 Whenever a new kernel thread is spawned, explicitly clear any CPU affinity
 set on the new thread.  This prevents the thread from inadvertently
 inheriting affinity from a random sibling.
MFC r232101: style(9).
MFC r232102: Exit with proper status when wake() fails.

PR:		bin/153527
Merge r232250 from head:

  Correct capitalization of "Hz" in user-visible text (manpages, printf(),
  etc).
MFC r232471:
	Document the [n]eei and [n]bacc options

PR:		docs/165009
Approved by:	bcr
MFC r230130, r230181, r230312, r230326, r230331, r230451, r230465, r230488,
r230507, r230511, r230513, r230532, r230537, r230551, r230554, r230571,
r230574, r230585, r230641, r230768, r230807, r231024:
Sync snd_hda(4) driver with HEAD.

This includes major code refactoring, HDMI support, new volume control,
automatic recording source selection, runtime reconfigureation, support
for more then 4 PCM devices on controller, multichannel recording,
additional playback/record streams, higher bandwidths support, more
informative device names and many other things.

Sponsored by:	iXsystems, Inc.
MFC r232694:

Document P_ORPHAN.
MFC r232178:
Remove apparently redundand checks for socket so_proto being non-NULL
from sosetopt() and sogetopt().
MFC r232179:
Add SO_PROTOCOL/SO_PROTOTYPE socket SOL_SOCKET-level option to get the
socket protocol number.

PR:	kern/162352
MFC r232180:
Document SO_PROTOCOL socket option.
Merge r226862 from head:
   Remove example for linking /dev/vga to /dev/ttyv0, this hasn't been
   required since X version 4.3.0.

PR:		conf/161847
Submitted by:	eadler
MFC r232572:
Use hand-made isspace1() macro which is enough to detect spaces in
libmap.conf.

MFC r232590 (by pluknet):
Rename isspace1() macro to the more appropriate rtld_isspace().
MFC r232240:
Currently, the debugger attached to the process executing vfork() does
not get syscall exit notification until the child performed exec of
exit.  Swap the order of doing ptracestop() and waiting for P_PPWAIT
clearing, by postponing the wait into syscallret after ptracestop()
notification is done.
MFC r232448:
Make sure that the USB system suspend event is executed synchronously
and not asynchronously.