- Flatten the vendor heimdal tree.
- Disable keyword expansion on vendor heimdal code.
- Kill files that do not belong to the laters heimdal version imported.
- Import Heimdal 1.5 distribution.
- Update vendor tree of heimdal to 1.5.1.
Change mpt(4) probe to be an exact match to a PCI device ID.  The current
code makes the mpt(4) check for 0x005A and mistakenly attach to a mfi(4)
device 0x005B.  Without this fix, mpt(4) will panic if this mfi(4) card
is in the system.

Reviewed by:	mjacob
First cut at updating mfi(4) to support newer LSI MegaRAID SAS cards.
Specifically, add support for "Drake Skinny" and "ThunderBolt" LSI
cards.

Initial code was supplied by LSI under BSD license.  Several improvements
were done by myself.  Such things like making it work in a static kernel,
be able to boot of the RAID, performance improvements.  I removed some
fairly complicated code that seemed to directly access the disks under
the firmware.  It doesn't seem to be needed and significantly slowed
down the performance of the driver and caused tons of sense errors to
be reported.

This code is being checked in this area so others can help me get it into
shape to commit into the FreeBSD tree.  Assistance has been volunteered
by iXsystems.

We might want to re-work the JBOD attachment that creates /dev/mfisyspd?
node for each disk.

Performance is faster then prior cards.  It works okay with WITNESS
and INVARIANTS on amd64 and i386.  I recall seeing a use after
free time bug with FreeBSD 8 and a Drake Skinny card with WITNESS
and INVARIANTS on.

First task is get all of the new structures to be named in FreeBSD
style format.

Next is probably to deal with the 64bit addressing changes that are
mostly around the #ifdef __amd64__ checks.

Thanks to LSI for providing the initial code.

Obtained from:	LSI
Do not unnecessarily clear display memory when switching modes.

MFC after:	3 days
Use exact width integer types instead of long in struct env87 in
preparation to merge with amd64.

Reviewed by:	kib
Move userland bits of i386 npx.h and amd64 fpu.h to x86 fpu.h.
Remove FPU types from compat/ia32/ia32_reg.h that are no longer needed.
Create machine/npx.h on amd64 to allow compiling i386 code that uses
this header.

The original npx.h and fpu.h define struct envxmm differently. Both
definitions have been included in the new x86 header as struct __envxmm32
and struct __envxmm64. During compilation either __envxmm32 or __envxmm64
is defined as envxmm depending on machine architecture. On amd64 the i386
struct is also available as struct envxmm32.

Reviewed by:	kib
Add rudimentary profiling of the hash table used in the in the umtx code to
hold active lock queues.

Reviewed by:	attilio
Approved by:	davidxu, gnn (mentor)
MFC after:	3 weeks
Unhide /dev/zfs in devfsrules_jail.

The /dev/zfs device is required for managing jailed ZFS datasets.

Discussed with:	pjd, jamie
MFC after:	1 week
Remove gratuitous DEBUG_FLAGS="-g" setting (this is already the default
option with GENERIC kernels).

Reviewed by:	ken
Pull in a dependency on ALQ if it's compiled with IEEE80211_ALQ.
Add a dependency on ALQ if IEEE80211_ALQ and/or AH_DEBUG_ALQ is included.
Change the style of share/mk/bsd.sys.mk to that of the other bsd.*.mk
files, and style.Makefile(5), where applicable.  While here, update the
link to the gcc warning documentation.

No functional change.

MFC after:	1 week
Fix a couple of debugging outputs.

* printf -> device_printf
* print the buffer pointer and sequence number for any buffer that wasn't
  correctly tidied up before it was freed.  This is to aid in some
  current SMP TX debugging stalls.

PR:		kern/166190
Remove unnecessary static variable initializations and duplicate codes.
Consistently use bcopy(9) over memcpy(9).
Save and restore linear frame buffer between suspend and resume.

MFC after:	1 week
Begin fleshing out MII clock rate configuration changes.

These are needed for some particular port configurations where the default
speed isn't suitable for all link speed types. (Ie, changing 10/100/1000MBit
PLL rate requires a similar MII clock rate, rather than a fixed MII rate.)

This is:

* only currently implemented for the ar71xx;
* isn't used anywhere (yet), as the final interface for this hasn't yet
  been determined.