Restore the entropy gathering from the m_data pointer value, not the
m_data payload.

After talking with markm/bde, this is what markm actually intended.
Don't create a distinct free page pool for segregating allocations that are
accessed through the direct map unless the kernel configuration actually
includes a direct map.  Only a few configurations do, and for the rest the
unnecessary free page pool is a small pessimization.

Tested by:	zbb
MFC after:	6 weeks
circumvent a couple of warnings:
- on line 2550 intentionally overriding a const qualifier
- on line 3219 intentionally converting uint64_t to a pointer
Changes from upstream to improve compilation when INET or INET6
or none of them is defined.

MFC after: 3 days
Arrange for uart_cpu_fdt's probe() routine to use the same table of compat
strings as uart_bus_fdt's probe().

The bus code uses ofw_bus_search_compatible() and that's not an option in
cpu (console) code -- it runs way before the ofw routines are usable.  So
the console probe has its own loop to search the table, but now at least
there's only one table to be maintained when new devices are added.
Add a missing register definition.
Bugfix:  the attach routine needs to use the same table of fdt compat
strings that the probe routine used.
Unlock the lock before destroying it.
This issue was reported by Andrew Galante.

MFC after: 3 days
Remove utxrm(8). This command has been superseded by 'utx rm'.
Correct alignment.
Remove the WITH_LIBICONV_COMPAT hack that seems to do more harm than
good.  This caused libc to spoof the ports libiconv namespace and
provide a colliding libiconv.so.3 to fool rtld.  This should have
been removed some time ago.
Update libreadline with vendor patches 8-13 as fetched from:
ftp://ftp.cwru.edu/pub/bash/readline-5.2-patches/

MFC after:	2 weeks
This library uses macros to define fprintf behvavior for several object types
The compiler will see the non-string literal arguments to the fprintf calls and
omit warnings for them. Quiese these warnings in contrib code:

cddl/contrib/opensolaris/lib/libnvpair/libnvpair.c:743:12: warning: format
  string is not a string literal (potentially insecure) [-Wformat-security]
  ARENDER(pctl, nvlist_array, nvl, name, val, nelem);
Add description of two EHCI PCI IDs.

Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>