MFC r232263:

Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang       (disables -Werror)
- NO_WCAST_ALIGN.clang  (disables -Wcast-align)
- NO_WFORMAT.clang	(disables -Wformat and friends)
- CLANG_NO_IAS		(disables integrated assembler)
- CLANG_OPT_SMALL	(adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf!  For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp


git-svn-id: svn://svn.freebsd.org/base/stable/9@232930 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r228846:
Use READ CAPACITY(16) to get information about device physical sectors.
As soon as not all devices support READ CAPACITY(16), automatically fall
back to READ CAPACITY(10) if CAM_REQ_INVALID or SSD_KEY_ILLEGAL_REQUEST
status returned.

It also provides first bits of information about Logical Block Provisioning
(aka UNMAP/TRIM) support by the device.


git-svn-id: svn://svn.freebsd.org/base/stable/9@232941 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFc r229288:
Remove unneeded checks for CAM_DEV_QFRZN after cam_periph_runccb() call.
cam_periph_runccb() since the beginning checks it and releases device queue.
After r203108 it even clears CAM_DEV_QFRZN flag after that to avoid double
release, so removed code is unreachable now.


git-svn-id: svn://svn.freebsd.org/base/stable/9@232943 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge 231025 from head:
  Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and
  TCP_KEEPCNT, that allow to control initial timeout, idle time, idle
  re-send interval and idle send count on a per-socket basis.

  Reviewed by:  andre, bz, lstewart


git-svn-id: svn://svn.freebsd.org/base/stable/9@232945 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232660:
In batch mode, exit after receiving SIGINT, instead of immediate
output of the next display.


git-svn-id: svn://svn.freebsd.org/base/stable/9@232955 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232833:
Remove not needed ARGSUSED lint command.


git-svn-id: svn://svn.freebsd.org/base/stable/9@232956 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r232671: Add lib32 part for libutil after its version bump to 9.

PR:		misc/165523
Submitted by:	Andrey Zonov <andrey zonov org>


git-svn-id: svn://svn.freebsd.org/base/stable/9@232961 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC: r232822

Fix a bug introduced in r223938; on big-endian machines coping a 32-bit
quantum bytewise to the address of a 64-bit variable results in writing
to the "wrong" 32-bit half so adjust the address accordingly. This fix
is implemented in a hackish way for two reasons:
o in order to be able to get it into 8.3 with zero impact on the little-
  endian architectures where this bug has no effect and
o to avoid blowing the x86 boot2 out of the water again when compiling
  it with clang, which all sane versions of this fix tested do.
This change fixes booting from UFS1 file systems on big-endian machines.


git-svn-id: svn://svn.freebsd.org/base/stable/9@232962 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge remote-tracking branch 'upstream/svn_stable_9' into svn_stable_9