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.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233046 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232990:

Add the missing IPOIB option.

Sponsored by:	iXsystems, Inc.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233059 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232776:
Add brackets around bare '-1' used as the macro body.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233060 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232967:
Add PCI Id for the AMT SOL UART on G4x series Intel chipsets.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233061 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232973:
Fix indentation.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233062 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232777:
Optimize tls_get_addr_common().


git-svn-id: svn://svn.freebsd.org/base/stable/9@233063 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
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


git-svn-id: svn://svn.freebsd.org/base/stable/9@233076 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232785

Fix wrong asresp frame parsing in iwi_checkforqos().


git-svn-id: svn://svn.freebsd.org/base/stable/9@233077 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232780 and r232781:

  Fix whitespace.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233083 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC: r232315

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


git-svn-id: svn://svn.freebsd.org/base/stable/9@233084 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC: r232316

Update bridge(4) default values.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233087 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
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


git-svn-id: svn://svn.freebsd.org/base/stable/9@233099 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
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!)


git-svn-id: svn://svn.freebsd.org/base/stable/9@233108 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r226892,r228007,r228873,r230121,r232839: sh: Various testcases that
already work.


git-svn-id: svn://svn.freebsd.org/base/stable/9@233116 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
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>


git-svn-id: svn://svn.freebsd.org/base/stable/9@233119 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232483:

Clean up style(9) nits


git-svn-id: svn://svn.freebsd.org/base/stable/9@233120 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232466, r232469:
	Direct users to swapinfo and pstat from df

PR:		bin/165321
Approved by:	cperciva


git-svn-id: svn://svn.freebsd.org/base/stable/9@233139 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232501:
	ehci tunables are only available when kernel is compiled with USB_DEBUG

PR:		docs/163646
Approved by:	cperciva


git-svn-id: svn://svn.freebsd.org/base/stable/9@233141 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232506:
	Explicitly list dependency

PR:		misc/160463
Approved by:	cperciva


git-svn-id: svn://svn.freebsd.org/base/stable/9@233143 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232503:
	POSIX mandates that swab do nothing when len < 0

PR:		140690
Approved by:	cperciva


git-svn-id: svn://svn.freebsd.org/base/stable/9@233146 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f