* Remove the AR7240 register defines and reuse the AR8x16 defines.
* Include a new register define to represent "disable port mirroring
  to CPU port".

Obtained from:	Patrick Kelsey <kelsey@ieee.org>


git-svn-id: svn://svn.freebsd.org/base/head@235325 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
mdoc: list items should be specified with the It macro.


git-svn-id: svn://svn.freebsd.org/base/head@235326 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
mdoc: end list context with El.


git-svn-id: svn://svn.freebsd.org/base/head@235327 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
zfsboot/zfsloader: support accessing filesystems within a pool

In zfs loader zfs device name format now is "zfs:pool/fs",
fully qualified file path is "zfs:pool/fs:/path/to/file"
loader allows accessing files from various pools and filesystems as well
as changing currdev to a different pool/filesystem.

zfsboot accepts kernel/loader name in a format pool:fs:path/to/file or,
as before, pool:path/to/file; in the latter case a default filesystem
is used (pool root or bootfs).  zfsboot passes guids of the selected
pool and dataset to zfsloader to be used as its defaults.

zfs support should be architecture independent and is provided
in a separate library, but architectures wishing to use this zfs support
still have to provide some glue code and their devdesc should be
compatible with zfs_devdesc.
arch_zfs_probe method is used to discover all disk devices that may
be part of ZFS pool(s).

libi386 unconditionally includes zfs support, but some zfs-specific
functions are stubbed out as weak symbols.  The strong definitions
are provided in libzfsboot.
This change mean that the size of i386_devspec becomes larger
to match zfs_devspec.

Backward-compatibility shims are provided for recently added sparc64
zfs boot support.  Currently that architecture still works the old
way and does not support the new features.

TODO:
- clear up pool root filesystem vs pool bootfs filesystem distinction
- update sparc64 support
- set vfs.root.mountfrom based on currdev (for zfs)

Mid-future TODO:
- loader sub-menu for selecting alternative boot environment

Distant future TODO:
- support accessing snapshots, using a snapshot as readonly root

Reviewed by:	marius (sparc64),
		Gavin Mu <gavin.mu@gmail.com> (sparc64)
Tested by:	Florian Wagner <florian@wagner-flo.net> (x86),
		marius (sparc64)
No objections:	fs@, hackers@
MFC after:	1 month


git-svn-id: svn://svn.freebsd.org/base/head@235329 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
zfs boot: try to set vfs.root.mountfrom from currdev as a fallback

This way with the new zfsloader there is no need to explicitly set zfs
root filesystem either via vfs.root.mountfrom or fstab.
It should be automatically picked up from currdev which is by default
is set from bootfs.

Tested by:	Florian Wagner <florian@wagner-flo.net> (x86)
MFC after:	1 month


git-svn-id: svn://svn.freebsd.org/base/head@235330 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add more obsolete files.


git-svn-id: svn://svn.freebsd.org/base/head@235331 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
PR# 165923 reported intermittent write failures for dirty
memory mapped pages being written back on an NFS mount.
Since any thread can call VOP_PUTPAGES() to write back a
dirty page, the credentials of that thread may not have
write access to the file on an NFS server. (Often the uid
is 0, which may be mapped to "nobody" in the NFS server.)
Although there is no completely correct fix for this
(NFS servers check access on every write RPC instead of at
open/mmap time), this patch avoids the common cases by
holding onto a credential that recently opened the file
for writing and uses that credential for the write RPCs
being done by VOP_PUTPAGES() for both NFS clients.

Tested by:	Joel Ray Holveck (joelh at juniper.net)
PR:		kern/165923
Reviewed by:	kib
MFC after:	2 weeks


git-svn-id: svn://svn.freebsd.org/base/head@235332 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add two functions xpt_batch_start() and xpt_batch_done() to the CAM SIM KPI
to allow drivers to handle request completion directly without passing
them to the CAM SWI thread removing extra context switch.
Modify all ATA/SATA drivers to use them.

Reviewed by:	gibbs, ken
MFC after:	2 weeks


git-svn-id: svn://svn.freebsd.org/base/head@235333 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Convert the if_vr(4) driver model to the interrupt filter model and use
a taskqueue.

This gives a 16% performance improvement under high load on slow systems,
especially when vr shares an interrupt with another device, which is
common with the Alix x86 boards.
Contrary to the other devices, I left the interrupt processing for loop
in because there was no significant difference in performance and this
should avoid enqueuing more taskqueues unnecessarily.
We also decided to move the vr_start_locked() call inside the for loop
because we found out that it helps performance since TCP ACKs now have a
chance to go out quicker.

Reviewed by:	yongari (older version, same idea)
Discussed with:	yongari, jhb


git-svn-id: svn://svn.freebsd.org/base/head@235334 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
mdoc: remove redundant Pp and end a display block with Ed.


git-svn-id: svn://svn.freebsd.org/base/head@235335 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
mdoc: remove redundant paragraph macro.


git-svn-id: svn://svn.freebsd.org/base/head@235336 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
General mdoc(7) and typo fixes.

PR:		167804
Submitted by:	Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after:	3 days


git-svn-id: svn://svn.freebsd.org/base/head@235337 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add opt_wlan.h includes, so IEEE80211_* configuration changes are
correctly picked up.

Noticed by:	Justin Hibbits, whilst debugging @ BSDCan


git-svn-id: svn://svn.freebsd.org/base/head@235338 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove tab from kernel configuration option. This is consistent with the rest
of our manual pages.


git-svn-id: svn://svn.freebsd.org/base/head@235340 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Regenerate src.conf(5) for mdoc(7) and typo corrections.

PR:		167804
Submitted by:	Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after:	3 days


git-svn-id: svn://svn.freebsd.org/base/head@235342 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
add a zfs spa_t change missed in r235329

sys/cddl/boot is obviously not under sys/boot...

Pointed out by:	Jan Beich <jbeich@tormail.org>
Pointyhat to:	avg
MFC after:	1 month


git-svn-id: svn://svn.freebsd.org/base/head@235343 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
mdoc: use Po and Pc macros instead of parens. Also avoid starting a line
with Ns.


git-svn-id: svn://svn.freebsd.org/base/head@235344 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Flip on WN1043ND switch PHY support.

* Add the i2c bitbang bus;
* Add the etherswitch/rtl8366rb drivers;
* "fix" the USB GPIO configuration so USB actually works.

Submitted by:	Stefan Bethke <stb@lassitu.de>


git-svn-id: svn://svn.freebsd.org/base/head@235345 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revert this - I disabled it whilst hwpmc is/was broken.


git-svn-id: svn://svn.freebsd.org/base/head@235346 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Docuement requirement to alter some sysctls when using igb(4) with
jumbo frames.

PR:		153738
Submitted by:	Tom Judge (tom!tomjudge.com)
Discussed with:	jfv (in part, a long time ago...)
MFC after:	1 week


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