Fix build.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247094 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix build.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247095 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Use critical_enter/critical_exit around the time sensitive part of
this code to depessimize the worst case we've lived with silently and
uneventfully for the past 12 years. Add a comment about a refinement
for those needing more assurance of accuracy.

Fix ddb's show rtc command deadlock potential when debugging rtc code
by not taking the lock if we're in the debugger. If you need a thumb
to count the number of people that have encountered this, I'd be
surprised.

Submitted by:	bde


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247101 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
In the EXAMPLES section: append the subsystem regular expression with a
typical interface name pattern as devd(8) uses full string match.

Discussed with:	avg, glebius


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247102 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix tcp_lro_rx_ipv4() for drivers that do not set CSUM_IP_CHECKED.
Specifcially, in_cksum_hdr() returns 0 (not 0xffff) when the IPv4
checksum is correct. Without this fix, the tcp_lro code will reject
good IPv4 traffic from drivers that do not implement IPv4 header
harder csum offload.

Sponsored by: Myricom Inc.

MFC after:	7 days


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247104 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove splsoftclock() since it is now gone.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247108 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
bus_dmamap_load_ccb doesn't exist on earlier versions of FreeBSD or
DragonFlyBSD, so it certainly doesn't need splsoftvm(). Remove it.

# I doubt this driver will now compile on older FreeBSD versions or DFBSD
# We should consider unifdefing it since that code seems unmaintained.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247109 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
splsoftvm() is no longer in the tree. gc.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247110 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Further refine the handling of stop signals in the NFS client.  The
changes in r246417 were incomplete as they did not add explicit calls to
sigdeferstop() around all the places that previously passed SBDRY to
_sleep().  In addition, nfs_getcacheblk() could trigger a write RPC from
getblk() resulting in sigdeferstop() recursing.  Rather than manually
deferring stop signals in specific places, change the VFS_*() and VOP_*()
methods to defer stop signals for filesystems which request this behavior
via a new VFCF_SBDRY flag.  Note that this has to be a VFC flag rather than
a MNTK flag so that it works properly with VFS_MOUNT() when the mount is
not yet fully constructed.  For now, only the NFS clients are set this new
flag in VFS_SET().

A few other related changes:
- Add an assertion to ensure that TDF_SBDRY doesn't leak to userland.
- When a lookup request uses VOP_READLINK() to follow a symlink, mark
  the request as being on behalf of the thread performing the lookup
  (cnp_thread) rather than using a NULL thread pointer.  This causes
  NFS to properly handle signals during this VOP on an interruptible
  mount.

PR:		kern/176179
Reported by:	Russell Cattelan (sigdeferstop() recursion)
Reviewed by:	kib
MFC after:	1 month


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247116 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
reorder so all the flags are together and make the PCLMUL flag unique..

This fixes the problem on amd64 miscompiling mpboot.s causing boot
issues...  We are still using gas for a few files in the kernel...

Submitted by:	kib
MFC after:	1 month


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247117 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
cxgbe(4): Add sysctls to extract debug information from the chip:

dev.t4nex.X.misc.cim_la         logic analyzer dump
dev.t4nex.X.misc.cim_qcfg       queue configuration
dev.t4nex.X.misc.cim_ibq_xxx    inbound queues
dev.t4nex.X.misc.cim_obq_xxx    outbound queues

Obtained from:	Chelsio
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247122 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Separate items in the list of System values with .Pp to ease readability.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247129 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Improve mxge's receive performance for IPv6:

- Add support for IPv6 rx csum offload
- Finally switch mxge from using its own driver lro, to
	using tcp_lro

MFC after:	7 days
Sponsored by: Myricom Inc.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247133 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Reflect CARP media-type departure.

X-MFC after:	never


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247134 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Disable debugging entries about BAW issues.  I haven't seen any issues
to do with BAW tracking in the last 9 months or so.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247135 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Document VFCF_SBDRY.

Reviewed by:	jhb
X-MFC with:	r247116


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247140 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add the ability to have a 'fallback' search for memory ranges.
These set of ranges will be looked at if a standard memory
range isn't found, and won't be installed in the cache.
Use this to implement the memory behaviour of the PCI hole on
x86 systems, where writes are ignored and reads always return -1.
This allows breakpoints to be set when issuing a 'boot -d', which
has the side effect of accessing the PCI hole when changing the
PTE protection on kernel code, since the pmap layer hasn't been
initialized (a bug, but present in existing FreeBSD releases so
has to be handled).

Reviewed by:	neel
Obtained from:	NetApp


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247144 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add a workaround for AR5416, AR9130 and AR9160 chipsets - work around
an incorrectly calculated RTS duration value when transmitting aggregates.

These earlier 802.11n NICs incorrectly used the ACK duration time when
calculating what to put in the RTS of an aggregate frame.  Instead it
should have used the block-ack time.  The result is that other stations
may not reserve enough time and start transmitting _over_ the top of
the in-progress blockack field.  Tsk.

This workaround is to popuate the burst duration field with the delta
between the ACK duration the hardware is using and the required duration
for the block-ack.  The result is that the RTS field should now contain
the correct duration for the subsequent block-ack.

This doesn't apply for AR9280 and later NICs.

Obtained from:	Qualcomm Atheros


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247145 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix build.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@247151 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Try harder to make mxge safe for all combinations of INET and INET6

- Re-fix build by restoring local removed in r247151, but protected
  by #if defined(INET) || defined(INET6) so that the compile
  succeeds in the !(INET||INET6) case.

- Protect call to in_pseudo() with an #ifdef INET, to allow
  a kernel to link with mxge when INET is not compiled in.

- Also remove an errant (improperly commented) obsolete debugging printf

Thanks to Glebius for pointing out the !(INET||INET6) build issue.

Sponsored by: Myricom

MFC After: 7 days


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