Improve the XHCI command timeout recovery handling code.

MFC after:	1 week
Remove daft KASSERT.
Cosmetic changes.
Replace the magic numbers with something more readable.
Add support for the MediaTek/Ralink RT5572 chipset.
Committed over the TP-LINK TL-WDN3200 (RT5572) on amd64 with WPA.

While here, add my copyright.
Regen.
Make the sysctl node read-only.

Approved by:	adrian (mentor)
Remove unnecessary includes and an unused softc variable.  While here apply
two minor style(9) fixes.

Approved by:	adrian (mentor)
Move the GPIOBUS_SET_PINFLAGS(..., ..., pin, GPIO_PIN_OUTPUT) to led(4)
control callback function.  This makes gpioled(4) works even if the pin
is accidentally set to an input.

Approved by:	adrian (mentor)
Fix the pin value reading on AM335x.  Because of the inverted logic it was
always returning '0' for all the reads, even for the outputs.  It is now
known to work with gpioiic(4) and gpioled(4).

Approved by:	adrian (mentor)
Tested on:	BBB
Although not strictly required to boot a 64MB board, bump
vm_max_virtual_address to be KERNVIRTADDR + 256MB. This allows some
future shock protection since the KVA requirements have gone up since
the unmapped changes have gone in, as well as preventing us from
overlapping with the hardware devices, which we map at 0xd0000000,
which we'd hit with anything more than 85MB...

MFC after:	3 days
mdoc: remove EOL whitespace.
Do not force to run atexit handlers, which text comes from a dso
owning the handle passed to __cxa_finalize() but which are registered
by other dso, when the process is inside exit(3).

Running them makes the destruction order wrong, and there is hope that
such destructors would not call dlclose(3), since it is pointless at
this stage of the process existence.

The change effectively disables the r211706 after the exit(3) is
called.

Reported and tested by:	Michael Gmelin <freebsd@grem.de>
Analyzed by:	dim
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Build an allocator for the aligned memory on top of the rtld-private
malloc.

Reviewed by:	kan
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
For variant II static TLS, properly align tls segments.  Pre-calculate
the max required alignment for the static tls segments, and honor it
when carving the pieces for next module, from the static space.  Use
aligned allocator to get properly-aligned dynamic blocks.

Reported by:	dt71@gmx.com
Reviewed by:	kan
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Disallow optimizations which potentially remove boundary checks
for signed values due to a compiler authors considering integer
overflow as impossible.

The change follows suit of other projects taking the same measure.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Fix compilation when the "USB_DEBUG" option is set.
sh: Split set -x output into a separate function.
Two new cxgbetool subcommands to set up scheduler classes and to bind
them to NIC queues.

Obtained from:	Chelsio
Fix td_frame flags for i386.

Submitted by:	jilles

Sponsored by:	The FreeBSD Foundation