Pull in r3828 from upstream (remove dead code, fix prototypes)
Remove an unnecessary level of indirection for an argument.
This simplifies the code and should avoid the clang sparc
port from generating an abort() call.

Requested by:	rdivacky
Submitted by:	jhb
MFC after:	2 weeks
Allow the guest to read the TSC via MSR 0x10.
NetBSD/amd64 does this, as does Linux on AMD CPUs.

Reviewed by:	neel
MFC after:	3 weeks
Exposed debug.acpi.max_tasks and debug.acpi.max_threads via sysctls so their
values can be viewed.
Add the ability to set a minimum ashift size for ZFS pool creation or root level
vdev addition.

Change max_auto_ashift sysctl to error when an invalid value is requested instead
of silently limiting it.
Eliminated optarg global being used outside of the function which called getopt

MFC after:	2 weeks
Silence compiler warning due to missing return in idmap_id_to_numeric_domain_rid
Add some new ATA defines for SATA 3.1 spec
Add a capability to indicate that the net80211 stack should be doing
RUN->SLEEP->RUN transitions for station mode sleep management.
Begin fleshing out support for net80211 provided (legacy) sleep management.

This transitions the VAP in and out of SLEEP state based on:

* whether there's been an active transmission in the last (hardcoded) 500ms;
* whether the TIM from the AP indicates there is data available.

It uses the beacon reception to trigger the active traffic check.
This way there's no further timer running to wake up the CPU
from its own sleep states.

Right now the VAP isn't woken up for multicast traffic - mostly because
the only NIC I plan on doing this for right will auto wakeup and stay
awake for multicast traffic indicated in the TIM.  So I don't have
to manually keep the hardware awake.

This doesn't do anything if the NIC doesn't advertise it implements
the new SWSLEEP capability AND if the VAP doesn't have powersave
enabled.

It also doesn't do much with ath(4) as it doesn't currently implement
the SLEEP state.

Tested:

* AR5416, STA mode (with local ath(4) changes)
Override the parallel make target to use all CPUs.
No need for true here, remove it.

Sponsored by: Netflix
Introduce NANO_PKG_META_BASE to allow moving where metadata for
packages is stored.

Sponsored by: Netflix
Add a routine for easy workaround any umount issues w/o hacking
nanobsd.sh.
Switch to using pkgng for all package management. Add necessary
bootstrap step for pkg. Fix a bunch of annoying little nits. We can
now build fat or thin images successfully for the dhcpd config.
Hoist CR convenience function up from dhcpd config and use
appropriately in nanobsd.sh. Also create CR0 for a errors allowed
version.
Include bsd.opts.mk before Makefile.inc so Makefile.inc can do things
based on MK_xxx symbols. Continue to include bsd.own.mk after
Makefile.inc to preserve current behavior.
Add information about supported NCQ functionality to camcontrol identify.

MFC after:	2 weeks
Fix panic by adding mtx_assert() to urtwn_init_locked() and
urtwn_stop_locked().

Tested by:	Anthony Jenkins <scoobi_doo at yahoo dot com>
Update the date that was missed in r263259