MFC r232668:

  Use bus_get_dma_tag() to inherit the PCI bus' 4G boundary constraint.
MFC 226340,226340:
Use queue(3) macros instead of home-rolled versions in several places in
the INET6 code.  This includes retiring the 'ndpr_next' and 'pfr_next'
macros.
MFC r232990:

Add the missing IPOIB option.

Sponsored by:	iXsystems, Inc.
MFC r232776:
Add brackets around bare '-1' used as the macro body.
MFC r232967:
Add PCI Id for the AMT SOL UART on G4x series Intel chipsets.
MFC r232973:
Fix indentation.
MFC r232777:
Optimize tls_get_addr_common().
MFC r227430:
On i386, fbt probes are implemented by writing an invalid opcode over
certain instructions in a function prologue or epilogue.  DTrace has a
hook into the invalid opcode fault handler that checks whether the fault
was due to an probe and if so, runs the DTrace magic.

Upon returning from an invalid opcode fault caused by a probe, DTrace must
emulate the instruction that was replaced with the invalid opcode and then
return control to the instruction following the invalid opcode.

There were a pair of related bugs in the emulation for the leave
instruction.  The leave instruction is used to pop off a stack frame prior
to returning from a function.  The emulation for this instruction must
move the trap frame for the invalid opcode fault down the stack to the
bottom of the stack frame that is being removed, and then execute an iret.

At two points in this process, the emulation code was storing values above
the current value of the stack pointer.  This opened up a window in which
if we were two take an interrupt, the trap frame for the interrupt would
overwrite the values stored on the stack, causing the system to panic
later.

The first bug was that at one point the emulation code saves the new value
for $esp above the current stack pointer value.  The fix is to save this
value instead inside of the original trap frame.  At this point we do
not need the original trap frame so this is safe.

The second bug is that when the emulate code loads $esp from the stack, it
points part-way through the new trap frame instead of at its beginning.
The emulation code adjusts the stack pointer to the correct value
immediately afterwards, but this still leaves a one instruction window in
which an interrupt would corrupt this trap frame.  Fix this by adjusting
the stack frame value before loading it into $esp.

This fixes panics in invop_leave on i386 when using fbt return probes.

Ok'd by: rstone
MFC r232785

Fix wrong asresp frame parsing in iwi_checkforqos().
MFC r232780 and r232781:

  Fix whitespace.
MFC: r232315

Use a more appropriate default for the maximum number of addresses in the
bridge forwarding table.
MFC: r232316

Update bridge(4) default values.
MFC 232322:
  Add a WITH_CLANG_IS_CC option for src.conf(5), disabled by default, that
  installs clang as /usr/bin/cc, /usr/bin/c++ and /usr/bin/cpp.

  Note this does *not* disable building and installing gcc, which will
  still be available as /usr/bin/gcc, /usr/bin/g++ and /usr/bin/gcpp.  If
  you want to disable gcc completely, you must use WITHOUT_GCC.

MFC 232323:
  Regenerate src.conf(5) after r232322.

MFC 232477:
  In r232322, I forgot one case where a check for MK_CLANG_IS_CC was
  needed, in sys/conf/kern.pre.mk.  Add it now.

MFC 232522:
  Fix a thinko in r232322, where gcc (and its tools) are not built during
  the cross-tools stage, if CC=clang and WITH_CLANG_IS_CC is not set.

  This causes no 'cc' to be installed in the temporary cross-tools tree,
  making lint fall over later in the build, because it ignores ${CC} and
  attempts to run 'cc' anyway.

  To fix this, only skip building gcc during cross-tools, if WITHOUT_GCC
  is set, or if WITH_CLANG_IS_CC is set.

  Pointy hat to:	dim
MFC r228322,228330,228477,228495,228562,228564,228859,228897,229574,230277:

  Bring <sys/cdefs.h> in sync with FreeBSD HEAD:

  - Add an __alignof() for non-GCC and GCC < 2.95.
  - Attempt to implement the following C11 keywords: _Alignas(),
    _Alignof(), _Noreturn, _Static_assert() and _Thread_local.
  - Add __generic(), which allows us to do _Generic() in a portable
    fashion.
  - Improve __offsetof(), __DECONST(), __DEVOLATILE() and __DEQUALIFY()
    to use __uintptr_t and __size_t to make them work with less
    header prerequisites.
  - Add __has_feature(), __has_include() and __has_builtin() to make it
    easier to test against Clang features.

Tested by:	linimon@'s exp-run (thanks!)
MFC r226892,r228007,r228873,r230121,r232839: sh: Various testcases that
already work.
MFC r232994:
- Fix an erroneous invocation of the editline.
- Fix wrong scaling in the bc.library.
- Let length(0.000) conform to what gnu bc does.

PR:	bin/159227
Submitted by:	AIDA Shinra <shinra at j10n dot org>
MFC r232483:

Clean up style(9) nits
MFC r232466, r232469:
	Direct users to swapinfo and pstat from df

PR:		bin/165321
Approved by:	cperciva
MFC r232501:
	ehci tunables are only available when kernel is compiled with USB_DEBUG

PR:		docs/163646
Approved by:	cperciva
MFC r232506:
	Explicitly list dependency

PR:		misc/160463
Approved by:	cperciva