Fix buildworld when WITH_TESTS is enabled.

The addition of the TESTS knob and its enabling of the build of tests in
lib/libcrypt/tests/ broke the build.  The reason is that we cannot descend
into tests/ subdirectories until all prerequisites have been built, which
in the case of tests may be "a lot of things" (libatf-c in this case).

Ensure that we do not walk tests/ directories during the bootstrapping of
the libraries as part of buildworld.

Reviewed by:	freebsd-testing
Approved by:	rpaulo (mentor)
Add libatf-c++ to the prebuild libs.

Some tests may require C++ so we must ensure this library exists as part
of the bootstrap process or else they will fail to build.  Do this by
just depending on lib/atf as part of the bootstrap libraries instead of
using lib/atf/libatf-c.

Submitted by:	Garrett Cooper <yaneurabeya at gmail dot com>
Approved by:	rpaulo (mentor)
Subsume the functionality of MK_ATF into MK_TESTS.

There is no reason to keep the two knobs separate: if tests are
enabled, the ATF libraries are required; and if tests are disabled,
the ATF libraries are not necessary.  Keeping the two just serves
to complicate the build.

Reviewed by:	freebsd-testing
Approved by:	rpaulo (mentor)
Handle the removal of the test suite when WITHOUT_TESTS=yes.

Add all files from /usr/tests to the obsoleted files list when the
build of the tests is disabled via the WITHOUT_TESTS knob.  Do this
automatically so that we do not have to suffer the pain of maintaining
such list by hand.

Reviewed by:	freebsd-testing
Approved by:	rpaulo (mentor)
Install category Kyuafiles from their category directories.

Move the installation of /usr/tests/lib/Kyuafile from src/tests/lib/
to src/lib/.  This is to keep the src/tests/ hierarchy unaware of the
rest of the tree, which makes things clearer in general.  In particular:

1) Everything related to the construction of /usr/tests/lib/ is kept
   in src/lib/.  There is no need to think about different directories
   and how they relate to each other.  (The same applies for libexec,
   usr.bin, etc. but these are not yet handled.)

2) src/tests becomes the place to keep cross-functional test programs
   and nothing else, which also helps in simplifying things.

Reviewed by:	freebsd-testing
Approved by:	rpaulo (mentor)
Build and install the atf tests.

Reviewed by:	freebsd-testing
Approved by:	rpaulo (mentor)
As of r257209, all architectures have defined VM_KMEM_SIZE_SCALE.  In other
words, every architecture is now auto-sizing the kmem arena.  This revision
changes kmeminit() so that the definition of VM_KMEM_SIZE_SCALE becomes
mandatory and the definition of VM_KMEM_SIZE becomes optional.

Replace or eliminate all existing definitions of VM_KMEM_SIZE.  With
auto-sizing enabled, VM_KMEM_SIZE effectively became an alternate spelling
for VM_KMEM_SIZE_MIN on most architectures.  Use VM_KMEM_SIZE_MIN for
clarity.

Change kmeminit() so that the effect of defining VM_KMEM_SIZE is similar to
that of setting the tunable vm.kmem_size.  Whereas the macros
VM_KMEM_SIZE_{MAX,MIN,SCALE} have had the same effect as the tunables
vm.kmem_size_{max,min,scale}, the effects of VM_KMEM_SIZE and vm.kmem_size
have been distinct.  In particular, whereas VM_KMEM_SIZE was overridden by
VM_KMEM_SIZE_{MAX,MIN,SCALE} and vm.kmem_size_{max,min,scale}, vm.kmem_size
was not.  Remedy this inconsistency.  Now, VM_KMEM_SIZE can be used to set
the size of the kmem arena at compile-time without that value being
overridden by auto-sizing.

Update the nearby comments to reflect the kmem submap being replaced by the
kmem arena.  Stop duplicating the auto-sizing formula in every machine-
dependent vmparam.h and place it in kmeminit() where auto-sizing takes
place.

Reviewed by:	kib (an earlier version)
Sponsored by:	EMC / Isilon Storage Division
Remove 'inline' from ar9300_init_pll(), it's too big to inline.

Submitted by:	adrian@
Add bits for the AMD features from CPUID function 0x80000001 ECX,
described in the rev. 3.0 of the Kabini BKDG, document 48751.pdf.

Partially based on the patch submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Eliminate an unused macro.
Fix signal delivery for the iBCS2 binaries.  The iBCS2 sysvec uses
current FreeBSD signal trampoline, but does not specifies
sv_sigcode_base, since shared page is not mapped.  This results in the
zero %eip for the signal frame.  Fall back to calculating %eip as
offset from the psstrings when sv_sigcode_base is not initialized.

Reported by:	Rich Naill <rich@enterprisesystems.net>
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Fix typo in include guard, found by clang 3.4.

MFC after:	3 days
Initialize variable in sys/x86/iommu/busdma_dmar.c, to avoid possible
uninitialized use.

Reviewed by:	kib
Remove generate-release.sh from head/.

The release.sh (based heavily on generate-release.sh) has been
used for the 9.2-RELEASE and 10.0-RELEASE cycles, so make sure
there is no confusion on what is currently being used by having
two similar scripts.

A big "thank you" to Nathan Whitehorn, the author of the
generate-release.sh script, for writing this utility.

No objection:	nwhitehorn
MFC after:	never
Sponsored by:	The FreeBSD Foundation
Use explicit long cast to avoid overflow in bitopts.

This was causing problems with the buddy allocator inside of
ofed.

Submitted by: odeds
Fix for bad performance when mtu is increased.

Update the auto moderation behavior in the mlxen driver to match
the new LINUX OFED code.

Submitted by:	odeds
Do not use a sleep lock when protecting the driver flags.

This was causing a locking issue with lagg

Submitted by:	odeds
Fix typo in a comment.
Eliminate duplicated & dead code.

MFC after:	3 days
drm: Initialize "handle" to 0 before calling drm_gem_handle_create()

This is variable is being checked in drm_gem_name_create() before being
set.